SlideShare a Scribd company logo
1 of 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/
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)

2
Challenge for out of Legacy System

Challenging!!
3
Rakuten’s Business Eco-System
Various Services can be used by one-stop place through the Internet
・Shopping Mall
・Auction

Today’s target

・Advertising
・Streaming
・Downloading
・Recruitment
・Marriage

E-Commerce
Business
Portal/Media
Business
Business
Business
Application
Application
Media

・Credit Card
Business
Business
Credit and
Application
Application
Payment Business

Rakuten ID
Membership
Database
Banking
Business
Business
Business
Application
Application

Business
Business
Travel
Application
Application
Business

・Hotels and Facilities
・Air Tickets
・Dynamic Packages

Business
Business
Telecommunications
Application
Application
Business

・Payment
・Consumer Loan

Securities
Business
Business
Business
Application
Application

・Fixed IP Telephony
・Mobile IP Telephony

・Stocks
・Bonds
・Trust Founds
・FX

4
Scale of Rakuten Ichiba

Merchants

:42,000+

Items

:1.7 billion +

Registered

Members
Gross

:78 mil +

Merchant Sales :

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

5
Rakuten Ichiba Service Overview
 RMS (Rakuten Merchandise System)
– Applications for Merchant .
– Applications for Consumer.

Data analyze for
internal

R-backoffice

R-storefront

GMS(Gross

Merchant

merchant sales)
Reporting

DB
R-Navigation

Consumer

R-Page

html

DWH
R-checkout

6
Rakuten’s Issue
Go to “become
the No. 1 Internet
services company
in the world”

But…
SYSTEM
STRUCTURE…
7
Problem of Our System

Application having
complicated dependence..
8
Problem of Our System

System stops with once a month
11times in a year
Call “Regular maintenance” (added oyastu)
9
Detail of our problem
R-backoffice

R-storefront

Order api

Application
APP

synchronous
process

Inventory
DB

Application
APP

APP

View
LOGIC

High load

synchronous
process

LOGIC

DAO

DAO
Dependence
logic

orderDB

 Synchronous at DB
 Heavy depend on
application
 High load DB

R-checkout
Checkout
api
APP

Application
APP

View

Dependence
logic

LOGIC

LOGIC

DAO

DAO
10
Resolve an issue ~step 1
R-backoffice

R-storefront

Order api

Application
APP

synchronous
process

Inventory
DB

Application
APP

APP

View
LOGIC

LOGIC

DAO

DAO
Dependence
logic

High load
synchronous
process

orderDB

R-checkout
Checkout
api

Non stop
Checkout

APP

Application
APP

View

Dependence
logic

LOGIC

LOGIC

DAO

DAO
11
Detail of Resolve an issue ~step1
After

Before

Application Application
APP

APP

State management

View
View
LOGIC
DAO
Dependence
logic

Checkout
api
synchronous
process APP

LOGIC

APP

APP

LOGIC

Checkout
api

loosely-coupled
logic

DAO

APP

DAO

State management

2PhaseCommit
Order
DB

UI
UI
Application Application

Inventory
DB

kvs
solution

asynchronous
process

Inventory
DB

Order
DB

: Queue

12
Resolve an issue ~step 2
R-backoffice

R-storefront

Order api

Application
APP

synchronous
process

Inventory
DB

Application
APP

APP

View
LOGIC
synchronous
process

High load

orderDB

Easily Scale up
at Backoffice

kvs
solution

LOGIC

DAO

DAO
Dependence
logic

R-checkout
Checkout
api
APP

Application
APP

LOGIC

View

DAO

13
Detail of Resolve an issue ~step2

Before

After

Complicated search
conditions

Complicated search
conditions

many update order
status

many update order
status

View

View

Application

Application

LOGIC
DAO

APP

Order
api

Order
api

LOGIC
DAO

APP

synchronous
process

APP

Checkout
api
APP

Order
DB

High load

LOGIC
DAO

APP

From checkout
kvs
solution

loosely-coupled
logic

Data
cache

From checkout
kvs
solution

kvs
solution

asynchronous
process

Checkout
api
APP

Order
DB

Decrease
load
14
Resolve an issue ~step 3
R-backoffice

R-storefront

Order api

Application
APP

synchronous
process

Inventory
DB

APP

APP

synchronous
process

Application

LOGIC

View

DAO
kvs
solution

orderDB
kvs
solution

Realize 24/7

R-checkout
Checkout
api
APP

Application
APP

LOGIC

View

DAO

15
Detail of Resolve an issue ~step3
After

Before

Application

UI
UI
ApplicationApplication
APP

APP

APP

Application

UI
UI
ApplicationApplication
APP

APP

APP

Checkout
api

Checkout
api

APP
APP

synchronous
process

Inventory created api for
inventory update
api
APP

invetory
DB

asynchronous
process

invetory
DB

kvs
solution
16
After Resolving our Problem
R-backoffice

R-storefront
Application

Inventory
DB
kvs
solution

APP

Application

Order api

APP

APP

View

LOGIC

inventory
api

DAO

5years
From DB
 Asynchronous at 2009 to 2013
APP

kvs
solution

R-checkout

 Loosely-coupled
Logic
 Decrease load at DB

Checkout
api
APP

orderDB

kvs
solution

Application
APP

LOGIC

View

DAO
: Queue

17
Summary
 Our system make possible to scale up easily,
so we can catch up with
business growth rapidly.

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

To Improve a system..

We had chosen coherence.

kvs
solution

=
18
Last message

Challenging!!
19
Thank you for your listening

Thank You
For Listening!!
20

More Related Content

Viewers also liked

AI Playing Go and Driving Cars, What’s Next?
AI Playing Go and Driving Cars, What’s Next?AI Playing Go and Driving Cars, What’s Next?
AI Playing Go and Driving Cars, What’s Next?Rakuten Group, Inc.
 
Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”Rakuten Group, Inc.
 
Effective Communication in Multicultural Teams
Effective Communication in Multicultural TeamsEffective Communication in Multicultural Teams
Effective Communication in Multicultural TeamsRakuten Group, Inc.
 
The Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QAThe Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QARakuten Group, Inc.
 
Large-Scale Machine Learning for E-commerce
Large-Scale Machine Learning for E-commerceLarge-Scale Machine Learning for E-commerce
Large-Scale Machine Learning for E-commerceRakuten Group, Inc.
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Group, Inc.
 
USING VISION SENSORS FOR INNOVATIVE HCI
USING VISION SENSORS FOR INNOVATIVE HCIUSING VISION SENSORS FOR INNOVATIVE HCI
USING VISION SENSORS FOR INNOVATIVE HCIRakuten Group, Inc.
 
Huge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EEHuge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EERakuten Group, Inc.
 
IBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive ComputingIBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive ComputingRakuten Group, Inc.
 
Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)Rakuten Group, Inc.
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関してRakuten Group, Inc.
 
Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Rakuten Group, Inc.
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージRakuten Group, Inc.
 

Viewers also liked (18)

AI Playing Go and Driving Cars, What’s Next?
AI Playing Go and Driving Cars, What’s Next?AI Playing Go and Driving Cars, What’s Next?
AI Playing Go and Driving Cars, What’s Next?
 
Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”Creating a team of DevOps “Super Sentai”
Creating a team of DevOps “Super Sentai”
 
Effective Communication in Multicultural Teams
Effective Communication in Multicultural TeamsEffective Communication in Multicultural Teams
Effective Communication in Multicultural Teams
 
The Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QAThe Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QA
 
Introduction to Mindfulness
Introduction to MindfulnessIntroduction to Mindfulness
Introduction to Mindfulness
 
Large-Scale Machine Learning for E-commerce
Large-Scale Machine Learning for E-commerceLarge-Scale Machine Learning for E-commerce
Large-Scale Machine Learning for E-commerce
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016
 
USING VISION SENSORS FOR INNOVATIVE HCI
USING VISION SENSORS FOR INNOVATIVE HCIUSING VISION SENSORS FOR INNOVATIVE HCI
USING VISION SENSORS FOR INNOVATIVE HCI
 
Designing kinder Experiences
Designing kinder ExperiencesDesigning kinder Experiences
Designing kinder Experiences
 
Experiences with PlayStation VR
Experiences with PlayStation VRExperiences with PlayStation VR
Experiences with PlayStation VR
 
Huge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EEHuge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EE
 
Retail 2.0 Strategy - Perfect Store PDF
Retail 2.0 Strategy - Perfect Store PDFRetail 2.0 Strategy - Perfect Store PDF
Retail 2.0 Strategy - Perfect Store PDF
 
IBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive ComputingIBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive Computing
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して
 
Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)Introduction to Deep Learning (NVIDIA)
Introduction to Deep Learning (NVIDIA)
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

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

  • 1. 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/
  • 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) 2
  • 3. Challenge for out of Legacy System Challenging!! 3
  • 4. Rakuten’s Business Eco-System Various Services can be used by one-stop place through the Internet ・Shopping Mall ・Auction Today’s target ・Advertising ・Streaming ・Downloading ・Recruitment ・Marriage E-Commerce Business Portal/Media Business Business Business Application Application Media ・Credit Card Business Business Credit and Application Application Payment Business Rakuten ID Membership Database Banking Business Business Business Application Application Business Business Travel Application Application Business ・Hotels and Facilities ・Air Tickets ・Dynamic Packages Business Business Telecommunications Application Application Business ・Payment ・Consumer Loan Securities Business Business Business Application Application ・Fixed IP Telephony ・Mobile IP Telephony ・Stocks ・Bonds ・Trust Founds ・FX 4
  • 5. Scale of Rakuten Ichiba Merchants :42,000+ Items :1.7 billion + Registered Members Gross :78 mil + Merchant Sales : 1.1tri. JPY(2013) ≒12.5 bil. USD 5
  • 6. Rakuten Ichiba Service Overview  RMS (Rakuten Merchandise System) – Applications for Merchant . – Applications for Consumer. Data analyze for internal R-backoffice R-storefront GMS(Gross Merchant merchant sales) Reporting DB R-Navigation Consumer R-Page html DWH R-checkout 6
  • 7. Rakuten’s Issue Go to “become the No. 1 Internet services company in the world” But… SYSTEM STRUCTURE… 7
  • 8. Problem of Our System Application having complicated dependence.. 8
  • 9. Problem of Our System System stops with once a month 11times in a year Call “Regular maintenance” (added oyastu) 9
  • 10. Detail of our problem R-backoffice R-storefront Order api Application APP synchronous process Inventory DB Application APP APP View LOGIC High load synchronous process LOGIC DAO DAO Dependence logic orderDB  Synchronous at DB  Heavy depend on application  High load DB R-checkout Checkout api APP Application APP View Dependence logic LOGIC LOGIC DAO DAO 10
  • 11. Resolve an issue ~step 1 R-backoffice R-storefront Order api Application APP synchronous process Inventory DB Application APP APP View LOGIC LOGIC DAO DAO Dependence logic High load synchronous process orderDB R-checkout Checkout api Non stop Checkout APP Application APP View Dependence logic LOGIC LOGIC DAO DAO 11
  • 12. Detail of Resolve an issue ~step1 After Before Application Application APP APP State management View View LOGIC DAO Dependence logic Checkout api synchronous process APP LOGIC APP APP LOGIC Checkout api loosely-coupled logic DAO APP DAO State management 2PhaseCommit Order DB UI UI Application Application Inventory DB kvs solution asynchronous process Inventory DB Order DB : Queue 12
  • 13. Resolve an issue ~step 2 R-backoffice R-storefront Order api Application APP synchronous process Inventory DB Application APP APP View LOGIC synchronous process High load orderDB Easily Scale up at Backoffice kvs solution LOGIC DAO DAO Dependence logic R-checkout Checkout api APP Application APP LOGIC View DAO 13
  • 14. Detail of Resolve an issue ~step2 Before After Complicated search conditions Complicated search conditions many update order status many update order status View View Application Application LOGIC DAO APP Order api Order api LOGIC DAO APP synchronous process APP Checkout api APP Order DB High load LOGIC DAO APP From checkout kvs solution loosely-coupled logic Data cache From checkout kvs solution kvs solution asynchronous process Checkout api APP Order DB Decrease load 14
  • 15. Resolve an issue ~step 3 R-backoffice R-storefront Order api Application APP synchronous process Inventory DB APP APP synchronous process Application LOGIC View DAO kvs solution orderDB kvs solution Realize 24/7 R-checkout Checkout api APP Application APP LOGIC View DAO 15
  • 16. Detail of Resolve an issue ~step3 After Before Application UI UI ApplicationApplication APP APP APP Application UI UI ApplicationApplication APP APP APP Checkout api Checkout api APP APP synchronous process Inventory created api for inventory update api APP invetory DB asynchronous process invetory DB kvs solution 16
  • 17. After Resolving our Problem R-backoffice R-storefront Application Inventory DB kvs solution APP Application Order api APP APP View LOGIC inventory api DAO 5years From DB  Asynchronous at 2009 to 2013 APP kvs solution R-checkout  Loosely-coupled Logic  Decrease load at DB Checkout api APP orderDB kvs solution Application APP LOGIC View DAO : Queue 17
  • 18. Summary  Our system make possible to scale up easily, so we can catch up with business growth rapidly.  we can do system maintenance easily and easily modify/delete application dependencies. Reduction To Improve a system.. We had chosen coherence. kvs solution = 18
  • 20. Thank you for your listening Thank You For Listening!! 20