BRK3730: Building Resilient, Scalable Services with Microsoft Azure Service Fabric

[Speaker: Vaclav Turecek; Vipul Modi] Learn about the programming models available in Service Fabric to build highly available, low latency micro-services that can be deployed into Service Fabric clusters running on Microsoft Azure or Windows Server. After this session you will be able to write object-oriented microservices using the Actor programming model and build stateful web and enterprise applications using Reliable Services programming model.

How toBreakoutIgnite2015Azure
1.0x

BRK3730: Building Resilient, Scalable Services with Microsoft Azure Service Fabric

Created 2 years ago

Duration 1:15:04
lesson view count 308
[Speaker: Vaclav Turecek; Vipul Modi] Learn about the programming models available in Service Fabric to build highly available, low latency micro-services that can be deployed into Service Fabric clusters running on Microsoft Azure or Windows Server. After this session you will be able to write object-oriented microservices using the Actor programming model and build stateful web and enterprise applications using Reliable Services programming model.
Select the file type you wish to download
Slide Content
  1. Building Resilient, Scalable Services with Microsoft Azure Service Fabric

    Slide 1 - Building Resilient, Scalable Services with Microsoft Azure Service Fabric

    • Vaclav Turecek
    • Senior Program Manager
    • Vipul Modi
    • Principal Software Engineering Manager
    • BRK3730
  2. Azure Service Fabric platform

    Slide 2 - Azure Service Fabric platform

    • Applications and microservices
    • Programming models
    • Scaling
  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. Battle-hardened for over 5 years

    Slide 4 - Battle-hardened for over 5 years

    • Azure Core Infrastructure
    • thousands of machines
    • Power BI
    • Intune
    • 800k devices
    • Azure SQL Database
    • 1.4 million databases
    • Bing Cortana
    • 500m evals/sec
    • Azure Document DB
    • billions transactions/week
    • Skype for Business
    • Hybrid Ops
    • Event Hubs
    • 20bn events/day
  5. Slide 5

    • App1
    • App2
    • Service Fabric cluster with microservices
  6. Stateless services

    Slide 6 - Stateless services

    • A service that has state where the state is persisted to external storage, such as Azure databases or Azure storage
    • Existing web (ASP.NET) and worker role applications
    • What can you build with Service Fabric?
    • Stateful services
    • 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

    • 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
    • Reliable Actors API
    • Reliable Services API
  8. Build reliable stateless and stateful objects with a virtual Actor Programming Model

    Slide 8 - 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)
    • Reliable Actors API
  9. Demo: Reliable Actors API

    Slide 9 - Demo: Reliable Actors API

  10. Learn more about Reliable Actors APIs

    Slide 10 - Learn more about Reliable Actors APIs

    • Breakout Session: BRK3476:
    • Microsoft Azure Service Fabric Actors: The Director's Cut
    • (Deep Dive into Next Generation PaaS Reliable Actor Programming Model)
    • Thursday, May 7 2015 @ 5:00 pm
    • Location: S405
  11. Application

    Slide 11 - 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
  12. Slide 12

    • Instantiating an application
    • ServiceType is “like” a class type
    • ApplicationType is “like” a typed Container
    • Each service instance has a unique name in the “namespace” of the application “fabric:/CounterApplication/CounterService”
    • ApplicationInstance is an instance of the ApplicationType and has an unique name “fabric:/CounterApplication”
    • 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
  13. Reliable Services API

    Slide 13 - Reliable Services API

    • Build stateless services using existing technologies such as ASP.NET.
    • Manage concurrency and granularity of state changes with transactions in stateful services.
    • Communicate with services using the technology of your choice (e.g Web API, WCF, [web]sockets, etc).
  14. Demo: Reliable Services API

    Slide 14 - Demo: Reliable Services API

    • Stateless word count service
  15. Cloud Services

    Slide 15 - Cloud Services

    • Azure Tables/NoSQL
    • Azure Queue
    • Word count service – Cloud Services
  16. Reliable collections make it easy to build stateful services.

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

    • An evolution of .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
  17. Data is replicated and durably stored on multiple replicas.

    Slide 17 - Data is replicated and durably stored on multiple replicas.

    • Atomically update one or more collections using transactions.
    • Reads are repeatable within the transaction.
    • Enumerations are snapshot based.
    • Supports LINQ.
    • Reliable Collections
    • IReliableQueue<T>
    • IReliableDictionary<K,V>
  18. Service Fabric

    Slide 18 - Service Fabric

    • Stateful Service
    • Word count service – Service Fabric
    • Cloud Services
    • Azure Tables/NoSQL
    • Azure Queue
  19. Demo: Reliable Services API

    Slide 19 - Demo: Reliable Services API

    • Stateful word count service
  20. Node 5

    Slide 20 - Node 5

    • Node 4
    • Node 3
    • Node 6
    • Node 2
    • Node 1
    • Service partitioning
    • P2
    • S
    • S
    • S
    • P4
    • S
    • P1
    • S
    • P3
    • S
    • S
    • S
    • Services can be partitioned for scale-out.
    • You can choose your own partitioning scheme.
    • Service partitions are striped across machines in the cluster.
  21. Scale-out and partitioning

    Slide 21 - Scale-out and partitioning

    • Load Balancer
  22. Demo: Reliable Services API

    Slide 22 - Demo: Reliable Services API

    • Scale-out word count service
  23. Summary

    Slide 23 - Summary

    • Built micro-services using Reliable Actors and Reliable Services APIs
    • Achieved Data Reliability through Reliable Collections and Stateful Actors
    • Scaled-out using partitioning
  24. Download the Service Fabric developer SDK

    Slide 24 - Download the Service Fabric developer SDK

    • http://aka.ms/ServiceFabric
    • Download the samples from GitHub
    • http://github.com/Azure/ServiceFabric-Samples
    • Learn from the tutorials and videos
    • http://aka.ms/ServiceFabricdocs
    • Attend other talks
    • BRK3478: Deploying and Managing Services with Microsoft Azure Service Fabric – Wednesday @ 5:00 pm
    • BRK3485: Service Orchestration with Microsoft Azure Service Fabric – Thursday @ 1:30 pm
    • BRK3476: Microsoft Azure Service Fabric Actors: The Director's Cut – Thursday @ 5:00 pm
    • Provide feedback
    • http://aka.ms/ServiceFabricforum
    • http://stackoverflow.com/questions/tagged/azure-service-fabric
    • Twitter hastag #AzureServiceFabric
    • Call to Action
  25. Visit Myignite at http://myignite.microsoft.com  or download and use the Ignite Mobile App with the QR code above.

    Slide 25 - Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile App with the QR code above.

    • Please evaluate this session
    • Your feedback is important to us!