20
Best Practices of Scale-up and non-stop for Legacy System ~Challenge of Rakuten Ichiba Vol.01 Feb/26/2013 Noboru Ochiai Japan Ichiba Section Rakuten Ichiba Development Department, Rakuten Inc. http://www.rakuten.co.jp/

[RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

Embed Size (px)

DESCRIPTION

Rakuten Technology Conference 2013 "Best Practices of Scale-up and non-stop for Legacy System ~Challenge of Rakuten Ichiba" Noboru Ochiai (Rakuten)

Citation preview

Page 1: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

Best Practices of Scale-up and non-stop for Legacy System~Challenge of Rakuten Ichiba

Vol.01   Feb/26/2013Noboru OchiaiJapan Ichiba SectionRakuten Ichiba Development Department, Rakuten Inc.http://www.rakuten.co.jp/

Page 2: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

2

Who are we?

Noboru Ochiai   Japan Ichiba Section

   Rakuten Ichiba Development Dept.

   Rakuten, Inc.

https://www.facebook.com/imonikai→Let’s join it!! 11/16(Sun)

Page 3: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

3

Challenge for out of Legacy System

Challenging!!

Page 4: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

4

Rakuten’s Business Eco-System

Rakuten IDMembership

Database

・ Hotels and Facilities・ Air Tickets・ Dynamic Packages

・ Stocks・ Bonds・ Trust Founds・ FX

・ Advertising・ Streaming ・ Downloading・ Recruitment・ Marriage

・ Credit Card

BusinessApplicationBusiness

ApplicationTravel

Business

BusinessApplicationBusiness

Application

Securities

BusinessBusiness

ApplicationBusiness

ApplicationTelecommunications

Business

BusinessApplicationBusiness

Application

Portal/Media

Business

Media

BusinessApplicationBusiness

ApplicationCredit and

Payment Business

BusinessApplicationBusiness

Application

Banking

Business

・ Payment・ Consumer Loan

Various Services can be used by one-stop place through the Internet

Today’s target

・ Fixed IP Telephony・ Mobile IP Telephony

E-Commerce

Business

・ Shopping Mall・ Auction

Page 5: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

5

Scale of Rakuten Ichiba

Merchants : 42,000+

Items : 1.7 billion +

Registered Members : 78 mil +

Gross Merchant Sales :

1.1tri. JPY ( 2013 ) ≒ 12.5 bil. USD

Page 6: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

6

Rakuten Ichiba Service Overview

Merchant

Consumer html

RMS (Rakuten Merchandise System)– Applications for Merchant .– Applications for Consumer.

R-storefront

DB

R-Page R-Navigation

R-backoffice

DWH

GMS(Gross merchant sales)

Reporting

Data analyze forinternal

R-checkout

Page 7: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

7

Rakuten’s Issue

But…SYSTEM  

STRUCTURE…

Go to “become the No. 1 Internet services company in the world”

Page 8: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

8

Problem of Our System

Application having complicated dependence..

Page 9: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

9

Problem of Our System

System stops with once a month11times in a yearCall “Regular maintenance” (added oyastu)

Page 10: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

10

Detail of our problem

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Dependence logic

Application

LOGIC

DAO

LOGIC

DAO

View

synchronous processHigh load

Dependence logic

R-checkout

Synchronous at DB Heavy depend on

application High load DB

Page 11: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

11

Resolve an issue ~step 1

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Application

LOGIC

DAO

LOGIC

DAO

View

synchronous process

High load

Non stop Checkout

Dependence logic

Dependence logic

R-checkout

Page 12: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

12

synchronous process

Detail of Resolve an issue ~step1

2PhaseCommit

APP

APP

APP

Application View

LOGIC

DAO

InventoryDB

OrderDB

APP

Application

State management

APP

UIApplication

APP

State management

Checkoutapi

Checkoutapi

InventoryDB

OrderDB

kvs solution

UIApplication

loosely-coupled logic

asynchronous process

LOGIC

DAO

Dependence logic

View

LOGIC

DAO

Before After

: Queue

Page 13: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

13

Resolve an issue ~step 2

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

View

LOGIC

DAO

LOGIC

DAO

synchronous process

Application

LOGIC

DAO

View

synchronous process

High load

Easily Scale up at Backoffice

Dependence logic

R-checkoutkvs solution

Page 14: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

14

Detail of Resolve an issue ~step2

synchronous process

APP

APP

ApplicationView

LOGIC

DAO

OrderDB

Orderapi

loosely-coupled logic

LOGIC

DAO

High load

many update order status

Complicated search conditions

APP

Checkoutapi

kvs solution

From checkout

APP

APP

ApplicationView

OrderDB

Orderapi

LOGIC

DAO

many update order status

Complicated search conditions

APP

Checkoutapi

kvs solution

From checkout

kvs solution

asynchronous process

Data cache

Decreaseload

Before After

Page 15: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

15

Resolve an issue ~step 3

Realize 24/7

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

ViewLOGIC

DAO

synchronous process

Application

LOGIC

DAO

View

synchronous process

R-checkoutkvs solution

kvs solution

Page 16: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

16

Detail of Resolve an issue ~step3

synchronous process

APP

Application

invetoryDB

APP

Checkoutapi

APP

UIApplication

APP

UIApplication

APP

Application

invetoryDB

APP

Checkoutapi

APP

UIApplication

APP

UIApplication

APP

Inventoryapi

kvs solution

created api for inventory update

asynchronous process

Before After

Page 17: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

17

After Resolving our Problem

R-backofficeR-storefront

InventoryDB

orderDB

Application

APPAPPAPP

ApplicationOrder api

APPAPP

Checkoutapi

ViewLOGIC

DAO

Application

LOGIC

DAO

View

R-checkout

APP

inventoryapi

kvs solution

kvs solution

kvs solution

Asynchronous at DB Loosely-coupled

Logic Decrease load at DB

: Queue

5yearsFrom 2009 to 2013

Page 18: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

18

Summary

Our system make possible to scale up easily,

so we can catch up with

business growth rapidly.

We had chosen coherence.

we can do system maintenance easily and easily modify/delete application dependencies.

To Improve a system..

Reduction

kvs solution =

Page 19: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

19

Last message

Challenging!!

Page 20: [RakutenTechConf2013] [B-3_1] Challenge of Rakuten Ichiba

20

Thank you for your listening

Thank You

For Listening!!