This document discusses how to build massively scalable systems using DataStax and Microsoft's Azure Service Fabric platform. It addresses large-scale challenges like operations management, high density, deployment, updates, scalability, availability and failure recovery. It demonstrates how Service Fabric enables higher microservice density, faster deployments and upgrades, and fast scaling across clusters. Placement constraints and rolling upgrades are explored, along with handling failures and scaling services. Service Fabric provides declarative models, load balancing, and auto-scaling to simplify managing large, distributed systems.
Boost PC performance: How more available memory can improve productivity
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's Next Generation PaaS Infrastructure
1. Building a massively scalable
system with DataStax and
Microsoft's next generation
Paas infrastructure
Rob Bagby
Sr. Cloud Architect – Microsoft
www.deveducate.com / www.robbagby.com
Rob.Bagby@Microsoft.com
@RBagby
Jesus Aguilar
Sr. Cloud Architect – Microsoft
www.giventocode.com
Jesus.Aguilar@microsoft.com
@GivenToCode
2. How do I scale my Data linearly?
Does the VM have the required resources?
Are there any cold VMs that I shouldn't be paying for?
How do I move a service?
Is the VM running?Is the VM too hot?How do I deploy across a part of the cluster?
Does the VM have the required capacity?
How do I roll back a deployment if it is does not work?
How do I deploy across a part of the cluster?
Can I have multiple versions running side-by-side?
Where should I move it?
Does my data have a single point of failure?
Is my application running?
Can I replicate data across data centers?
3. Large and Distributed Challenges
Ops Management
High Density
Resource Governance
Deployment and Packaging
Rolling updates
Scalability
Hyper Scale
Load balancing
Scale Out
Maintainability
Granular versioning
In-flight testing
Microservices
Availability
Failure resilient
Rolling updates
Recovery from failures
4. Azure Service Fabric
VNext PaaS offering
Battle tested – internally used
by +5 years in large systems
State of the art orchestration
and management
Stateful and Stateless
programming model
9. Large and Distributed Challenges
Ops Management
High Density
Resource Governance
Deployment and Packaging
Rolling updates
Scalability
Hyper Scale
Load balancing
Scale Out
Maintainability
Granular versioning
In-flight testing
Microservices
Availability
Failure resilient
Rolling updates
Recovery from failures
10. Achieving High Density with Azure Service Fabric
IaaS Approach
1 Cluster – 1 VM
Azure Service Fabric
(Stateless, stateful or Actor services)
• 1 service instance per VM with uneven workloads
• Lower compute density
• Slow in deployment & upgrades
• Slower in scaling and disaster recovery
• Many microservices per VM
• High microservices density
• Fast deployment & upgrades
• Fast scaling microservices across the cluster
11. Placement Constraints
You control your
topology
Web
Internal API
N1
DMZ = False
N2
DMZ = True
N4
DMZ = True
N5
DMZ = True
N6
DMZ = False
N3
DMZ = False
Constraints = “(DMZ == False)”
Constraints = “(DMZ == True)”
13. Large and Distributed Challenges
Ops Management
High Density
Resource Governance
Deployment and Packaging
Rolling updates
Scalability
Hyper Scale
Load balancing
Scale Out
Maintainability
Granular versioning
In-flight testing
Microservices
Availability
Failure resilient
Rolling updates
Recovery from failures
14. FD2FD1
UD2
UD1
Nodes will go down.
Fault Domains
Same physical location, HW
failures
Upgrade Domains
SW upgrades to the underlying
compute resources
Web Web
API API
16. Large and Distributed Challenges
Ops Management
High Density
Resource Governance
Deployment and Packaging
Rolling updates
Scalability
Hyper Scale
Load balancing
Scale Out
Maintainability
Granular versioning
In-flight testing
Microservices
Availability
Failure resilient
Rolling updates
Recovery from failures
18. Large and Distributed Challenges
Ops Management
High Density
Resource Governance
Deployment and Packaging
Rolling updates
Scalability
Hyper Scale
Load balancing
Scale Out
Maintainability
Granular versioning
In-flight testing
Microservices
Availability
Failure resilient
Rolling updates
Recovery from failures
19. Scaling and Balancing
• Declarative Model – “I want the topology to look like this”
• Service Fabric does the work
• Balances Resources
• Moves services when hot
• Respects constraints
• You provide guidance
• These metrics are important
• CPU
• Memory
• Etc.
• Balancing Threshold
• Activity Threshold