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

GABC2018: Microservices with Azure Service Fabric. Easy... or is it? by Daniel Marbach

GABC2018: Microservices with Azure Service Fabric. Easy... or is it? by Daniel Marbach

Service Fabric is so simple! Just click-click-deploy and we have a stateless microservice! But what if we want to store business data? We can use reliable collections and even transactions to store data inside the cluster, but what happens when our single partition goes down? We could lose everything! Now we need to partition our data… how do we do that? And how do we integrate with other PaaS offerings like Azure Service Bus? Maybe this isn’t so easy after all. In this talk I'll walk you through Service Fabric Partitioning, a partition affinity model for Azure Service Bus queues and challenges you'll face with messaging patterns like request/response, publish/subscribe, process managers and other stateful entities running inside a Service Fabric Cluster.

Azure Zurich User Group

April 21, 2018
Tweet

More Decks by Azure Zurich User Group

Other Decks in Programming

Transcript

  1. https://channel9.msdn.com/Blogs/Azure/Azure-Service-Fabric https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview On-premises or in the cloud High Availability Hyper

    Scale Data Partitioning Rolling Upgrades Our Chocolate Microservices Automatic Rollback Container orchestration & lifecycle management Stateless Services StatefulServices Self-healing Replication & Failover Load balancing Health Monitoring
  2. Publisher Shipping1 Shipping1 Shipping2 Shipping3 Logical Subscriber “Shipping” Evnt Shipping

    Shipping2 Shipping3 ChocolateOrdered Different bounded context
  3. Receiver Side Distribution Publisher Shipping1 Shipping1 Shipping2 Shipping3 Logical Subscriber

    “Shipping” Evnt Shipping Shipping2 Shipping3 ChocolateOrdered Different bounded context
  4. ChocolateOrder.Front ChocolateOrder Dark Brown White Order Microservice Frontend (Stateless) Broker

    Sender Side Distribution Sender and Receiver Side Distribution ChocolateOrder ChocolateOrder ChocolateOrder ProcessManager Backend (Stateful) Shipping 33000 66000 99000 Shipping Microservice Broker Receiver Side Distribution Shipping Shipping Backend (Stateful)
  5. Recap It is always more difficult than Microsoft tells you

    ;) Stateful computation with low latency requires smart routing Service Fabric with stateless and stateful services combined with messaginggives you best of two worlds