Your SlideShare is downloading. ×
0
マイクロサービスで、

⼀一歩先⾏行くImmutable
Infrastructureを⽬目指そう
JTF2015 : July Tech Festa
しょっさん
妻1娘4。外資インフラ
系ITアーキテクト/ITコ
ンサルタント/初級アク
アリスト。深⽥田恭⼦子殿
堂⼊入り。Perfume-‑かし
ゆか派/BABYMETAL。
座右の銘:⼈人⽣生即是遊戯。
0x29歳。
Todays Theme
Service Oriented Architecture
‘
Immutable
Infrastructure
‒–Chad Fowler (2013.06.23 6:57 pm)
“Trash Your Servers and Burn Your Code:
Immutable Infrastructure and Disposable
Compone...
BlueGreenDeployment
Martin Fowler
1 March 2010
http://martinfowler.com/bliki/BlueGreenDeployment.html
BlueGreenDeployment
Martin Fowler
1 March 2010
http://martinfowler.com/bliki/BlueGreenDeployment.html
Issues
Issues
Stateless and Stateful Servers
Issues
Complex System
Issues
Complex 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
• ...
Characteristics of a
Microservice Architecture
• Componentization
via Services
• Organized around
Business
Capabilities
• ...
Componentization
役割分担とインタフェイスの明確化

活性保守の仕組み作り
Componentization
特定のサービス毎に Deploy
Microservicesを

始めてみよう!
どうやって…⋯
ボクたちにはSOAがある
Web Services
Service Oriented
Architecture
Application

Front-end
Service
Service

Repository
Service bus
SOA
Contract Implementation I...
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
プロセス
モバイル
プロセス
プロセス層
複数のプロセスが

利⽤用する場...
プロセス層
プロセス中⼼心化
エンタープライズ層
基本層
ECサイト
(チケット)
メール 予約
キャンセル
待ち
予約
プロセス
キャンセル
プロセス
プロセスの
状態保持
プロセスの
状態保持
summary
サービス化:疎結合
↓
影響の極⼩小化
適合可能な技術の選択
新しいものと
古いものを
組み合わせる
⾞車輪の再発明は
しない
再利⽤用しよう
Re-‑usable not Re-‑cycle
流⾏行に流されない
もっと知りたい⼈人は
SOA⼤大全
サービス指向アーキテクチャ
導⼊入・設計・構築の指針 http://amzn.to/1Lmtq4V
ありがとう
このスライドで利⽤用している⼀一部の写真は、ぱくたその写真素材を利⽤用しています。
この写真を継続して利⽤用する場合は、ぱくたそ公式サイトからご⾃自⾝身でダウンロードしていただくか、

ぱくたそのご利⽤用規約に同意していただく必要が...
ご清聴
ありがとうございました
Upcoming SlideShare
Loading in...5
×

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

875

Published on

近年マイクロサービスの議論が盛り上がってきています。かつてはSOAの文脈でも語られてきた、サービス化されたシステムアーキテクチャの考え方は、アプリケーションとインフラの設計が一貫していることの重要性を高める結果となりました。特に、モダンなインフラの考え方の一つである、Immutable Infrastructureを実現するに当って、ステートレス・ステートフルの完全な分離など、考慮するポイントがいくつか出てきます。本セッションは、そうしたマイクロサービスやSOAの考え方が、モダンなクラウドのインフラ設計に与える影響について詳しく解説します。

Published in: Internet

Transcript of "マイクロサービスで、
一歩先行くImmutable Infrastructureを目指そう"

  1. 1. マイクロサービスで、
 ⼀一歩先⾏行くImmutable Infrastructureを⽬目指そう JTF2015 : July Tech Festa
  2. 2. しょっさん 妻1娘4。外資インフラ 系ITアーキテクト/ITコ ンサルタント/初級アク アリスト。深⽥田恭⼦子殿 堂⼊入り。Perfume-‑かし ゆか派/BABYMETAL。 座右の銘:⼈人⽣生即是遊戯。 0x29歳。
  3. 3. Todays Theme Service Oriented Architecture ‘
  4. 4. Immutable Infrastructure
  5. 5. ‒–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/
  6. 6. BlueGreenDeployment Martin Fowler 1 March 2010 http://martinfowler.com/bliki/BlueGreenDeployment.html
  7. 7. BlueGreenDeployment Martin Fowler 1 March 2010 http://martinfowler.com/bliki/BlueGreenDeployment.html
  8. 8. Issues
  9. 9. Issues Stateless and Stateful Servers
  10. 10. Issues Complex System
  11. 11. Issues Complex System
  12. 12. Microservices
  13. 13. ‒–James Lewis (25 March 2014) “Microservices” http://martinfowler.com/articles/microservices.html
  14. 14. 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
  15. 15. 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
  16. 16. Componentization 役割分担とインタフェイスの明確化
 活性保守の仕組み作り
  17. 17. Componentization 特定のサービス毎に Deploy
  18. 18. Microservicesを
 始めてみよう!
  19. 19. どうやって…⋯
  20. 20. ボクたちにはSOAがある Web Services
  21. 21. Service Oriented Architecture Application
 Front-end Service Service
 Repository Service bus SOA Contract Implementation Interface Business logic Data
  22. 22. Application Front-‑end エンドユーザとの対話 バッチなどからコールされるプロセス
  23. 23. Service • 規約(contract) • ⽬目的、機能、制約、利⽤用法などの仕様 • 仕様は⾔言語に基づかなくてもいい • インタフェース • 実装(Implementation) • ビジネスロジック • データ
  24. 24. Service Repository 公開されているサービスの情報を集約
  25. 25. Service BUS 接続性・技術・通信概念の混在 技術的なサービス
  26. 26. SOAの⽬目的 • システムとソフトウェアアーキテクチャの分離 • 疎結合 : お互いに無関係に設計可能
  27. 27. Microservices vs SOA • SOA • 集中統治 • 集中→分散管理 • ⼤大企業むけ • トップダウン
 • Microservices • 分散統治 • 分散管理 • 中⼩小企業向け • ボトムアップ
  28. 28. 実現していくには…⋯
  29. 29. SOA ロードマップ 1. 基礎段階 : 保守性の向上 2. ネットワーク化段階 : 柔軟性の向上 3. プロセス制御段階 : 俊敏性の向上
  30. 30. 基礎段階
  31. 31. 2層とデータ共有 エンタープライズ層 基本層 ECサイト 販売 会員管理 在庫管理 受注管理 発注アプリ Application Front-‑end Services
  32. 32. ネットワーク化段階
  33. 33. 中継層 カプセル化 エンタープライズ層 基本層 ECサイト 販売 会員管理 在庫管理 受注管理 在庫&受注
 (2PC) 技術的なカプセル化 複雑なロジックの集約 Service bus
  34. 34. 中継層 テクノロジ ゲートウェイ エンタープライズ層 基本層 ECサイト 販売 EJB Gateway 配送
 システム B2B
 ポータル .Net Gateway MQ Gateway Service bus
  35. 35. 中継層 付加機能サービス(3例) エンタープライズ層 基本層 新Client レガシー
 アプリ データ拡張 新機能が必 要なClient レガシー Client 新機能追加 新機能追加 追加属性 パッケージ ソフト 新Client レガシー アプリ
  36. 36. 中継層 データの拡張 エンタープライズ層 基本層 新Client レガシー
 アプリ データ拡張 新機能が必 要なClient レガシー Client 新機能追加 新機能追加 追加属性 パッケージ ソフト 新Client レガシー アプリ 引き継いだモデルを変更せず、 レガシーアプリケーションの データモデルを拡張
  37. 37. 中継層 パッケージに 新機能追加 エンタープライズ層 基本層 新Client レガシー
 アプリ データ拡張 新機能が必 要なClient レガシー Client 新機能追加 新機能追加 追加属性 パッケージ ソフト 新Client レガシー アプリ パッケージに対して 新たな機能を追加 中継サービスで、 パッケージソフトを ラッピング
  38. 38. 中継層 既存の維持と新機能 エンタープライズ層 基本層 新Client レガシー
 アプリ データ拡張 新機能が必 要なClient レガシー Client 新機能追加 新機能追加 追加属性 パッケージ ソフト 新Client レガシー アプリ 既存のプロトコロルを維持 新たなクライアント機能を追加
  39. 39. プロセス制御段階
  40. 40. 中継層 プロセスのカプセル化 エンタープライズ層 基本層 ECサイト 販売 会員管理 在庫管理 受注管理 在庫&受注
 (2PC) プロセス層 予約 プロセス
  41. 41. プロセス層 単純化 エンタープライズ層 基本層 ECサイト 販売 会員管理 在庫管理 受注管理 予約 プロセス
  42. 42. 中継層 中継層の考え⽅方 在庫&受注
 (2PC) プロセス層 オンライン プロセス B2B プロセス モバイル プロセス 共通 プロセス オンライン プロセス B2B プロセス モバイル プロセス プロセス層 複数のプロセスが
 利⽤用する場合 プロセスの中⼼心化 1 2
  43. 43. プロセス層 プロセス中⼼心化 エンタープライズ層 基本層 ECサイト (チケット) メール 予約 キャンセル 待ち 予約 プロセス キャンセル プロセス プロセスの 状態保持 プロセスの 状態保持
  44. 44. summary
  45. 45. サービス化:疎結合 ↓ 影響の極⼩小化
  46. 46. 適合可能な技術の選択
  47. 47. 新しいものと 古いものを 組み合わせる
  48. 48. ⾞車輪の再発明は しない
  49. 49. 再利⽤用しよう Re-‑usable not Re-‑cycle
  50. 50. 流⾏行に流されない
  51. 51. もっと知りたい⼈人は
  52. 52. SOA⼤大全 サービス指向アーキテクチャ 導⼊入・設計・構築の指針 http://amzn.to/1Lmtq4V
  53. 53. ありがとう このスライドで利⽤用している⼀一部の写真は、ぱくたその写真素材を利⽤用しています。 この写真を継続して利⽤用する場合は、ぱくたそ公式サイトからご⾃自⾝身でダウンロードしていただくか、
 ぱくたそのご利⽤用規約に同意していただく必要があります。
 同意しない場合は写真のご利⽤用はできませんのでご注意ください。
  54. 54. ご清聴 ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×