Top Banner
Rakuten Travel Architecture and Development Process October/25/2014 Shunsuke Hoshino / Mitsuru Saito Travel Development Department, Rakuten Inc. http://travel.rakuten.co.jp/
42

[Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Jul 03, 2015

Download

Technology

Rakuten, Inc

Rakuten Technology Conference 2014
"Rakuten Travel Architecture and Development Process"
Shunsuke Hoshino, Mitsuru Saito (Rakuten)
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Rakuten Travel Architecture and

Development Process

October/25/2014

Shunsuke Hoshino / Mitsuru Saito

Travel Development Department, Rakuten Inc.

http://travel.rakuten.co.jp/

Page 2: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

2

History of Rakuten Travel

Service started on January 1996 as “ホテルの窓口” with just 2 PCs.

Started with just 2 PCs

Network : 128Kbps

Browser : Netscape 2.0

Fax by Manual => Automatic

Process by Windows3.1

Page 3: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

3

History of Rakuten Travel

1996 - 1999ホテルの窓口

1999 - 2004My trip net

2001 - 2004Rakuten Travel

2003 M&A by

Rakuten Inc.

2004 Integration into Rakuten Travel

http://www.mytrip.net/

http://travel.rakuten.co.jp/

Business Model by 旅の窓口Service Name by 楽天トラベル

Integration of Rakuten Travel

Page 4: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

4

Increasing Rate of Servers

Server

Server

Page 5: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

5

Rakuten Travel Services

Domestic Hotels

Overseas Hotels

Page 6: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

6

Rakuten Travel Services

Highway Bus

Rental Cars

Page 7: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

7

Rakuten Travel Services

Air (ANA, JAL) + Hotel Overseas Air+Hotel

Page 8: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

8

Multilingual Site

Rakuten Travel Services

Page 9: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

9

Native Application for Smart Devices

Rakuten Travel Services

Page 10: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

10

Web Booking ASP

for Original Home Page

Call Center

Corporate Travel

Open API

http://travel.rakuten.co.jp/corporation/demand.html

http://travel.rakuten.co.jp/callcenter/

http://travel.rakuten.co.jp/webservice/

Rakuten Travel Services

Page 11: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

11

Product Map of Travel

DB/KVS/BigData

Private APIc

Product

Hotel

(package)

Search EngineBooking

Process

Vacant Search

AD

FAX

Mobile

Review

Keyword

Search

Retargeting/

Personalization

Booking

Sight

seeing

Hotel’s

Extranet

R-with

Bus

Car Rental

In-house

tool

Overseas

air

Overseas

hotel

Overseas

DP

JAL

Raku-pack

ANA

Raku-Pack

R-connect

(Connect hotels)

SearchAPI

ID

Point

Coupon

Payment

Rakuten

Travel Mail

Platform

Overseas Website

Product

DB/DataStore

API

My Page

Corporate

Booking

Accounting

Smartphone

Apps

Prize

Mail-

magazineR-mail

MasterInventory

Price

ReviewLog

room

Car Rental

Hotel

(overseas)

Booking

Confirmation

・・・

OEM

Open

PlatformAffiliate

Airline Company/ Whole Seller/ outside engine

WTS GMO ECON

Chain Hotels

BI Tool

Car Rental

connect APICar Rental

Company

DWH

inventory

pricing

BookingAPI

Booking

Air ticket

Management

Review

・・・

Amazon

SAP

Page 12: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Search Engine(plsql)

Solr

Qsol

roma

fee

Stock

Info

Rsv

DB

Review

Timesten

Product

Database

API

R-connect

Hotel

Web Service

Rakuten

Web Service

ana

jal

GMO

ECON

WTS

MIKI

GTA

External API

Overseas

PMS

Da

ta S

yn

c

Data SyncAPI

API

DP

rax-api

air-ws

Data Store

Personal Page

api

ID

Point

Coupon

Payment

Rakuten

Review

Keyword

Search

Ashiato

Hotel

ManagementR-withBusRent a car

In-house

tool

Reservation

Japan Hotel Search

Date Map Station

Overseas

air

Overseas

hotel

Overseas

DP

JAL

ANA

F

R-download

Download

Racco

R-mailMailmagazine

Prize

AD

Coupon

Access Log

EJC/iNu

Sales Accountant BU

Internal Operation Tool

FAX

APITravel Mail Platform

F

fee

Stock

Info

Rsv

Review

China DB

Air Hotel DPFF

F

Overseas Website

VPN

Booking

MQ

F

F

Ainori

...

App

Zenrin

Google

Private Cloud

PaaS

Tabi Note

F

System Overview of Rakuten Travel

Amazon

Hadoop

Data Warehouse

SAP

Page 13: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

13

System Overview of Rakuten Travel

Page 14: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

14

Challenges of Recent Travel

Too Many Manual Processes

System Complexity

Old Technology(PL/SQL, C)

Dependency on Single Technology

Non transparent product development

Page 15: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

15

Challenges of Recent Travel

Too Many Manual Process

System Complexity

Old Technology(PL/SQL, C)

Dependency on A Single Technology

Non Transparent Product Development

Page 16: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Search Engine(plsql)

Solr

Qsol

roma

fee

Stock

Info

Rsv

DB

Review

Timesten

Product

Database

API

R-connect

Hotel

Web Service

Rakuten

Web Service

ana

jal

GMO

ECON

WTS

MIKI

GTA

External API

Overseas

PMS

Da

ta S

yn

c

Data SyncAPI

API

DP

rax-api

air-ws

Data Store

Personal Page

api

ID

Point

Coupon

Payment

Rakuten

Review

Keyword

Search

Ashiato

Hotel

ManagementR-withBusRent a car

In-house

tool

Reservation

Japan Hotel Search

Date Map Station

Overseas

air

Overseas

hotel

Overseas

DP

JAL

ANA

F

R-download

Download

Racco

R-mailMailmagazine

Prize

AD

Coupon

Access Log

EJC/iNu

Sales Accountant BU

Internal Operation Tool

FAX

APITravel Mail Platform

F

fee

Stock

Info

Rsv

Review

China DB

Air Hotel DPFF

F

Overseas Website

VPN

Booking

MQ

F

F

Ainori

...

App

Zenrin

Google

Private Cloud

PaaS

Tabi Note

F

System Overview of Rakuten Travel

Amazon

Data Warehouse

SAP

Many services are dependent

Hadoop

Page 17: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

17

Platform Strategy

Smart Phone ServerUser Layer

Travel Front services

API I/Ffor alliance

Domestic Overseas TransportEtc.

Search API Booking APIInventory

APIHotel API Etc.

Inside Travel APIs

Connect to Travel services

PC

Data

Inventory Search

Update Inventory

Hotel Information

Enhance API layer

Page 18: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

18

Example of API-nization

Master

Slave

Oracle

ExtranetHotel

User

Multilingual Travel Site

Bookin

g A

PI, S

earc

h A

PI

Invento

ry A

PI

Memory Bus

NoSQL DB

Page 19: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

19

Challenges of Recent Travel

Too Many Manual Process

System Complexity

Old Technology(PL/SQL, C)

Dependency on A Single Technology

Non Transparent Product Development

Page 20: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Search Engine(plsql)

Solr

Qsol

roma

fee

Stock

Info

Rsv

DB

Review

Timesten

Product

Database

API

R-connect

Hotel

Web Service

Rakuten

Web Service

ana

jal

GMO

ECON

WTS

MIKI

GTA

External API

Overseas

PMS

Da

ta S

yn

c

Data SyncAPI

API

DP

rax-api

air-ws

Data Store

Personal Page

api

ID

Point

Coupon

Payment

Rakuten

Review

Keyword

Search

Ashiato

Hotel

ManagementR-withBusRent a car

In-house

tool

Reservation

Japan Hotel Search

Date Map Station

Overseas

air

Overseas

hotel

Overseas

DP

JAL

ANA

F

R-download

Download

Racco

R-mailMailmagazine

Prize

AD

Coupon

Access Log

EJC/iNu

Sales Accountant BU

Internal Operation Tool

FAX

APITravel Mail Platform

F

fee

Stock

Info

Rsv

Review

China DB

Air Hotel DPFF

F

Overseas Website

VPN

Booking

MQ

F

F

Ainori

...

App

Zenrin

Google

Private Cloud

PaaS

Tabi Note

F

System Overview of Rakuten Travel

Amazon

Data Warehouse

SAP

Many P/L SQL and C

Hadoop

Page 21: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

21

Elimination of Legacy System

Convert

Page 22: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

22

Challenges of Recent Travel

Too Many Manual Process

System Complexity

Old Technology(PL/SQL, C)

Dependency on A Single Technology

Non Transparent Product Development

Page 23: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

23

Current Search Architecture

English site

To Japan

Booking

Domestic

DP Search

Domestic

SearchHotel Info

Other Travel Service

For PL/SQL

Sync

DB Link

Inefficiency of cost

Difficulty of scale out

Page 24: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

24

Architecture NoSQL DB

Shard 1 Shard 2 Shard 3

Page 25: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

25

NoSQL DB for Multilingual Site

Search API

Inventory Core

FRONT Service

Booking

Cancel

Queue

Documents

Stock/Price

Get Documents

Search / Result

dirver

Stock

Price

Documents

Page 26: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

26

Challenges of Recent Travel

Too Many Manual Process

System Complexity

Old Technology(PL/SQL, C)

Dependency on A Single Technology

Non Transparent Product Development

Page 27: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

27

Non Transparent Product Development

Non clear responsibilities

Short sight vision

No definition of the products

Random process to develop

Lower quality products and services

Page 28: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Clear Responsibilities

• High level talent per role is required

PDM

Designer

Engineer

Tester

Page 29: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

29

Rakuten Travel PDM

Define and design products and services

that delight customers

and add strategic value to Rakuten

Page 30: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

30

Rakuten Travel PDM Mission

Page 31: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

31

PDM Cycle for Great Products

Framing

Ideations

Spec

Keeping Rhythm

Evangelization

Customer review

Page 32: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Development Process

Wishlist PRDDev Spec

Test Spec

Develop Test Release

Documents

Actions

Page 33: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

Product Requirements Document

• Clear definition of requirements

• Sign-off process with managers

• Base document for dev spec and test spec

Page 34: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

34

Quality Assurance

QA team

2014 12

2015 20

The volume of members

Page 35: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

What Has Been Improved So Far

• Easier to prioritize projects

• No extra tasks for designers and developers

• Test cases are easier to write

• No back and forth development

We are managing over

60 projects!

Page 36: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

36

Challenges of Recent Travel

Too Many Manual Process

System Complexity

Old Technology(PL/SQL, C)

Dependency on A Single Technology

Non Transparent Product Development

Page 37: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

37

Design

Development

QARelease

Improvement/

Measurement

Automation

Full-swing

introduction in All

services.

Staging

Page 38: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

38

Revise The Process

Design

Implement

Test

Test

Page 39: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

39

Jenkins

Page 40: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

40

Next Challenge of Rakuten Travel

24/5 Development

T.R.I.P.

DEV-OPS

Page 41: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

41

24/5 Global Development Team

Travel development team aims to develop all over the world for 24/5 development.

France

India

Japan We are planning to establish

development team.

1. India development team

(From mid of 2015)

2. France development team

(From 2016)

Page 42: [Rakuten TechConf2014] [B-6] Rakuten Travel Architecture and Development Process

42

T.R.I.P

Osaka DC

Tokyo DC

We start to use Rakuten DC from 2015

Osaka DC Tokyo DC

Real 67% 21%

VM 33% 79%

Virtualization Ration

・Increase the Virtualization

・New Infrastructure Architecture