2-700.pptx

Building Resilient, Scalable Services with Microsoft Azure Service Fabric

1.0x

2-700.pptx

Created 2 years ago

Duration 0:00:00
lesson view count 132
Building Resilient, Scalable Services with Microsoft Azure Service Fabric
Select the file type you wish to download
Slide Content
  1. Mark Fussell

    Slide 1 - Mark Fussell

    • Principal Program Manager
    • Vipul Modi
    • Principal Software Engineering Manager
    • Building Resilient, Scalable Services with Microsoft Azure Service Fabric
    • 2-700
    • //build/ content is being presented by Microsoft Office Mix The video for this session will be available shortly
  2. Azure Service Fabric platform

    Slide 2 - Azure Service Fabric platform

    • Applications and microservices
    • Programming models
    • Scaling
    • Agenda
  3. Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based applications

    Slide 3 - Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based applications

    • Azure
    • Windows
    • Server
    • Linux
    • Hosted Clouds
    • Windows
    • Server
    • Linux
    • Service Fabric
    • Private Clouds
    • Windows
    • Server
    • Linux
    • High Availability
    • Hyper-Scale
    • Hybrid Operations
    • High Density
    • Microservices
    • Rolling Upgrades
    • Stateful services
    • Low Latency
    • Fast startup & shutdown
    • Container Orchestration & lifecycle management
    • Replication & Failover
    • Simple programming models
    • Load balancing
    • Self-healing
    • Data Partitioning
    • Automated Rollback
    • Health Monitoring
    • Placement Constraints
  4. Slide 4

    • App1
    • App2
    • Service Fabric cluster with microservices
  5. Slide 5

    • Handling machine failures
    • App1
    • App2
  6. What can you build with Service Fabric?

    Slide 6 - What can you build with Service Fabric?

    • Stateless applications
    • A service that has state where the state is persisted to external storage, such as Azure databases or Azure storage
    • e.g. Existing web (ASP.NET) and worker role applications
    • Stateful applications
    • Reliability of state through replication and local persistence
    • Reduces latency
    • Reduces the complexity and number of components in traditional three tier architecture
    • Existing apps written with other frameworks
    • node.js, Java VMs, any EXE
  7. Service Fabric Applications

    Slide 7 - Service Fabric Applications

    • Reliable Actors API
    • Reliable Services API
    • Azure
    • Private Clouds
    • Applications composed of microservices
    • High Availability
    • Hyper-Scale
    • Hybrid Operations
    • High Density
    • Rolling Upgrades
    • Stateful services
    • Low Latency
    • Fast startup & shutdown
    • Container Orchestration & lifecycle management
    • Replication & Failover
    • Simple programming models
    • Load balancing
    • Self-healing
    • Data Partitioning
    • Automated Rollback
    • Health Monitoring
    • Placement Constraints
    • Service Fabric
  8. Reliable Actor API

    Slide 8 - Reliable Actor API

    • Build reliable stateless and stateful objects with a virtual Actor Programming Model
    • Suitable for applications with multiple independent units of state and compute
    • Automatic state management and turn based concurrency (single threaded execution)
  9. DEMO - Reliable Actor APIStateless and stateful counter actors

    Slide 9 - DEMO - Reliable Actor APIStateless and stateful counter actors

  10. Application

    Slide 10 - Application

    • Package
    • Unit of
    • Lifetime
    • Versioning
    • Isolation
    • Counter
    • Service type
    • Counter WebApp type
    • Defining applications and services
    • Counter
    • Service
    • Pkg
    • Code
    • Config
    • Counter
    • WebApp
    • Pkg
    • Application Type
  11. Instantiating an application

    Slide 11 - Instantiating an application

    • ServiceType is like a .NET CLR type
    • Each service instance has a unique name in the “namespace” of the application “fabric:/Counter/CounterService”
    • Service
    • Package
    • B
    • Service
    • Package
    • A
    • app1
    • Service
    • Package
    • B
    • Service
    • Package
    • A
    • app4
    • Service
    • Package
    • B
    • Service
    • Package
    • A
    • app2
    • Service
    • Package
    • B
    • Service
    • Package
    • A
    • app3
  12. Reliable Services API

    Slide 12 - Reliable Services API

    • Build stateless services using existing technologies such as ASP.NET
    • Build stateful services using reliable collections
    • Manage the concurrency and granularity of state changes using transactions
    • Communicate with services using the technology of your choice (e.g WebAPI, WCF)
  13. Reliable collections make it easy to build stateful services.

    Slide 13 - Reliable collections make it easy to build stateful services.

    • Evolution of the .NET collections for the cloud
    • Reliable Collections
    • Collections
    • Single machine
    • Single threaded
    • Concurrent
    • Collections
    • Single machine
    • Multi threaded
    • Reliable Collections
    • Multi machine
    • Replicated (HA)
    • Persistence (durable)
    • Asynchronous
    • Transactional
  14. Transactional asynchronous operations with quorum commits

    Slide 14 - Transactional asynchronous operations with quorum commits

    • Changes are replicated and durably stored on multiple replicas
    • Transaction can span multiple reliable collections providing atomicity of operations across them
    • Repeatable reads for CRUD, Snapshot for enumeration
    • Reliable Collections
    • IReliableQueue<T>
    • IReliableDictionary<K,V>
  15. Reliable Service APIStateless Word count service

    Slide 15 - Reliable Service APIStateless Word count service

    • DEMO
  16. Cloud Services

    Slide 16 - Cloud Services

    • Azure Tables/NoSQL
    • Reliable Azure Queue
    • Service Fabric
    • (Stateful)
    • Word count serviceCloud Service vs Stateful Service Fabric
  17. Reliable Service APIStateful Word count service

    Slide 17 - Reliable Service APIStateful Word count service

    • DEMO
  18. Service partitioning

    Slide 18 - Service partitioning

    • P2
    • S
    • S
    • P
    • S
    • P4
    • S
    • P1
    • S
    • S
    • P3
    • S
    • S
    • S
    • S
    • Node 100
    • S
    • Node 101
    • Node 102
    • Node 103
    • Node 104
    • Node 105
    • Services can be partitioned for scale-out
    • You can choose your own partitioning scheme
    • Service partitions are stripped across machine in the cluster
  19. Scale-out and partitioning

    Slide 19 - Scale-out and partitioning

    • Load Balancer
  20. Reliable Service APIScale-out stateful word count service

    Slide 20 - Reliable Service APIScale-out stateful word count service

    • DEMO
  21. Reliable Actors API

    Slide 21 - Reliable Actors API

    • Reliable Services API
    • Your problem space involves many small independent objects of state and logic.
    • You need to maintain logic across multiple units of state.
    • You want to work with actor style programming model of single-threaded objects while still being able to scale and maintain consistency. 
    • You want to use reliable data structures (.NET Dictionary and Queue) to store and manage your state.
    • You want the system to manage the concurrency and granularity of state.
    • You want to control the granularity and concurrency of your state using transactions.
    • You want the platform to manage communication for you
    • You want to manage the communication and control the partitioning scheme for your service
    • When to use which programming API?
  22. Download the Service Fabric developer SDK

    Slide 22 - Download the Service Fabric developer SDK

    • http://aka.ms/ServiceFabric
    • Learn from the tutorials and videos
    • http://aka.ms/ServiceFabricdocs
    • Attend other talks
    • Microsoft Azure Service Fabric Architecture
    • Deploying and managing services with Microsoft Azure Service Fabric
    • Provide feedback
    • http://aka.ms/ServiceFabricforum
    • http://stackoverflow.com/questions/tagged/azure-service-fabric
    • Call to Action
  23. Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    Slide 23 - Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    • Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!
    • Easily build web and mobile apps for any platform with AzureAppService for free.
    • Resources