Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Service Fabric Deployments

42 views

Published on

As presented by Dan Toomey at Microsoft Ignite the Tour | Sydney on February 14th, 2019

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Service Fabric Deployments

  1. 1. NOT
  2. 2. IS
  3. 3. Monolithic application approach • A monolithic application has most of its functionality within a few processes that are componentized with libraries. • Scales by cloning the app on multiple servers/VMs/Containers App 1
  4. 4. App 1 Monolithic application approach Microservices application approach • A microservice application separates functionality into separate smaller services. • Scales out by deploying each service independently creating instances of these services across servers/VMs/containers • A monolithic application has most of its functionality within a few processes that are componentized with libraries. • Scales by cloning the app on multiple servers/VMs/Containers App 1 App 2
  5. 5. Run and secure services reliably at any scale Operate Deploy any code at any scale using tools you know Deploy Build new or transform existing applications Build Azure Service Fabric Build, deploy, and operate applications, using any OS, at any scale, on any cloud
  6. 6. Power BI Dynamics Intune Cortana Skype Cosmos DB IoT Hub Event Hub SQL Database Azure Monitor Core Azure Services Archive Storage Azure DevOps Stream Analytics Azure Database for PostgreSQL Azure Database for MySQL Azure Container Registry Event Grid
  7. 7. Scenarios powered by Service Fabric Lift & shift to containers Mission-critical business SaaS IoT data processing Low-latency data processing apps …one powerful Microservices platform for Windows Server and Linux. Any workload, running anywhere. New cloud- native apps
  8. 8. From monolith to Microservice 5 stages in a continuum… ... Service Fabric can support any stage you choose New or transformed microservices app 5 Parts of existing monolith extracted 4 Existing Monolith + new microservices 3 Monolith Hosted as guest executable or container 2 Traditional app 1
  9. 9. To build, deploy, and operate… …containers or microservices on any OS on any cloud Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling Azure On-premises infrastructure Other cloudsDev machine
  10. 10. Azure Cloud Services (Web and Worker Roles) • 1 service instance per VM with uneven workloads • Lower compute density • Slow in deployment & upgrades (VM Bound) • Slower in scaling and disaster recovery
  11. 11. Azure Cloud Services (Web and Worker Roles) Azure Service Fabric (Microservices) • 1 service instance per VM with uneven workloads • Lower compute density • Slow in deployment & upgrades (VM Bound) • Slower in scaling and disaster recovery • Many microservices per VM • High microservices density • Fast deployment & upgrades • Fast scaling and failover within the cluster
  12. 12. App1 App2 Service Fabric - Deployment App Type Packages Service Fabric Cluster VMs
  13. 13. App1 App2 Handling Machine Failures #FAIL App Type Packages Service Fabric Cluster VMs
  14. 14. Purple NodesGreen Nodes App1 App2 Orchestration Basics - Constraints App Type Packages Service Fabric Cluster VMs
  15. 15. App1 App2 Orchestration Basics - Capacity App Type Packages Service Fabric Cluster VMs
  16. 16. App1 App2 Orchestration Basics - Balancing App Type Packages Service Fabric Cluster VMs
  17. 17. App1 App2 Orchestration Basics – Scaleout Service App Type Packages Service Fabric Cluster VMs
  18. 18. App1 App2 Orchestration Basics – Scaleout Cluster App Type Packages
  19. 19. UD3 UD2 UD1 App1 App2 Orchestration Basics - Upgrade App2.1 App Type Packages Service Fabric Cluster VMs
  20. 20. Stateful Microservices - Replication Primary Secondary Replication App Type Packages Service Fabric Cluster VMs
  21. 21. Node 5Node 4Node 3 Node 6Node 2Node 1 Services can be partitioned for scale-out You can choose your own partitioning scheme Service partitions are striped across machines in the cluster Replicas automatically scale out & in on cluster changes P2 S S S P4 S P1 S P3S S S
  22. 22. Application Service Service Service Node Node Node Node Cluster Partitions
  23. 23. Services are composed of code/config/data packages Code packages define an entry point (dll or exe) Config packages define service specific config information Data package define static resources (e.g. images) Packages can be independently versioned <ServiceManifest Name="QueueService" Version="1.0"> <ServiceTypes> <StatefulServiceType ServiceTypeName="QueueServiceType" HasPersistedState="true" /> </ServiceTypes> <CodePackage Name="Code" Version="1.0"> <EntryPoint> <ExeHost> <Program>ServiceHost.exe</Program> </ExeHost> </EntryPoint> </CodePackage> <ConfigPackage Name="Config" Version="1.0" /> <DataPackage Name="Data" Version="1.0" /> </ServiceManifest>
  24. 24. Voting Application
  25. 25. Node “failure”: Rolling deployment: Deployment failure: CI/CD:
  26. 26. https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-dotnet https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers-linux
  27. 27. http://aka.ms/ServiceFabricSDK https://mva.microsoft.com/en-US/training-courses/building-microservices-applications-on-azure-service-fabric-16747 http://aka.ms/ServiceFabricSamples http://aka.ms/tryservicefabric https://blogs.msdn.microsoft.com/azureservicefabric/2016/07/06/introduction-to-service-fabric-lab-part-1/ https://stackoverflow.com/questions/tagged/azure-service-fabric http://aka.ms/ServiceFabricForum https://github.com/azure/service-fabric-issues http://aka.ms/ServiceFabricSlack here here
  28. 28. dtoomey@deloitte.com.au @daniel2me linkedin.com/in/danieltoomey mindovermessaging.com github.com/dtoomey

×