Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#azurejp
https://www.facebook.com/dahatake/
https://twitter.com/dahatake/
https://github.com/dahatake/
https://daiyuhatake...
Pla
n
1 Monitor + Learn
Releas
e
Develop + Test2
Development Production
4
3
“フィードバックありがとうございます!
頂戴したコメントは、数年後に予定しています
次のリリースに反映させていただきます。”
Development Development Development Development
Development Development Development Development
OPS
Agile
Infrastructure
DevOps
Agile
顧客
商品
受注
ECサイト
/App
商品検索
商品管理
配送/請求
CRM
5年?
Thumbnail
Service
Thumbnail
ServicePhoto Share
Service
Photo Share
Service
Photo Share
Service
Photo Share
Service
Thumbna...
• 単一のデータベース
• 単一テクノロジーのレイヤ
従来型のステート マイクロサービスのステート
• マイクロサービスがグラフ状に結合
• マイクロサービス毎のステート
• 様々なテクノロジーが使われる
stateless
Service
s...
仮想マシン Container / Service Fabric
• 各 VM に 1 つのサービス インス
タンス
• 均一でないワークロード
• コンピューティングの密度が低い
• デプロイ/更新が遅い
• スケーリング/DR (災害復旧)...
Service Fabric
マイクロサービス フレームワーク
物理コンピュー
ター
仮想マシン ProcessContainer
More isolated More efficient
ハードウェア Not shared Shared Shared Shared
カーネル Not shared Not ...
?
Service
Fabric
Azure
サービス
スタンドアロン
クラスター
開発
クラスター
Windows GA GA GA
Linux プレビュー - プレビュー
Mac - - プレビュー
(Linux VM)
https://azure.microsoft.com/ja-jp/solutions/microservice-applications/
Service Fabric Team Blog
https://blogs.msdn.microso...
Declarative Application Description
Deploy, Upgrade and
Monitoring
Service discovery
Reliability, Availability,
Replicatio...
Azure Consistent Private Cloud Azure Public Cloud
VMs and VM Scale Sets
VM Extensions
Mesosphere/Swarm
Marathon/Chronos/Sw...
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages Service Fabric Cluster VMs
App1 App2
App Type Packages
Service Fabric Cluster VMs
UD3
UD2
UD1
App1 App2
App Type Packages Service Fabric Cluster VMs
App2.1
cspkg
OPS
Inner Dev Loop
Mocks
Guest Executables
(ゲスト実行可能ファイ
ル)
• 任意の EXE を持ち込む
• 任意の言語/
プログラミング モデ
ル
• アプリとしてパッケー
ジング
• バージョニング/更新/
正常性監視などの
機能を追加
Relia...
ステートレス
サービス
ステートフル
サービス
アクター
ゲスト
実行可能
ファイル
コンテナー
Windows
クラスター
.NET .NET .NET Windows
Windows
コンテナー
(今後)
Linux
クラスター
(プレビュ...
Service Fabric infrastructure
Reliable Actors APIReliable Service API
Stateless service Statefull service
<ServiceManifest Name="QueueService" Version="1.0">
<ServiceTypes>
<StatefulServiceType ServiceTypeName=“QueueServiceType”...
アプリケーション型: sfAuction
サービス型: Website
ゲスト実行可能ファイル
(ステートレス) (Node.js)
サービス型: Auction
サービス (ステートフル)
(C#/.NET)
サービス型: APIGatewa...
サービス型: Website
ゲスト実行可能ファ
イル
(ステートレス)
(Node.js)
<ServiceManifest Name="Pkg-Svc.Website" Version="1.0.0" …>
<ServiceTypes>
<StatelessServiceType ServiceTypeName="Svc.Websi...
サービス型: Website
ゲスト実行可能ファ
イル
(ステートレス)
(Node.js)
サービス型:
APIGateway
サービス (ステートレ
ス)
(C#/.NET)
サービス型: Website
ゲスト実行可能ファ
イル
(ステートレス)
(Node.js)
サービス型: Auction
サービス (ステートフ
ル)
(C#/.NET)
サービス型:
APIGateway
サービス (ステートレ
ス)
(C...
IReliableDictionary<K,V> IReliableQueue<T>
Service Fabric クラスター
ロード
バラン
サー
VMSS #1 (ステートレス
層)
NodeType=“FrontEnd”
ノード #1
Website
ApiGateway
ノード #2
Website
ApiGateway...
Auction (パーティション #1)
Users Dictionary
Email UserInfo
U1 ItemId[]
U2 ItemId[]
Active Items List
ItemId
U1/“A”
U2/“X”
U1’s I...
Queues Storage
Front End
(Stateless
Web)
Stateless
Middle-tier
Compute
Cache
Load Balancer
Stateful
Middle-tier
Compute
Front End
(Stateless
Web)
Load Balancer
Cold Data Stores
For Exhaust
(Optional)
Node 5Node 4Node 3 Node 6Node 2Node 1
P2
S
S
S
P4
S
P1
S
P3S
S
S
Hundreds of
partitions
Hundreds of
gateway
Service
• サービスファブリック アプリ == クラスター内で、1プロセスとして稼働。仮想マシンなどは意識しない
• それぞれのステートフルサービスは...
© 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Azure Service Fabric 概要
Upcoming SlideShare
Loading in …5
×

Azure Service Fabric 概要

2,243 views

Published on

DevOpsの実行アーキテクチャとして注目されているMicroservices。その実行基盤としての万能選手がAzure Service Fabricです。その概要をご紹介します。

Published in: Technology

Azure Service Fabric 概要

  1. 1. #azurejp https://www.facebook.com/dahatake/ https://twitter.com/dahatake/ https://github.com/dahatake/ https://daiyuhatakeyama.wordpress.com/
  2. 2. Pla n 1 Monitor + Learn Releas e Develop + Test2 Development Production 4 3
  3. 3. “フィードバックありがとうございます! 頂戴したコメントは、数年後に予定しています 次のリリースに反映させていただきます。”
  4. 4. Development Development Development Development
  5. 5. Development Development Development Development OPS
  6. 6. Agile Infrastructure DevOps Agile
  7. 7. 顧客 商品 受注 ECサイト /App 商品検索 商品管理 配送/請求 CRM 5年?
  8. 8. Thumbnail Service Thumbnail ServicePhoto Share Service Photo Share Service Photo Share Service Photo Share Service Thumbnail Service Photo Share Service Thumbnail SharedLib-v7 Photo Share Service SharedLib-v1 Photo Share Service node.js Thumbnail Service .NET Photo Share Service V1 Thumbnail Service V1 Thumbnail Service SharedLib-v7 Thumbnail Service V2 SharedLib-v1 メンテ可能な状態を継続できる
  9. 9. • 単一のデータベース • 単一テクノロジーのレイヤ 従来型のステート マイクロサービスのステート • マイクロサービスがグラフ状に結合 • マイクロサービス毎のステート • 様々なテクノロジーが使われる stateless Service stateless Service with separate stores stateful Service stateless presentation Service
  10. 10. 仮想マシン Container / Service Fabric • 各 VM に 1 つのサービス インス タンス • 均一でないワークロード • コンピューティングの密度が低い • デプロイ/更新が遅い • スケーリング/DR (災害復旧) が遅 い • 各 VM に多数のマイクロサー ビス • コンピューティングの密度が 高い • デプロイ/更新が速い • スケーリングが速い
  11. 11. Service Fabric マイクロサービス フレームワーク
  12. 12. 物理コンピュー ター 仮想マシン ProcessContainer More isolated More efficient ハードウェア Not shared Shared Shared Shared カーネル Not shared Not shared Shared* Shared システム リソー ス (ex: File System) Not shared Not shared Not shared Shared
  13. 13. ?
  14. 14. Service Fabric
  15. 15. Azure サービス スタンドアロン クラスター 開発 クラスター Windows GA GA GA Linux プレビュー - プレビュー Mac - - プレビュー (Linux VM)
  16. 16. https://azure.microsoft.com/ja-jp/solutions/microservice-applications/ Service Fabric Team Blog https://blogs.msdn.microsoft.com/azureservicefabric/tag/case-study/
  17. 17. Declarative Application Description Deploy, Upgrade and Monitoring Service discovery Reliability, Availability, Replication, Service Orchestration Application Lifecycle Fault inject, Test in ProductionFederation a set of nodes to from a consistent scalable fabric Secure Point-to-point communication
  18. 18. Azure Consistent Private Cloud Azure Public Cloud VMs and VM Scale Sets VM Extensions Mesosphere/Swarm Marathon/Chronos/Swarm Cluster Management Federation and Reliability: • Failover manager • Cluster manager • Naming • Image store service • Leader Election Container/Service scheduling Hosting • Container activation and Monitoring Balancing and Scheduling • Resource Balancing & Placement ZooKeaper Application Programming Models • Stateful/Stateless Service • Reliable Actors • Reliable Service • Health Monitoring Communication Subsystem • Service/Service Communication • Sessions/Streams •Healthmanagementanddiagnostics •Testabilityframework
  19. 19. App1 App2 App Type Packages Service Fabric Cluster VMs
  20. 20. App1 App2 App Type Packages Service Fabric Cluster VMs
  21. 21. App1 App2 App Type Packages Service Fabric Cluster VMs
  22. 22. App1 App2 App Type Packages Service Fabric Cluster VMs
  23. 23. App1 App2 App Type Packages Service Fabric Cluster VMs
  24. 24. App1 App2 App Type Packages Service Fabric Cluster VMs
  25. 25. App1 App2 App Type Packages Service Fabric Cluster VMs
  26. 26. UD3 UD2 UD1 App1 App2 App Type Packages Service Fabric Cluster VMs App2.1
  27. 27. cspkg OPS Inner Dev Loop Mocks
  28. 28. Guest Executables (ゲスト実行可能ファイ ル) • 任意の EXE を持ち込む • 任意の言語/ プログラミング モデ ル • アプリとしてパッケー ジング • バージョニング/更新/ 正常性監視などの 機能を追加 Reliable Service (サービス) • ステートレス/ステート フル • 同時実行性 • Reliable Collection に よる状態管理 • 完全なプラットフォー ム統合 Reliable Actors (アクター) • ステートレス/ステート フルな アクター オブジェクト • 簡素化された プログラミング モデル • 単一スレッド モデル • コンピューティングと 状態の スケール アウトに最適 Platform の一部機能は使えない: ステートフル
  29. 29. ステートレス サービス ステートフル サービス アクター ゲスト 実行可能 ファイル コンテナー Windows クラスター .NET .NET .NET Windows Windows コンテナー (今後) Linux クラスター (プレビュー) Java .NET (今後) Java .NET Linux Linux コンテナー
  30. 30. Service Fabric infrastructure Reliable Actors APIReliable Service API Stateless service Statefull service
  31. 31. <ServiceManifest Name="QueueService" Version="1.0"> <ServiceTypes> <StatefulServiceType ServiceTypeName=“QueueServiceType” HasPersistedState="true" /> </ServiceTypes> <CodePackage Name="Code" Version="1.0"> <EntryPoint> <ExeHost> <Program>ServiceHost.exe</Program> </ExeHost> </EntryPoint> </CodePackage> <ConfigPackage Name="Config" Version="1.0" /> <DataPackage Name="Data" Version="1.0" /> </ServiceManifest>
  32. 32. アプリケーション型: sfAuction サービス型: Website ゲスト実行可能ファイル (ステートレス) (Node.js) サービス型: Auction サービス (ステートフル) (C#/.NET) サービス型: APIGateway サービス (ステートレス) (C#/.NET)
  33. 33. サービス型: Website ゲスト実行可能ファ イル (ステートレス) (Node.js)
  34. 34. <ServiceManifest Name="Pkg-Svc.Website" Version="1.0.0" …> <ServiceTypes> <StatelessServiceType ServiceTypeName="Svc.WebsiteType" UseImplicitHost="true"/> </ServiceTypes> <CodePackage Name="Code" Version="1.0.0"> <EntryPoint> <ExeHost> <Program>node.exe</Program> <Arguments>Server.js</Arguments> </ExeHost> </EntryPoint> </CodePackage> </ServiceManifest> <ContainerHost> <ImageName>myNodeImage:latest</ImageName> <Commands></Commands> </ContainerHost>
  35. 35. サービス型: Website ゲスト実行可能ファ イル (ステートレス) (Node.js) サービス型: APIGateway サービス (ステートレ ス) (C#/.NET)
  36. 36. サービス型: Website ゲスト実行可能ファ イル (ステートレス) (Node.js) サービス型: Auction サービス (ステートフ ル) (C#/.NET) サービス型: APIGateway サービス (ステートレ ス) (C#/.NET)
  37. 37. IReliableDictionary<K,V> IReliableQueue<T>
  38. 38. Service Fabric クラスター ロード バラン サー VMSS #1 (ステートレス 層) NodeType=“FrontEnd” ノード #1 Website ApiGateway ノード #2 Website ApiGateway VMSS #2 (ステートフル 層) NodeType=“BackEnd” ノード #3 Auction ノード #4 Auction
  39. 39. Auction (パーティション #1) Users Dictionary Email UserInfo U1 ItemId[] U2 ItemId[] Active Items List ItemId U1/“A” U2/“X” U1’s Items Dictionary ItemId ItemInfo U1/“A” 2016-2-1, Bid[] U1/“B” 2016-2-5, Bid[] U2’s Items Dictionary ItemId ItemInfo U2/“X” 2016-3-3, Bid[] U2/”Y” 2016-4-9, Bid[] APIGatewayCreateUserAsync
  40. 40. Queues Storage Front End (Stateless Web) Stateless Middle-tier Compute Cache Load Balancer
  41. 41. Stateful Middle-tier Compute Front End (Stateless Web) Load Balancer Cold Data Stores For Exhaust (Optional)
  42. 42. Node 5Node 4Node 3 Node 6Node 2Node 1 P2 S S S P4 S P1 S P3S S S
  43. 43. Hundreds of partitions Hundreds of gateway Service • サービスファブリック アプリ == クラスター内で、1プロセスとして稼働。仮想マシンなどは意識しない • それぞれのステートフルサービスは、自分の管理すべき一部のデータを保持する Partition 1 Partition 2 Partition ‘n’
  44. 44. © 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×