Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft Azure Service Fabric

Similar presentations


Presentation on theme: "Microsoft Azure Service Fabric"— Presentation transcript:

1 Microsoft Azure Service Fabric
Mark Eisenberg December 1st, 2015

2 Agenda Cloud revisited Microservices in an Azure context
Azure Service Fabric

3 What are the business problems we need to solve?
Agility Getting it done in a timeframe that is meaningful in the market Complexity The business processes that need to be automated are complex Governance/Compliance These are a fact of life in the enterprise Cost Compared to what?

4 What is the Challenge to Solving these Problems?
Excessively complex solutions

5 Other Challenges… Solutions that were developed when resources were constrained Solutions that were developed leveraging ideas that made sense at the time “That’s not how we do it”

6 “Everyone has their definition of cloud”
Definition - a statement of the exact meaning of a word, especially in a dictionary Everyone - every person Semantics - the meaning of a word, phrase, or text

7 This is the NIST definition
Cloud Essential Characteristics Deployment Models Service Models

8 Essential Characteristics
Not this… Cloud Public Essential Characteristics Service Models Private

9 Build 2015 3/24/2020 5:11 AM What is a Microservice? “Microservices are small, autonomous services that work together” Building Microservices Sam Newman O'Reilly Media, Inc., 2015 “Small and focused on doing one thing well” Built, tested, delivered and supported by a single team © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Service Fabric Definition of a Microservice
Build 2015 3/24/2020 5:11 AM Service Fabric Definition of a Microservice (Logic + State) that is independently versioned, deployed, and scaled Uniquely resolvable name e.g. fabric:/myapplication/myservice Interacts with other microservices over well defined service interfaces and protocols like REST Remains always logically consistent in the presence of failures Hosted inside a “container” (code + config) Can be written in any language and framework node.js, Java VMs, any EXE Developed by a small engineering team © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 What is an Actor Everything is an actor
Every actor is uniquely addressable Actors are inherently concurrent/asynchronous Actors communicate exclusively through messages In response to a message an actor may: Change its state Send messages to other actors Create new actors Modify its response to future messages

12 Actoroids https://channel9.msdn.com/Events/Build/2015/3-618 - 52:50
Build 2015 3/24/2020 5:11 AM Actoroids Gateway You are destroyed Ship Turn Ships Asteroids Bolts Scores Velocity Health Position Name Fire! Accelerate/brake Join a session makes all kinds of decisions move Get state commands Get state You are launched Get state Get state You are destroyed You hit something Asteroid Get state Bolt Velocity Position IsEvil? Velocity Decay Position evil? chase(): move() move - 52:50 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Key Theme CI/CD and DevOps

14 Definitions CI = Continuous Integration CD = Continuous Delivery
DevOps = That’s a good question 

15 CI/CD Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) Jez Humble and David Farley

16 DevOps Practices developed by developers who by the nature of their organizations were also doing ops Practices need tools Tools designed by developers for developers Enterprise DevOps is tricky because dev and ops are usually separate organizations with typically less than efficient integration Tooling can be either imperative or declarative Microsoft is committing to declarative for web-scale operations

17 Microsoft Azure

18 Datacenter buildings are about one football field in size
3/24/2020 Datacenter buildings are about one football field in size © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

19 …large enough to hold two jumbo jets
3/24/2020 …large enough to hold two jumbo jets © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 That’s up to 600,000 servers in each Azure region
3/24/2020 That’s up to 600,000 servers in each Azure region And there are 16 buildings per region… © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Platform Services Security & Management Compute Cloud Services Batch Remote App Service Fabric Web and Mobile Web Apps Mobile Apps API Management Logic Notification Hubs Developer Services Visual Studio Application Insights Azure SDK Team Project Hybrid Operations Portal Azure AD Connect Health Active Directory AD Privileged Identity Management Integration Biztalk Services Hybrid Connections Service Bus Storage Queues Analytics & IoT HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Mobile Engagement Data SQL Database DocumentDB Redis Cache Search Tables SQL Data Warehouse Multi-Factor Authentication Backup Automation Operational Insights Key Vault Import/Export Store / Marketplace Media & CDN Content Delivery Network (CDN) Media Services Site Recovery VM Image Gallery & VM Depot StorSimple Why this Slide: It shows we have a very broad platform. It about BOTH IaaS and PaaS, that these work together. It shows that we continue to lead in world class IT capabilities and that there’s really nothing missing. Key Points: We have already seen how the Azure Platform is IaaS + Pass – but I want you to understand that this is a huge number of capabilities – IT building blocks if you will. Every one of these blocks you provision anytime, self-service anywhere in the world 24x7. You pay for what you use, you can get more or less anytime and you can fully automate everything… DON’T spent too much time on this slide – you are going to DEMO (aren’t you!!!)… DON’T go through each block… Transition to NEXT Slide: Make the build go backwards to show JUST IaaS and then you will go to the demo to show it. Infrastructure Services Compute Storage Networking Virtual Machines Containers BLOB Storage Azure Files Premium Storage Virtual Network Load Balancer DNS Express Route Traffic Manager VPN Gateway Application Gateway Datacenter Infrastructure (24 Regions, 19 Online)

22 Azure Service Fabric

23 3-Tier service pattern Scale with partitioned storage
Build 2015 3/24/2020 5:11 AM 3-Tier service pattern Load Balancer Scale with partitioned storage Increase reliability with queues Reduce read latency with caches Manage your own transactions for state consistency Many moving parts each managed differently Front End (Stateless Web) Stateless Middle-tier Compute Cache Queues Storage © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 Stateful services: Simplify design, reduce latency
Build 2015 3/24/2020 5:11 AM Stateful services: Simplify design, reduce latency Application state lives in the compute tier Low Latency reads and writes Partitions are first class for scale-out Built in transactions Fewer moving parts Load Balancer Front End (Stateless Web) Stateful Middle-tier Compute data stores used for analytics and disaster recovery © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 What is Azure Service Fabric?
A Platform for microservice-based applications Enabling Scalability Reliability Stateless and Stateful Services Security Manageablity

26 Production tested for over 5 years
3/24/2020 Production tested for over 5 years Skype for Business Hybrid Ops Azure Document DB billions transactions/week Intune 800k devices Azure Core Infrastructure thousands of machines Event Hubs 20bn events/day Bing Cortana 500m evals/sec Azure SQL Database 1.4 million databases Power BI © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 Multiple Constituencies

28 What does it look like? Microservices Service Fabric Azure
3/24/2020 What does it look like? Microservices Application Programming Models Service Fabric High Availability Health Monitoring Container Orchestration & lifecycle management Hybrid Operations Data Partitioning Self-healing Simple programming models High Density Rolling Upgrades Low Latency Placement Constraints Fast startup & shutdown Replication & Failover Load balancing Hyper-Scale Automated Rollback Stateful services Management Communication Reliability Hosting Subsystem Testability Private Clouds Windows Server Linux Azure Windows Server Linux Hosted Clouds Windows Server Linux Federation Transport © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

29 What it means to build a PaaS offering
Not Just a decades old server running in a VM Azure SQL Database Azure SQL Data Warehouse Service Managed Azure SQL (v12) Data Security & Compliance Management Service Backup & Restore Portal Geo-DR SQL 16 Engines Replication DQ & DTX Services High Availability Hyper-Scale High Density Rolling Upgrades Stateful services Low Latency Cluster messaging Fast startup & shutdown Container Orchestration & lifecycle management Failure Detection & Failover Load balancing Self-healing Automated Rollback Health Monitoring Placement Services Service Fabric Location Services & Routing Resizing Service Azure Storage Azure Compute with Local SSD Azure MDS Azure Fabric

30 What can you build with Service Fabric?
3/24/2020 5:11 AM What can you build with Service Fabric? Stateless services 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 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 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 Service Fabric Capabilities
Application deployment services: Rolling update with rollback Strong versioning Side-by-side support Reliability services State replication and management Service discovery Scaling services Load balancing and placement constraints Partitioning

32 Defining applications and services
Build 2015 3/24/2020 5:11 AM Defining applications and services Code Config Application Type Application Package Counter Service type Unit of Lifetime Versioning Isolation Counter WebApp type Counter WebApp Pkg Counter Service Pkg © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33 Instantiating an Application
Build 2015 3/24/2020 5:11 AM Instantiating an Application Package Service B A app 1 Package Service B A app 2 Service Package B A app 3 Package Service B A app 4 ServiceType is “like” a .NET CLR type (class CounterServiceType) ApplicationType is “like” a typed Container (CounterAppType : ServiceContainer<TServiceType> where TServiceType is CounterServiceType, ServiceType2 ApplicationInstance is an instance of the ApplicationType and has an unique name “fabric:/CounterApplication” Each service instance has a unique name in the “namespace” of the application “fabric:/CounterApplication/CounterService” © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

34 How it Works App1 App2 Build 2015 3/24/2020 5:11 AM
© 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

35 Service Fabric Partition Placement and Failover
Node 100 Node 101 Node 102 Node 103 Node 104 Node 105 P P P P S S S S S S S P S S S S S P S S S S S S Services can be partitioned for scale-out You can choose your own partitioning scheme Service partitions are stripped across machine in the cluster

36 Stateful microservices are reliable and consistent
Build 2015 3/24/2020 5:11 AM Stateful microservices are reliable and consistent Each service is backed by a replica set to make its internal state reliable All replicas are logically consistent – meaning all replicas see the same linearized order of read and write operations to initial state Read-Write quorums are supported and are dynamically adjusted Replica sets are dynamically reconfigured to account for replica arrivals and departures © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

37 Replication Reads are completed at the primary
Writes are replicated to the write quorum of secondaries Ack Read Value Write P Ack Ack Ack Ack S S Write Write S S Write Write

38 X X Reconfiguration Types of reconfiguration Primary failover
Removing a failed secondary Adding recovered replica Building a new secondary X Failed P P S B S S X Failed S S Must be safe in the presence of cascading failures

39 Building Service Fabric Applications

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

41 Build 2015 3/24/2020 5:11 AM 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) © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

42 Build 2015 3/24/2020 5:11 AM Reliable Collections Reliable collections make it easy to build stateful services. Evolution of .NET collections for the cloud Collections Single machine Single threaded Concurrent Multi threaded Reliable Collections Multi machine Replicated (HA) Persistence (durable) Asynchronous Transactional © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

43 Reliable Collections IReliableDictionary<K,V>
Build 2015 3/24/2020 5:11 AM Reliable Collections IReliableDictionary<K,V> IReliableQueue<T> Atomically update one or more collections using transactions Changes are replicated and durably stored on multiple replicas © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

44 Reliable Actor API Automatic activation management
Build 2015 3/24/2020 5:11 AM 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 activation management Automatic state management and turn based concurrency (single threaded execution) © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

45 Build 2015 3/24/2020 5:11 AM Summary Build micro-services using Reliable Actors and/or Reliable Services APIs Data Reliability is achieved through Reliable Collections and Stateful Actors Scale-out using partitions © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Microsoft Azure Service Fabric"

Similar presentations


Ads by Google