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

Slides:



Advertisements
Similar presentations
Business logic Datacenter Respond to hardware failures Add storage capacity Handle increase in traffic Diagnose service failures Apply OS.
Advertisements

Application Internet Azure Cloud Internet Azure Cloud LB TDS (tcp) Applications use standard SQL client libraries: ODBC, ADO.Net, PHP, … Load balancer.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Building Scalable Cloud Applications David Aiken Windows Azure Technical Specialist Microsoft Corporation.
Microsoft Ignite /16/2017 2:42 PM
Features Scalability Availability Latency Lifecycle Data Integrity Portability Manage Services Deliver Features Faster Create Business Value.
Building Resilient, Scalable Services with Microsoft Azure Service Fabric Mark Fussell Principal Program Manager Vipul Modi Principal Software.
Get more control & flexibility of the Windows Azure environment Developers IT Pros Easier migration of existing Windows applications to Windows Azure.
PlacePlace TypeType ServiceService Analysis Caching Integration Sync Search Relational BLOB Query BackupLoad Multi Dim In Memory File XML Reporting.
Windows Azure Dave Glover Developer Evangelist Microsoft Australia Tel:
Building Scalable, Global, and Highly Available Web Apps Name Title Microsoft Corporation.
A Windows Azure application runs multiple instances of each role A Windows Azure application behaves correctly when.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Building micro-service based applications using Azure Service Fabric
Creating highly available and resilient Microservices on Microsoft Azure Service Fabric
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

And scales by cloning the app on multiple servers/VMs/Containers Traditional architecture approach Microservices architecture approach A microservice.
Sam Vanhoutte CTO Codit, Integration MVP Azure Service Fabric: notes from the field.
Microservice Best Practices Lessons Learned from Azure Service Fabric Mark Russinovich CTO, Microsoft
MIX 09 11/30/2017 5:54 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
IT Operations Management
Dev and Test Solution reference architecture.
Run Azure Services in your datacenter
Dev and Test Solution reference architecture.
Dev and Test Solution reference architecture.
Microservices with Azure Service Fabric Building and Running Services at Scale
What has Azure to offer to IoT Developers?
Dev and Test Solution reference architecture.
Windows Azure Cloud Visit – Ravindra verma.
Dev and Test Solution reference architecture.
Introduction to windows azure: windows azure, sql azure and app fabric
IT Operations Management
Windows Azure Pack : Express Installation
Microsoft Azure Service Fabric Overview
Windows Azure Web Sites
Melbourne Azure Meetup
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Introduction to Windows Azure Web Sites
Windows Azure 講師: 李智樺, Ruddy Lee
11/27/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Developing for the cloud with Visual Studio
Windows Azure Cloud.
Title of Presentation 12/2/2018 3:48 PM
Power-up NoSQL with Azure Cosmos DB
Learn. Imagine. Build. .NET Conf
Microsoft Virtual Academy
Dev and Test Solution reference architecture.
Introduction to Building Applications with Windows Azure
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Azure Overview
4/18/2019 9:46 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Building global and highly-available services using Windows Azure
Developing Windows Azure Applications with Visual Studio
Шитманов Дархан Қаражанұлы Тарих пәнінің
Day 2, Session 2 Connecting System Center to the Public Cloud
Microsoft Virtual Academy
Johan Lindberg, inRiver
Microsoft Virtual Academy
10/13/2019 4:41 AM DNN Cloud Services Under the Hood David Rodriguez Cloud Team Lead Engineer – DNN Corp. Windows Azure Insider © 2010 Microsoft.
Presentation transcript:

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.

Challenges

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

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.

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.

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

Service Fabric PaaS Evolved

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.

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.

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.

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.

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.

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.

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.

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.

Programming Models

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

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

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

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.

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.

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