Presentation is loading. Please wait.

Presentation is loading. Please wait.

Build 2015 4/26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek Attila @ersekattila © 2015 Microsoft Corporation.

Similar presentations


Presentation on theme: "Build 2015 4/26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek Attila @ersekattila © 2015 Microsoft Corporation."— Presentation transcript:

1 Build 2015 4/26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek Attila @ersekattila © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Challenges

3 Common Cloud Service Architecture
Compute (Stateful?) Frontend/API/Gateway (Stateless) Network Load-balancer Web Server Storage (Stateful)

4 Common Cloud Service Architecture
TechReady 18 4/26/2018 Common Cloud Service Architecture Attempting to scale… Compute (Stateful?) Gateway (Stateless) Network Load-balancer Web Server (Web Role) (Worker Role) Storage (Stateful) Cache © 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.

5 Common Cloud Service Architecture
TechReady 18 4/26/2018 Common Cloud Service Architecture Attempting to Increase Reliability… Compute (Stateful?) Gateway (Stateless) Network Load-balancer Web Server (Web Role) (Worker Role) Storage (Stateful) DB (P1) DB (P2) DB (N) Queue Cache Services become complex with many moving parts © 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.

6 Challenges with PaaS High Availability and Reliability Scale
“All my worker roles are up but my service is down!” Scale Scaling up and Down for performance vs. costs Performance and Latency Read and Write Performance Management Managing Resource Utilization & Application Lifecycle Portability Run the same application on my dev box, Windows Server, Azure Complexity Many different components to manage and maintain

7 Service Fabric PaaS Evolved

8 Azure Service Fabric platform Applications and microservices
Build 2015 4/26/2018 6:17 AM Azure Service Fabric platform Applications and microservices Programming models Scaling © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9 4/26/2018 Microsoft Azure Service Fabric A platform for reliable, hyperscale, microservice-based applications microservices Service Fabric Health Monitoring Container Orchestration & lifecycle management High Availability 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 Private Clouds Windows Server Linux Azure Windows Server Linux Hosted Clouds Windows Server Linux © 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.

10 Battle-hardened for over 5 years
4/26/2018 Battle-hardened 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.

11 Typical datacenter A set of independent machines; physical or virtual
Build 2015 4/26/2018 6:17 AM Typical datacenter A set of independent machines; physical or virtual © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Cluster: A federation of machines
Build 2015 4/26/2018 6:17 AM Cluster: A federation of machines A set of machines that Service Fabric stitches together to form a cluster Clusters can scale to 1000s of machines Node Node Node Node Node Node © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Cluster: System view System Services Failover manager Cluster Naming
Build 2015 4/26/2018 6:17 AM Cluster: System view System Services Failover manager Cluster Naming Image store © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Build 2015 4/26/2018 6:17 AM What is a microservice? Is (logic + state) that is independently versioned, deployed, and scaled Has a unique name that can be resolved e.g. fabric:/myapplication/myservice Interacts with other microservices over well defined 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.

15 Types of microservices
Build 2015 4/26/2018 6:17 AM Types of microservices Stateless microservice Has either no state or it can be retrieved from an external store There can be N instances e.g. web frontends, protocol gateways, Azure Cloud Services etc. Stateful microservice Maintain hard, authoritative state N consistent copies achieved through replication and local persistence e.g. database, documents, workflow, user profile, shopping cart etc. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 Programming Models

17 Runtime APIs Levels & Capabilities
Reliable Actors [ ] IoT Applications, Halo… Reliable Services [ ] Current Enterprise Developers… Reliable Collections [ ] InTune, … State Management APIs [ ] Doc DB, Lync… Replica Set Management APIs [ ] SQL Azure Provided by Platform Provided by User Replica Set Management State Replication State Storage Messaging [ ] Programming Model Business Logic

18 Reliable Actors Stateless or Stateful Virtual Actors
Single Threaded by Default Re-entrancy options Timers and Reminders public class Voic BoxActor : Voic BoxActorBase { public override Task<List<Voic >> GetMessagesAsync() return Task.FromResult(this.State.MessageList); } public override Task LeaveMessageAsync(string message) this.State.MessageList.Add( new Voic () Id = Guid.NewGuid(), Message = message, ReceivedAt = DateTime.Now }); return Task.FromResult(true);

19 Reliable Services More control over data partitioning so you can determine data relationships and consistency requirements between chunks of state Multithreaded More likely to BYO transport S1 S3 Client S2 S4

20 TechReady 18 4/26/2018 Reliable Collections Use our replicated datastructures or build your own Single Machine Multi-Machine Reliable Collections Multi-Node Replicated (HA) Persistence Option Asynchronous Transactional Concurrent Collections Multi-Threaded Collections Single Threaded Dictionary<TKey, TValue> ConcurrentDictionary<TKey, TValue> ReliableDictionary, Tvalue> © 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 High Availability, Low Latency, and Scale
Compute (Stateful?) Gateway (Stateless) Network Load-balancer Web Server (Web Role) (Worker Role) Storage (Stateful) DB (P1) DB (P2) DB (P3) Queue Cache Conventionally data is made highly available with external storage. Scale is achieved by scaling out stateless front ends and affinitization to workers Latency is caused by many network hops and data layer contention at scale.

22 High Availability, Density, Low Latency, and Scale
Compute (Stateful and Highly Reliable) Network Load-balancer Stateless Gateway Stateful Worker Code & State Stateful Workers used for “hot” data to minimize contention and network hops External Storage used for “cold” data such as analytics Storage ElasticSearch DataLake


Download ppt "Build 2015 4/26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek Attila @ersekattila © 2015 Microsoft Corporation."

Similar presentations


Ads by Google