Azure Service Fabric - tom.blob.core.windows.net Fabric.pdf · Azure Service Fabric Build, deploy,...
Transcript of Azure Service Fabric - tom.blob.core.windows.net Fabric.pdf · Azure Service Fabric Build, deploy,...
Azure Service Fabric
Run and secure
services reliably at
any scale
Operate
Deploy any code at
any scale using tools
you know
Deploy
Build new or
transform existing
applications
Build
Azure Service Fabric Build, deploy, and operate applications, using any OS, at any scale, on any cloud
Proven platform powering core Azure and Microsoft services
Microsoft has deep expertise in running global services
such as Cortana, Skype & Cosmos DB
Service Fabric is the foundational technology
powering these services & core Azure infrastructure
Sample scale of one of these services: 60 billion
events per day with millions of databases
About 30% of Azure’s cores run Service Fabric directly.
Service Fabric Manages Millions of Service upgrades
weekly within Microsoft alone
SQL
{ }Power BI
Dynamics
Intune
Cortana Skype
Cosmos DB
IoT Hub
Event Hub
SQL Database
Trusted by customers of all sizes
Scenarios powered by Service FabricEmpowering customers of all sizes to achieve more
Lift & shift to
containers
Mission-critical
business SaaS
IoT data
processing
Low-latency data
processing apps
…one powerful Microservices platform for Windows Server and Linux.
Any workload, running anywhere.
New cloud-
native apps
To monolith or to Microservice?
... we support any stage you choose
New or
transformed
microservices app
5
Parts of existing
monolith
extracted
4
Existing Monolith + new
microservices
3
Monolith Hosted as
guest executable or
container
2
Traditional app
1
5 stages in a continuum…
To build, deploy, and operate……containers or microservices on any OS on any cloud
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
Azure On-premises infrastructure Other cloudsDev machine
Reliability Subsystem
Orchestration,
reliability, availability,
replication
Management
Subsystem
Application and
microservice
lifecycle
Deployment,
upgrade
and monitoringTransport Subsystem
Secure point-to-point communication
Federation SubsystemFederates a set of nodes to form a consistent scalable cluster of machines
Communication
Subsystem
Microservice discovery
Reverse proxy
Hosting & Activation
Process & container
activation
Application Programming Models Declarative application description, .NET, Java, and C++ APIs
Your Scalable, Reliable, Managed Applications
Service Fabric Architecture
Testability
Subsystem
Fault injection,
test in production
App1 App2
Service Fabric - Deployment
App Type Packages Service Fabric Cluster VMs
App1 App2
Handling Machine Failures
#FAIL
App Type Packages Service Fabric Cluster VMs
Purple NodesGreen Nodes
App1 App2
Orchestration Basics - Constraints
App Type Packages Service Fabric Cluster VMs
App1 App2
Orchestration Basics - Capacity
App Type Packages Service Fabric Cluster VMs
App1 App2
Orchestration Basics - Balancing
App Type Packages Service Fabric Cluster VMs
App1 App2
Orchestration Basics – Scaleout Service
App Type Packages Service Fabric Cluster VMs
App1 App2
Orchestration Basics – Scaleout Cluster
App Type Packages
UD3
UD2
UD1
App1 App2
Orchestration Basics - Upgrade
App2.1
App Type Packages Service Fabric Cluster VMs
Stateful Microservices - Replication
Primary
Secondary
Replication
App Type Packages Service Fabric Cluster VMs
Service Fabric Programming Models
Guest Executables/Containers
• Bring any exe
• Any language
• Any programming model
• Packaged as Application
• Gets versioning, upgrade,
monitoring, health, resource
governance
Reliable Services
• Stateless & stateful services
• Independent lifecycles
• High density
• Access to Reliable Collections
• Transactions across
collections
• Full platform integration
Reliable Actors
• Simplified programming
model
• Single Threaded model
• Requires totally disconnected
compute & state
• Removes access to some
advanced features
• Be careful
• Reliable Services provide failure management, HA of code
• Reliable Collections provide HA of state
• ReliableDictionary, ReliableQueue, ReliableConcurrentQueue
Programming models: Reliable Services
Collections
• Single machine
• Single-threaded
Concurrent Collections
• Single machine
• Multi-threaded
Reliable Collections
• Multi-machine
• Replicated (HA)
• Persisted (durable)
• Asynchronous
• Transactional
https://blogs.msdn.microsoft.com/azureservicefabric/2018/04/05/intelligent-routing-on-service-fabric-with-traefik/
https://traefik.io
https://github.com/jjcollinge/traefik-on-service-fabric
• Træfik is a reverse proxy that has been
developed with microservices in mind.
• Built-in support for dynamic
configuration, circuit breakers and
smart load balancing
• Integrated watchdog service with
Application Insights support
Recent Milestones…
In the last year:
GA of support for Windows Containers
GA of support for integration with Azure API Management
GA of support for DNS addressing within the cluster
GA of Service Fabric on Linux
GA of support for Resource Governance of processes and containers
Preview of support for .NET Core (Really .NET Standard 2 APIs)
Many performance, stability, and usability improvements
Preview of full support for Java
• Per-App network
• Stable IPs
• Service Mesh
Networking
So what’s next?
• API models inside
• Volume drivers
• Logs & Monitoring
Containers
• Resource
Governance
• Debugging
Improvements
Management
• Simplified APIs
• Serverless
• App Model
• Tools
Simplification
App Control
Azure manages VMs, OS patching, runtime upgrades, capacity planning, provides micro-billing
Customer manages application deployment (serverless)
Service Fabric “SeaBreeze”
Control and ResponsibilityMore Less
1/16/2018
App & Cluster Control
Azure manages VMs, OS patching, runtime upgrades
Customer manages application deployment and cluster capacity
Service Fabric Hosted (SFRP)
App, Cluster and Hardware Control
Customer manages hardware, OS patching, runtime upgrades, cluster capacity & application deployment
Service Fabric Standalone
On-premises
Any cloud
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-dotnet
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers-linux
http://aka.ms/ServiceFabricSDK
https://mva.microsoft.com/en-US/training-courses/building-microservices-applications-on-azure-service-fabric-16747
http://aka.ms/ServiceFabricSamples
http://aka.ms/tryservicefabric
https://blogs.msdn.microsoft.com/azureservicefabric/2016/07/06/introduction-to-service-fabric-lab-part-1/
https://stackoverflow.com/questions/tagged/azure-service-fabric
http://aka.ms/ServiceFabricForum
https://github.com/azure/service-fabric-issues
http://aka.ms/ServiceFabricSlack here
here
Service Fabric in under 4 minutes (video)
© Copyright Microsoft Corporation. All rights reserved.