https://satonaoki.wordpress.com/2016/06/07/rakuten-tecktalk-microservices/
Microservices and Azure Service Fabric
「マイクロサービスアーキテクチャ」と「Azure Service Fabric」
オライリーから出版された書籍「マイクロサービスアーキテクチャ」(http://www.oreilly.co.jp/books/9784873117607/) について、そして、Cortana や Azure 自体の内部で使われているマイクロサービスのためのアプリケーション プラットフォーム「Azure Service Fabric」(https://azure.microsoft.com/ja-jp/services/service-fabric/) の開発モデルやアーキテクチャについて紹介します。
4. Web
Apps
Mobile
Apps
API
Management
API
Apps
Logic
Apps
Notification
Hubs
Content Delivery
Network (CDN)
Media
Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Biztalk
Services
Hybrid
Connections
Service
Bus
Storage
Queues
Backup
StorSimple
Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache
Search
Tables
SQL Data
Warehouse
Azure AD
Connect Health
AD Privileged
Identity Mngt
Operational
Insights
Cloud
Services
Batch Remote App
Service
Fabric Visual Studio
Application
Insights
Azure SDK
Team Project
Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store /
Marketplace
VM Image Gallery
& VM Depot
SECURITY &
MANAGEMENT PLATFORM SERVICES HYBRID
OPERATIONS
5. Build on infrastructure (IaaS) Build on Dev framework (PaaS)
Preview
GAThe Azure Application Platform
“App Creators”
Developers Non-Devs
Microsoft Azure
LOBSaaSLift & Shift Docker
Virtual
Machines
Stateful and
stateless one-
off solutions
VM
ScaleSet
s
Scalable
stateless
solutions
Containe
r Service
Scalable,
orchestrated
Docker
images
deployed into
containers
Differentiation Time to valueExisting App Investments
Batch
Custom
High
Performanc
e
Computing
solutions
Cloud
Service
s
Custom
Monolithic
3-tier
stateless
solutions
Service
Fabric
Custom
Microservice
-based
stateless and
stateful
solutions
Power
Apps
Graphical
design
mobile
solutions
App Service
Template based
rapid
development
web, mobile
and API
solutions
Orchestrate
d workflow
based
integration
solutions
LogicWeb/Mob/
API
All the
goodness of
App Service in
a dedicated
environment
Environments
11. Microservices
Existing
Frameworks
Web/Mobile
Serverless Event-driven compute application components.
Ex: IOT events, game events, operational events
Web and mobile fully managed applications. No infra management.
Ex: ecommerce sites, LOB sites, supporting websites
Massive-scale, 24x7 available applications with agile multi-components.
Ex: Multi-part live games, queuing systems, large-scale sites/LOB
Applications focused on the framework/runtime/application model.
Ex: Existing enterprise/LOB apps, new scale-out with existing components
13. Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
14. • Scales by cloning the app on multiple
servers/VMs/Containers
Monolithic application approach Microservices application approach
• A microservice application
separates functionality into
separate smaller services.
• Scales out by deploying each service
independently creating instances of these services
across servers/VMs/containers
• A monolith app contains domain
specific functionality and is
normally divided by functional
layers such as web, business and
data
App 1 App 2App 1
15. Service Fabric Cluster
Age of Ascent Architecture
Spatial
(In Space)
Gaia
(stateless)
Trade Inventory Production CommsNavigation
PlayerAccount CrewCommerce Alliance
Avatar
(stateless)
AI Events
web browser
or device
game
function
services
CDN
aggregate
services
physics
service
routing
services
19. Datacenter (Azure, On Premises, Other Clouds )
Load
Balancer
PC/VM #1
Service Fabric
Your code, etc.
PC/VM #2
Service Fabric
Your code, etc. PC/VM #3
Service Fabric
Your code, etc.
PC/VM #4
Service Fabric
Your code, etc.
PC/VM #5
Service Fabric
Your code, etc.
Management to deploy
your code, etc.
(Port: 19080)
App Web Request
(Port: 80/443/?)
20. Application Type: sfAuction
Service Type: Website
Guest Executable (stateless)
(Node.js)
Service Type: Auction
Reliable Collections (stateful)
(C#/.NET)
Service Fabric Auction App
Microservices design
Service Type: APIGateway
Reliable Service (stateless)
(C#/.NET)