88
ICHIBA Architecture On Exalogic Oct/25/2014 Euncheol Kweon / Watanabe Ryu EC Core Platform Group ICE Project Team.

[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

Embed Size (px)

DESCRIPTION

Rakuten Technology Conference 2014 "Ichiba Architecture on ExaLogic" Euncheol Kweon, Ryu Watanabe (Rakuten)

Citation preview

Page 1: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

ICHIBA Architecture

On Exalogic Oct/25/2014

Euncheol Kweon / Watanabe Ryu

EC Core Platform Group ICE Project Team.

Page 2: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

1

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 3: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

2

About This Presentation

1. Exalogic Architecture

2. Exalogic Operation On OZ Manager

- Euncheol Kweon

- Watanabe Ryu

Page 4: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

3

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 5: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

4

No.1 EC Site in Japan

Page 6: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

5

No.1 EC Site in Japan

Page 7: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

6

Biz App

Biz API

Biz API

Biz App

Biz APIBiz App

Biz App

Page 8: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

7

Physical Servers

Database

Middleware

Business Application

Network

Service Components

Operation

Page 9: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

8

Service A Service BService C

Service D

Service E

Service F Service G

Many Servers for Service

Many Engineers for Operation

Page 10: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

9

Heavy LowHeavy

High

High

Heavy Low

Many Engineers for Operation

Operational Efficiency

Page 11: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

10

0

1

2

3

4

5

6

00:0

001:0

002:0

003:0

004:0

005:0

006:0

007:0

008:0

009:0

010:0

011:0

012:0

013:0

014:0

015

:00

16:0

017:0

018:0

019:0

020:0

021

:00

22:0

023:0

0

A Service

B Service

Service Peak Time

System

Load

Time

Page 12: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

11

Heavy

Low

Middle

If we can use servers more effectively

High

Page 13: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

12

If it can be operated by 4 person.

Page 14: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

13

Page 15: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

14

What is Exalogic?

Oracle Engineered System

Specialized Product

for Middleware- WebLogic

- Coherence

- Tuxedo

Total Solution

Page 16: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

15

Exalogic Elastic Cloud

Software

Exabus

Oracle Traffic Director

Storage Management

Software

Operating System

Exalogic Control

VM Server

Hardware

Computer Nodes- Max 30 Nodes

Xeon 2.7 8Cores * 2

256 GB Memory

200 GB SSD

Integrated Storage- ZFS Storage Appliance

60 TB Storage

InfiniBand Switches- 40Gb/s throughput

Page 17: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

16

Migration

Operation Cost Down

Non-Stop Operation

Our Plan for Exalogic

Japan ICHIBA

Over 50 Services

About 400Servers

Page 18: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

17

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 19: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

18

Exalogic

Optional

Middleware Structure

WebLogic

Coherence

OTD

Jennifer

Page 20: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

19

OTD (Oracle Traffic Director)

OTDApplication A:XXX1

Instance 01 : XX.XX.0.1:0000

Instance 02 : XX.XX.0.2:0000

Instance 03 : XX.XX.0.3:0000

Instance 04 : XX.XX.0.4:0000

Application B:XXX2

Application C:XXX3

Application D:XXX4

Application B

Application C

Application D

Application A

Instance 01

Instance 02

Instance 03

Instance 04

Page 21: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

20

Business Applications

WebLogic (Application Server)

Java

Fusion Middleware Installation - 11g

- 12c

bin

config

init-info

lib

pending

security

servers

startWebLogic.sh

stopWebLogic.sh

tmp

WebLogic Domain

Instance 02

- JRockit

- HotSpot

Instance 01

Instance 03

Instance 04

Exalogic Optimized

Page 22: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

21

Coherence Cluster(having DAO)

Coherence (Data Grid Layer)

Java - JRockit

- HotSpot

Fusion Middleware Installation - 12c

DatabaseBusiness

Logic

Session

Object

Page 23: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

22

Jennifer (Real Time Monitoring)

Application On Middleware

Instance 01

Instance 02

Instance 03

Instance 04

Jennifer ServerProcess Time

Method Profiling

System Status

IO Status

VM Status

Page 24: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

23

System Design On Exalogic

Page 25: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

24

Nonstop

Automated

Standardized

Design Keywords

Page 26: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

25

Shared Resources

JavaMiddleware

Coherence Cluster

WebLogic Domain

ConfigurationOperation Tools

Application Logs

mount

mount

【 ZFS】

Page 27: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

26

- bin

- config

- lib

- startWebLogic.sh

- stopWebLogic.sh

- servers

- instance 01/*

- instance 02/*

- instance 03/*

- log

- instance 01/*

- instance 02/*

- instance 03/*

SeparatedParameter for Private Resource

${weblogic.Name}

${tangosol.coherence.member}

ex) log, data

Separated Private Resources

Application On Middleware

Instance 01

Instance 02

Instance 03

WebLogic Domain

Shared

Page 28: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

27

Rule Based System Configuration

Machines

IP Zone

Exalogic

WebLogic

Coherence

OTDJennifer

Two Parameters for Construction

Ports

Directories

App Name

App Number

Page 29: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

28

Migrating ManagedServer

WebLogic Domain

WebLogic is Running on Floating IP

Instance 02 (10.10.1.2)

Instance 01 (10.10.1.1)

Instance 03 (10.10.1.3)

Instance 04 (10.10.1.4)

FailedInstance 01 (10.10.1.1)

Instance 03 (10.10.1.3)

Instance 04 (10.10.1.4)

Instance 02 (10.10.1.2)

Shutdown Moving IP Startup

Page 30: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

29

Standardized Startup Scripts

- server_startup- startServer.sh

- scripts

- addon.sh

- automation.sh

- options.sh

- properties.sh

- options.conf

Jennifer Ready Remote Control

Customizing

Process Locking Log & Backup

JMX Ready

- Coherence Server / CUI Client

- WebLogic Admin & Managed Server

Page 31: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

30

WebLogic Domain

nodemanager.properties

startScriptName=startServer.sh

….

….

….

NodeManager

NodeManager and Startup Scripts

- server_startup- startServer.sh

- scripts

- addon.sh

- automation.sh

- options.sh

- properties.sh

- options.confManagedServer

ManagedServer

AdminServer

Page 32: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

31

Non-Stop Operation

Page 33: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

32

Listener

Listen-Port : 8001

Main Feature for Nonstop Operation

OTD : rakuten.co.jp

Origin Server Pool

10.10.1.1:7003

10.10.1.2:7003

Origin Server Pool

10.10.2.1:7003

10.10.2.2:7003

Page 34: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

33

10.10.1.1 : 7003

10.10.1.2 : 7003

OTD Configuration for Application

Listener

OTD : rakuten.co.jp

default-route : 8001

test-route : 9001

Origin Server Pool

10.10.2.1 : 7003

10.10.2.2 : 7003

Page 35: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

34

A Domain

ManagedServer

Dual Domains for Application

B Domain

ManagedServer

8001 9001

Origin Server Pool B

10.10.1.1 : 7003

10.10.1.2 : 7003

Origin Server Pool A

10.10.2.1 : 7003

10.10.2.2 : 7003

Page 36: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

35

OTD1.0

1.1OTD

1.0

1.1

Basic Concept

- Next Version Release

- Testing via Proxy

- Switching

- Current Service

- 20 Seconds

default-route

test-route

OTD1.0

0.9

- Current Service

Page 37: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

36

6Hours

20Secs

Operating Time for Service Release

Page 38: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

37

Sessionful Application

A Domaincoherence*web

B Domaincoherence*web

Getting Session Data

from Coherence Cluster

Page 39: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

38

Application Package

Construction

WebLogic Domains

Jennifer Servers

1~2 WeeksOn Legacy Environment

A B

Page 40: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

39

WebLogic Template

Automated

Tool

Jennifer Template

Application Name

Application Number

END Service INDeploy

Construction

Page 41: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

40

Construction

5 MinutesOn Exalogic

Application Package

WebLogic Domains

Jennifer Servers A B

Page 42: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

41

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 43: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

42

Release

Switching

TestingOperation

Page 44: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

43

Release

Switching

TestingOperation

Page 45: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

44

root/domain{A,B}

- app/foo-1.0.1.war

- configuration/foo.properties

- library/lib-0.2.2.jar

/root/domain{A,B}

- app/foo-1.0.0.war

- configuration/foo.properties

- library/lib-0.2.1.jar

Service Domain

Release Material

Release Material having Same Path

maven-assembly-plugin

Page 46: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

45

Recipe for Release

Release Material

Release History Directory

Release Material

Standby Domain

Updating New or Modified Resource

Latest Release

Page 47: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

46

Release Work Flow

New

Deployment

Release

FilesUndeployment

Restarting

WebLogic

Page 48: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

47

Switching

Operation

Release

Testing

Page 49: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

48

OTD Standby Domain

Testing Application via Proxy Server

intranet

Proxy

Service Domain

Page 50: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

49

Problem Solving by Repetitive Testing

Updating

ApplicationTesting

Bug Fix

Page 51: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

50

Operation

Release

Switching

Testing

Page 52: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

51

Standby Domain

Real Time Service Switching

Service Domain

Page 53: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

52

Release History Directory

root.20141025

Creating Operation Directory

Release Material

Operation Directory

${applicationName}/operation/root

renaming

link

Page 54: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

53

Release

Testing

Switching

Operation

Page 55: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

54

Service Domain

Standby Domain

Rollback to Previous Version

Release History Directory

Release Directory of Previous Version

If standby side is updated.. Release

Switching

Page 56: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

55

ReleaseModifying Configuration

Normal Operation

Operation Directory

${applicationName}/operation/root

Service Domain

Standby Domain

Page 57: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

56

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 58: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

57

WLST Operation Tools

Start / Shutdown

Deployment

Moving Instance

Undeployment

Getting Information

Modifying Configuration

Page 59: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

58

Legacy System

Operation Documents

By System

By Material

By Time

A Reason Of High Operating Cost

Release Document

Release Document

Release Document

Page 60: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

59

Exalogic

Operation Documents

Construction

Release

Switching

Operation

Recipe

Operation Recipe for All Application

Page 61: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

60

Recipe Execution by Trigger

Trigger

Sequential Execution

Automatic Execution

Recipe

Arguments

Page 62: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

61

Trigger System

Page 63: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

62

Introduction

Middleware Architecture

Life Cycle

Cost Effective Operation

Exalogic Operation On OZ Manager

Page 64: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

63

What is OZ Manager ?

Page 65: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

64

Application Management Tool

scratchbuild

Page 66: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

65

Why scratchbuild ?

Page 67: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

66

because it’s Rakuten Ichiba

Page 68: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

67

How is Rakuten Ichiba ?

Lots of teams

Lots of applications

Lots of instances

Lots of releases

Page 69: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

68

How is Rakuten Ichiba ?

Lots of teams

Lots of applications

Lots of instances

Lots of releases

“team reliant operations”

more than

30teams

Diff on Rule

Diff on Judge

Diff on Procedure

Page 70: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

69

How is Rakuten Ichiba ?

Lots of teams

Lots of applications

Lots of instances

Lots of releases

more than

150applications

“scattered apps & tools”

Diff on Language

Diff on Architecture

Diff on Monitoring

Page 71: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

70

How is Rakuten Ichiba ?

Lots of teams

Lots of applications

Lots of instances

Lots of releases

more than

3000instances

“excessive alert mails”

10,000 mails on trouble

receivable only 700

Important mails get buried

Page 72: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

71

How is Rakuten Ichiba ?

Lots of teams

Lots of applications

Lots of instances

Lots of releases

more than

1000releases in a year

“more trouble risks”

Required to attract

Bug occurs

Human error happens

Page 73: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

72

What we needed

standardize basic operations

integrate and portalize management tools

collect log and pack alert mails

simplify and clarify for fast detection

Page 74: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

73

OZ Manager

Page 75: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

74

OZ Manager

1. Brief Overview

2. Plug-in configuration

3. Data relation

4. Monitoring for Exalogic

5. Demonstration

6. Future plan for Exalogic

Page 76: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

75

OZ Manager

1. Brief Overview

Service Applications

Monitoring Tools

Log Collect Tools

LogCollector

operator

Page 77: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

76

2. Plug-in configuration

plug-in manager

Checker Log Collect Application other

• Get status

• Stop

• Start

• Update

• Get results

• Get status

• Stop

• Start

• Update

• Get logs

• Get status

• Stop

• Start

Page 78: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

77

nag

ios

Ex

alo

gic

logcollector

pan

do

ra

nagios

2. Plug-in configuration

plug-in manager

web

log

ic

Checker Log Collect Application

mo

du

le

log

ch

k

basic

log

perf

ch

k

perf

log

qp

slo

g

otd

orig

inch

k

CP

U %

ch

k

log

co

llecto

rad

min

ad

min

other

Ex

alo

gic

serv

ice

Page 79: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

78

Host Application

exalogic

Cluster

rpage rpageA rpageA01 node1

rpageA02

rpageB01 node2

rpageB02

rpageB

orderapi

rpageA rpage-inst nodeX

Controlgroup

Filter Checker

error applog inst-chk cpu%

3. Data relation

Link

jennifer

exalogic

Component & Control

Page 80: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

79

3. Data Relatoin

Authentication & Authorizatoin

User

Ryu

Usergroup

admin

Menu

User

Cluster

exalogic

Mall

Kweon-san

EC Core

Cluster Application Host

rpage

orderapi

userX

Page 81: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

80

4. Monitoring for Exalogic

CPU usage

Load average

Filesystem usage

Burst process

Host - each node

Type Target Checker

Cluster

Weblogic service A/B

• Application log

• Performance log

• Alert log

Coherence A/B• Application log

• Stdout log

Application

system

Oracle EM• Admin server process

• Client agent process

Nodemanager • Process for each version

OTD • Process for each OTD configuration

weblogic instances • OTD origin online check

coherence instances • Coherence instance check

Host Each nodes

• Ping check

• Cpu usage

• Load average

• Filesystem usage

• Burst process

Page 82: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

81

5. Demonstration

Demo Video

Basic Usage

Page 83: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

82

5. Demonstration

Demo Video

Maintenance Tool

Page 84: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

83

5. Demonstration

Demo Video

Command line Interface

Page 85: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

84

5. Demonstration

Demo Video

Exalogic Special Features

Page 86: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

85

6. Future plan for Exalogic

AB service side switch

instance location list

Instance relocation

Exalogic-coherence plugin

Page 87: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

86

Operation Zero

Page 88: [Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic

87