Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Neil Mackenzie's SF Microservices Talk

Kathleen-MN
December 21, 2016

Neil Mackenzie's SF Microservices Talk

Azure Service Fabric

Abstract: Azure Service Fabric is the microservices hosting platform Microsoft uses to power some of the largest services running in Azure – although you can use it to deploy microservices anywhere, on Windows or on Linux. This talk is focused on how Service Fabric implements microservices features such as orchestration, service health and persistent state.

Kathleen-MN

December 21, 2016
Tweet

Other Decks in Technology

Transcript

  1. Azure Service Fabric Hosting platform for microservices Developed for 1st-party,

    hyperscale services Provide resilience and compute density at scale In development since 2009 - Now GA Deployable anywhere
  2. Service Fabric inside Microsoft Azure Core Infrastructure SQL Database 1.4M

    databases Bing Cortana 500M evals / sec Event Hubs 20B events / day
  3. Service Fabric cluster Set of compute nodes Windows, Linux (preview)

    Deployable anywhere: laptop to cloud Management services Cluster Manager Failover Manager Fault Analysis Naming
  4. Deployment model Application Collection of services Isolation unit Services Independently

    deployable Load-balanced endpoints Configuration Versioning
  5. Programming model Stateful/ Stateless Reliable collections Replicas Partitions Native integration

    Any executable Replicas Reliable Services Guest executable Virtual actor model Stateful Partitions Native integration Reliable Actors
  6. Local state Stateful Services and Reliable Actors Reliable collections Dictionaries

    Queues Partitioned for scale Replicated for availability Active primary with passive secondaries Transactions
  7. Scheduling Monolithic scheduler (Omega sense) Constraints Node Placement Capacity Balancing

    • Platform continually monitors cluster and service health • Automatically balances cluster within constraints • Flexible specification of constraints
  8. Monitoring and service health Service Fabric uses ETW (structured logging)

    Other logging fabrics can be used Health of cluster, application and service
  9. No downtime rolling upgrades Service 2 v2 Service 3 v1

    Service 1 v2 Service 2 v2 Service 1 v1 Service 3 v1 Service 2 v2 Service 3 v1 Service 1 v1 UD0 UD1 UD2 FD0 FD1