azure service fabric 紹介
TRANSCRIPT
自己紹介
近江 武一JAZUG Azure Storage 担当(自称)Microsoft MVP for Azure
http://www.slideshare.net/takekazuomi
kyrt @takekazuomi 2
kyrt.in
github.com/takekazuomiwhite
paper
監訳
3
はじめにService Fabric の背景
kyrt
4
Magic Quadrant for Cloud Infrastructure as a Service, WorldwideGartner の IaaS
MQリーダー Amazon
と Microsoft の2社
http://www.gartner.com/technology/reprints.do?id=1-2G2O5FC&ct=150519&st=sb kyrt
5
Microsoft Strengths
IaaS と PaaS の統合、 AWS と並ぶ新機能のリリース、オンプレミス環境、開発環境、 Microsoft のSaaS ( Software as a Service )とのシームレスな連携
kyrt
6
Azure の次世代 PaaS
リソースの管理を宣言的VM Scale SetService Fabricすべてのレイヤーを自由に選択
⇨Cluster Orchestration 、 Compute PaaS の持ち込
kyrt
VMs and VM Scale Sets
Azure Public CloudAzure-Consistent Private Cloud
VM Extensions
SCALR, RightScale, Mesos, Swarm
Service Fabric (VMs and Containers)
BatchApp Service
MediaWeb Apps
Mobile
Apps
Apprenda, CloudFoundryJelastic, Marathon
Infrastructure
IaaS and IaaS+
General Compute
PaaS
Vertical compute
PaaS
Open Choice at Every Layer
Cluster Orchestratio
n
参照: https://channel9.msdn.com/Events/Build/2015/3-618
Service Fabric ⇨PaaS V2, Reliable Service, Process base
VM Scale Set⇨Next Gen Worker Role, elastic
autoscale で迅速に同一の VM を作成IaaS+ ( Managed IaaS )
⇨VM Extension, Backup, Monitoring IaaS
⇨Windows, Linux, custom Image
9
Microservices
kyrt
マイクロサービスとは 全ての機能を盛り込んだモ
ノリシック(一枚岩の)なアプリケーションではなく、分割された複数のサービスの組み合わせでアプリケーションを作るアーキテクチャ
James Lewis が書いた Martin Fowler 氏の Blog ( 日本語訳) が有名に
11
Microservices 論点 by James Lewis1. Componentization via Services
別プロセスで動作するサービスによってアプリケーションのコンポーネント化2. Organized around Business Capabilities
ビジネス機能ごとにサービスを構築(コンウェイの法則)3. Products not Projects
プロジェクトではなくプロダクトにフォース4. Smart endpoints and dumb pipes
スマートなエンドポイントとダムバイプ5. Decentralized Governance
分散統治6. Decentralized Data Management
分散データ管理7. Infrastructure Automation
インフラ自動化8. Design for failure
失敗を前提とした設計9. Evolutionary Design
進化する設計
kyrt
12
超解説 アプリケーションを 小さなService群の組み合わせで構築しよう Serviceは個別にデプロイできるような単位がいい Service間はhttpのような軽量なプロトコルにしてSmart Endpointの実装
にしよう Serviceはビジネス機能の粒度にして、チームを構成しよう Serviceが異なる言語で記述されたり別のデータストレージ技術を使うはあ
り インフラの自動化でMicroservicesの構築、デプロイ、運用の複雑さを減少 Microserviceは、旧来からあるソフトウェアのコンポーネント化、コンポー
ネントの組み合わせによるアプリケーションの構築という話しの現代版です。 興味深い点
kyrt
13
Fabric Service
kyrt
Service Fabric Programming Models
Reliable Actors APIReliable Services API
Azure Private Clouds
Applications composed of microservices
High Availability
Hyper-Scale
Hybrid Operations
High Density
Rolling Upgrades Stateful
services
Low LatencyFast startup & shutdown
Container Orchestration & lifecycle management Replication &
Failover
Simple programming models
Load balancing
Self-healingData Partitioning
Automated Rollback
Health Monitoring
Placement Constraints
Service Fabric
参照: https://channel9.msdn.com/Events/Build/2015/3-618
15
Service Fabric API
API は 2 つ1. RELIABLE ACTORS APIS
だいぶ自律的2. RELIABLE SERVICES APIS
やること多いけど、 ASP.NET などを動かすには便利
kyrt
16
Framework の選択RELIABLE ACTORS APIS RELIABLE SERVICES APIS
問題領域が数多くの独立な状態とロジックで構成
複数のコンポーネントの間のロジックを自分で制御したい
single-threaded objects として扱いながら、スケーラビリティと一貫性を保ちたい
reliable collections (like .NET Dictionary and Queue) の保存は自分で管理したい
framework が concurrency と、 state の保証をしてほしい
concurrency の制御と保証は自分でやりたい
platform が通信を管理して欲しい 通信や partitioning scheme の管理、通信か自分で行いたい
kyrt
Demo
kyrt 17
参考資料
Service Fabric documentationhttp://azure.microsoft.com/en-us/documentation/services/service-fabric/
BUILD 2015, The Next Generation of Azure Compute Platform with Mark Russinovichhttps://channel9.msdn.com/Events/Build/2015/3-618
Microsoft Azure Service Fabric Architecturehttps://channel9.msdn.com/Events/Build/2015/2-640
Deep Dive into Microsoft Azure Service Fabric Reliable Actorshttps://channel9.msdn.com/Events/Build/2015/2-66