マイクロサービスで、一歩先行くimmutable infrastructureを目指そう

Post on 12-Aug-2015

2.136 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

マイクロサービスで、 ⼀一歩先⾏行くImmutable

Infrastructureを⽬目指そうJTF2015 : July Tech Festa

しょっさん妻1娘4。外資インフラ系ITアーキテクト/ITコンサルタント/初級アクアリスト。深⽥田恭⼦子殿堂⼊入り。Perfume-‑かしゆか派/BABYMETAL。 座右の銘:⼈人⽣生即是遊戯。

0x29歳。

Todays ThemeService Oriented Architecture

Immutable Infrastructure

‒–Chad Fowler (2013.06.23 6:57 pm)

“Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable

Components”

http://chadfowler.com/blog/2013/06/23/immutable-deployments/

BlueGreenDeploymentMartin Fowler

1 March 2010

http://martinfowler.com/bliki/BlueGreenDeployment.html

BlueGreenDeploymentMartin Fowler

1 March 2010

http://martinfowler.com/bliki/BlueGreenDeployment.html

Issues

IssuesStateless and Stateful Servers

IssuesComplex System

IssuesComplex System

Microservices

‒–James Lewis (25 March 2014)

“Microservices”

http://martinfowler.com/articles/microservices.html

Characteristics of a Microservice Architecture

• Componentization via Services

• Organized around Business Capabilities

• Products not Projects

• Smart endpoints and dumb pipes

• Decentralized Governance

• Decentralized Data Management

• Infrastructure Automation

• Design for failure • Evolutionary Design

Characteristics of a Microservice Architecture

• Componentization via Services

• Organized around Business Capabilities

• Products not Projects

• Smart endpoints and dumb pipes

• Decentralized Governance

• Decentralized Data Management

• Infrastructure Automation

• Design for failure • Evolutionary Design

Componentization役割分担とインタフェイスの明確化

活性保守の仕組み作り

Componentization特定のサービス毎に Deploy

Microservicesを始めてみよう!

どうやって…⋯

ボクたちにはSOAがあるWeb Services

Service Oriented Architecture

ApplicationFront-end Service Service

Repository Service bus

SOA

Contract Implementation Interface

Business logic Data

Application Front-‑endエンドユーザとの対話

バッチなどからコールされるプロセス

Service

• 規約(contract) • ⽬目的、機能、制約、利⽤用法などの仕様 • 仕様は⾔言語に基づかなくてもいい

• インタフェース • 実装(Implementation)

• ビジネスロジック • データ

Service Repository公開されているサービスの情報を集約

Service BUS接続性・技術・通信概念の混在

技術的なサービス

SOAの⽬目的

• システムとソフトウェアアーキテクチャの分離

• 疎結合 : お互いに無関係に設計可能

Microservices vs SOA

• SOA • 集中統治 • 集中→分散管理 • ⼤大企業むけ • トップダウン

• Microservices • 分散統治 • 分散管理 • 中⼩小企業向け • ボトムアップ

実現していくには…⋯

SOA ロードマップ

1. 基礎段階 : 保守性の向上 2. ネットワーク化段階 : 柔軟性の向上 3. プロセス制御段階 : 俊敏性の向上

基礎段階

2層とデータ共有

エンタープライズ層

基本層

ECサイト

販売 会員管理 在庫管理 受注管理

発注アプリ

Application Front-‑end

Services

ネットワーク化段階

中継層

カプセル化エンタープライズ層

基本層

ECサイト

販売 会員管理 在庫管理 受注管理

在庫&受注(2PC)

技術的なカプセル化 複雑なロジックの集約

Service bus

中継層

テクノロジ ゲートウェイ

エンタープライズ層

基本層

ECサイト

販売

EJB Gateway

配送システム

B2Bポータル

.Net Gateway

MQ Gateway

Service bus

中継層

付加機能サービス(3例)

エンタープライズ層

基本層

新Client

レガシーアプリ

データ拡張

新機能が必要なClient

レガシー Client

新機能追加 新機能追加

追加属性 パッケージ ソフト

新Client

レガシー アプリ

中継層

データの拡張エンタープライズ層

基本層

新Client

レガシーアプリ

データ拡張

新機能が必要なClient

レガシー Client

新機能追加 新機能追加

追加属性 パッケージ ソフト

新Client

レガシー アプリ

引き継いだモデルを変更せず、 レガシーアプリケーションの データモデルを拡張

中継層

パッケージに 新機能追加

エンタープライズ層

基本層

新Client

レガシーアプリ

データ拡張

新機能が必要なClient

レガシー Client

新機能追加 新機能追加

追加属性 パッケージ ソフト

新Client

レガシー アプリ

パッケージに対して 新たな機能を追加

中継サービスで、 パッケージソフトを ラッピング

中継層

既存の維持と新機能エンタープライズ層

基本層

新Client

レガシーアプリ

データ拡張

新機能が必要なClient

レガシー Client

新機能追加 新機能追加

追加属性 パッケージ ソフト

新Client

レガシー アプリ

既存のプロトコロルを維持 新たなクライアント機能を追加

プロセス制御段階

中継層

プロセスのカプセル化エンタープライズ層

基本層

ECサイト

販売 会員管理 在庫管理 受注管理

在庫&受注(2PC)

プロセス層予約

プロセス

プロセス層

単純化エンタープライズ層

基本層

ECサイト

販売 会員管理 在庫管理 受注管理

予約 プロセス

中継層

中継層の考え⽅方

在庫&受注(2PC)

プロセス層オンライン プロセス

B2B プロセス

モバイル プロセス

共通 プロセス

オンライン プロセス

B2B プロセス

モバイル プロセス

プロセス層

複数のプロセスが利⽤用する場合

プロセスの中⼼心化

1

2

プロセス層

プロセス中⼼心化エンタープライズ層

基本層

ECサイト (チケット)

メール 予約 キャンセル 待ち

予約 プロセス

キャンセル プロセス

プロセスの 状態保持

プロセスの 状態保持

summary

サービス化:疎結合 ↓

影響の極⼩小化

適合可能な技術の選択

新しいものと 古いものを 組み合わせる

⾞車輪の再発明は しない

再利⽤用しようRe-‑usable not Re-‑cycle

流⾏行に流されない

もっと知りたい⼈人は

SOA⼤大全サービス指向アーキテクチャ 導⼊入・設計・構築の指針 http://amzn.to/1Lmtq4V

ありがとうこのスライドで利⽤用している⼀一部の写真は、ぱくたその写真素材を利⽤用しています。

この写真を継続して利⽤用する場合は、ぱくたそ公式サイトからご⾃自⾝身でダウンロードしていただくか、 ぱくたそのご利⽤用規約に同意していただく必要があります。

同意しない場合は写真のご利⽤用はできませんのでご注意ください。

ご清聴 ありがとうございました

top related