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

Preview:

DESCRIPTION

Rakuten Technology Conference 2014 "Rakuten Travel Architecture and Development Process" Shunsuke Hoshino, Mitsuru Saito (Rakuten)

Citation preview

Rakuten Travel Architecture and

Development Process

October/25/2014

Shunsuke Hoshino / Mitsuru Saito

Travel Development Department, Rakuten Inc.

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

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

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

4

Increasing Rate of Servers

Server

Server

5

Rakuten Travel Services

Domestic Hotels

Overseas Hotels

6

Rakuten Travel Services

Highway Bus

Rental Cars

7

Rakuten Travel Services

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

8

Multilingual Site

Rakuten Travel Services

9

Native Application for Smart Devices

Rakuten Travel Services

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

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

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

13

System Overview of Rakuten Travel

14

Challenges of Recent Travel

Too Many Manual Processes

System Complexity

Old Technology(PL/SQL, C)

Dependency on Single Technology

Non transparent product development

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

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

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

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

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

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

21

Elimination of Legacy System

Convert

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

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

24

Architecture NoSQL DB

Shard 1 Shard 2 Shard 3

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

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

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

Clear Responsibilities

• High level talent per role is required

PDM

Designer

Engineer

Tester

29

Rakuten Travel PDM

Define and design products and services

that delight customers

and add strategic value to Rakuten

30

Rakuten Travel PDM Mission

31

PDM Cycle for Great Products

Framing

Ideations

Spec

Keeping Rhythm

Evangelization

Customer review

Development Process

Wishlist PRDDev Spec

Test Spec

Develop Test Release

Documents

Actions

Product Requirements Document

• Clear definition of requirements

• Sign-off process with managers

• Base document for dev spec and test spec

34

Quality Assurance

QA team

2014 12

2015 20

The volume of members

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!

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

37

Design

Development

QARelease

Improvement/

Measurement

Automation

Full-swing

introduction in All

services.

Staging

38

Revise The Process

Design

Implement

Test

Test

39

Jenkins

40

Next Challenge of Rakuten Travel

24/5 Development

T.R.I.P.

DEV-OPS

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)

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

Recommended