Microsoft Azure Service Fabric Overview

Slides:



Advertisements
Similar presentations
Building Scalable Web Apps with Windows Azure Name Title Microsoft Corporation.
Advertisements

Web RoleWorker Role At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed.
Microsoft Ignite /16/2017 2:42 PM
Multitenant Model Request/Response General Model.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Windows Azure Role Cloud Computing Soup to Nuts Mike Benkovich Microsoft Corporation btlod-71.
A Windows Azure application runs multiple instances of each role A Windows Azure application behaves correctly when.
Yousef Khalidi Distinguished Engineer Microsoft Corporation.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
demo Instance AInstance B Read “7” Write “8”
customer.
Testing Azure Applications with Visual Studio 2010 Abhishek Agrawal Senior Program Manager Visual Studio Microsoft Corporation
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Windows Azure SQL Data Sync Name Title Microsoft Corporation.
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.
PHP Web Development Language EclipseDevelopment Environment MySQLRelational Database memcachedDistributed Memory Cache.
And scales by cloning the app on multiple servers/VMs/Containers Traditional architecture approach Microservices architecture approach A microservice.
Microservice Best Practices Lessons Learned from Azure Service Fabric Mark Russinovich CTO, Microsoft
Microsoft Build /9/2017 5:00 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
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
1/26/2018 Hosting Windows Desktops and Applications Using Remote Desktop Services and Azure Windows Server Azure Resource Manager © 2014 Microsoft.
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Run Azure Services in your datacenter
Building ARM IaaS Application Environment
4/24/ :07 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Build /26/2018 6:17 AM Building Resilient, Scalable Services with Microsoft Azure Service Fabric Érsek © 2015 Microsoft Corporation.
BRK1036 Building applications with Microsoft Azure Service Fabric on Windows and Linux Subramanian Ramaswamy (Mani) Sean McKenna
Modern Backends Service Fabric & Actor Model Damir Dobric, daenet.
S4 Solution Specialist Sales Summit
System Center Marketing
Microservices with Azure Service Fabric Building and Running Services at Scale
Windows Azure Cloud Visit – Ravindra verma.
IT Operations Management
Exceedra + Azure Mark Rendle Principal Software Architect
Microsoft Azure P wer Lunch
Microsoft Azure P wer Lunch
Service Fabric Patterns & Best Practices
Cloud Database Based on SQL Server 2012 Technologies
Dev and Test Environments in the Cloud
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
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
Developing for the cloud with Visual Studio
Build /2/ The future of Azure devops: Building and managing cloud applications lifecycle across your teams Bradley Millington Program.
Learn. Imagine. Build. .NET Conf
Microsoft Virtual Academy
Introduction to Building Applications with Windows Azure
System Center Application Management
1/2/2019 5:18 PM THR3016 Customer stories: Plan and orchestrate large resource deployments on Azure infrastructure Igal Figlin Principal PM Manager – Azure.
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
Windows Azure Overview
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Service Template Creation from the Ground Up
04 | Performance and the Premium SKU
Building global and highly-available services using Windows Azure
Developing Windows Azure Applications with Visual Studio
Windows Azure Hybrid Architectures and Patterns
Шитманов Дархан Қаражанұлы Тарих пәнінің
Day 2, Session 2 Connecting System Center to the Public Cloud
Office 365 Development July 2014.
Sessions about to start – Get your rig on!
7/19/2019 2:53 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Virtual Academy
Johan Lindberg, inRiver
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.
利用IIS部署與維護 SOA應用程式的技巧
Presentation transcript:

Microsoft Azure Service Fabric Overview Steve Spencer Solution Architect, Liberis, Nottingham Microsoft Azure MVP @sdspencer http://blogs.recneps.org

Microsoft Azure Service Fabric Azure Service Fabric Microservices Service Fabric Programming models Scalability, failure, upgrading Demos

Microsoft Azure Service Fabric Traditional vs Microservices approach Microsoft Build 2016 9/18/2018 3:33 AM Microsoft Azure Service Fabric Traditional vs Microservices approach Traditional application approach A traditional app contains domain specific functionality and is normally divided by functional layers such as web, business and data. Scales by cloning the app on multiple servers/VMs/Containers. 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. App 1 App 1 App 2 © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Azure Service Fabric Platform 9/18/2018 Microsoft Azure Service Fabric Platform Microsoft Azure Service Fabric is a platform for reliable, hyperscale, microservice-based applications. Microservices Service Fabric Lifecycle Management Independent Scaling Independent Updates Always On Availability Resource Efficient Stateless / Stateful Private cloud Azure Other clouds Locally © 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.

Microsoft Azure Service Fabric Services built with Service Fabric Azure Core Infrastructure Skype for Business Hybrid Ops Intune 800,000+ devices Azure Document DB Billions of transactions /week Event Hubs 20 billion events/ day Bing Cortana 500 million evals/sec Power BI Azure SQL Database 1.4 million databases IoT More!

Microsoft Azure Service Fabric Demo – getting started Portal Experience Visual Studio Experience File processing application Service Fabric Explorer Azure Cluster

Microsoft Azure Service Fabric Service type Services types are composed of code/config/data packages. code packages define an entry point (dll or exe) config packages define service specific config information data packages define static resources (eg. images) Packages can be independently versioned. Service Type 1 Code Config Data <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>

Microsoft Azure Service Fabric Application type Declarative template for creating an application Based on a set of service types Used for packaging, deployment, and versioning Application type A Service type 1 Service type 2 Service type 3 Code Config Data Code Config Data Code Config Data

Microsoft Azure Service Fabric Service Fabric Programming Models Guest executables and Containers Reliable Services Reliable Actors Bring any exe. Any language. Any programming model. Packaged as Application or as a Container. Gets versioning, upgrade, monitoring, health, etc. Stateless and stateful services. Concurrent, granular state changes. Use of the Reliable Collections. Transactions across collections. Full platform integration. Stateless and stateful actor objects. Simplified programming model. Single Threaded model. Great for scaled out compute and state.

Microsoft Azure Service Fabric Service Fabric Platform capabilities 9/18/2018 3:33 AM Microsoft Azure Service Fabric Service Fabric Platform capabilities All code and programming models Fast deployment. Placement and activation. Reliability. High density. Health reporting. Coordinated upgrades.

Microsoft Azure Service Fabric Guest Executables and Containers Microsoft Build 2016 9/18/2018 3:33 AM Microsoft Azure Service Fabric Guest Executables and Containers Guest Executable and Containers ServiceManifest.xml <ServiceManifest Name="Pkg-Svc.Website" Version="1.0.0" …> <ServiceTypes> <StatelessServiceType ServiceTypeName="Svc.WebsiteType" UseImplicitHost="true"/> </ServiceTypes> <CodePackage Name="Code" Version="1.0.0"> <EntryPoint> <ExeHost> <Program>node.exe</Program> <Arguments>Server.js</Arguments> </ExeHost> </EntryPoint> </CodePackage> </ServiceManifest> <ContainerHost> <ImageName>myNodeImage:latest</ImageName> <Commands></Commands> </ContainerHost> © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Azure Service Fabric Reliable Services programming model Service endpoint discovery Dynamic resource balancing based on actual resource usage Integrated application patterns e.g. Actor pattern and WebApi Visual Studio development e.g. F5 debugging, diagnostics events, package and deploy

Microsoft Build 2016 9/18/2018 3:33 AM Microsoft Azure Service Fabric State Architectures: Traditional vs Service Fabric Stateless Web Stateless Compute Cache Stateful Data Other Internal Tiers ? Load Balancer Stateless Web Stateful Compute Load Balancer © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Azure Service Fabric Reliable collections 9/18/2018 3:33 AM Microsoft Azure Service Fabric Reliable collections Highly-reliable and scalable state Lower latency compared to external storage An evolution of .NET collections - for the cloud ReliableDictionary<T1,T2> and ReliableQueue<T> Collections Single machine Single-threaded Concurrent collections Single machine Multi-threaded Reliable collections Multi-machine Replicated (HA) Persistence (durable) Asynchronous Transactional

Microsoft Azure Service Fabric Transactionally modifying reliable data protected override async Task RunAsync(CancellationToken cancellationToke) {     var requestQueue = await this.StateManager.GetOrAddAsync<IReliableQueue<CustomerRecord>>(“requests");     var locationDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<Guid, LocationInfo>>(“locs");     var personDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<Guid, Person>>(“ppl");     var customerListDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<Guid,object>>(“customers");     while (true)     {         cancellationToke.ThrowIfCancellationRequested();         Guid customerId = Guid.NewGuid();         using (var tx = this.StateManager.CreateTransaction())         {             var customerRequestResult = await requestQueue.TryDequeueAsync(tx);             await customerListDictionary.AddAsync(tx, customerId, new object());             await personDictionary.AddAsync(tx, customerId, customerRequestResult.Value.person);             await locationDictionary.AddAsync(tx, customerId, customerRequestResult.Value.locInfo);             await tx.CommitAsync();         }     } } Everything happens or nothing happens!

Microsoft Azure Service Fabric Stateful Microservices – replication Primary Secondary Replication Service Fabric Cluster VMs

Microsoft Azure Service Fabric Handling machine failures App Type Packages App 1 App 2 #FAIL Service Fabric Cluster VMs

Microsoft Azure Service Fabric Application upgrade Upgrade domain #1 Upgrade domain #2 Upgrade domain #3 App A v1 App C v1 App B v2 App C v2 Windows OS Windows OS Windows OS App Repository App C v2 App C v1 App A v1 App C v2 App C v1 App B v2 Fabric Node Fabric Node Fabric Node Windows OS Windows OS Windows OS Fabric Node Fabric Node Fabric Node App C v1 App C v2 App B v2 App A v1 App B v2 App A v1

Microsoft Azure Service Fabric Demo Guest executable & Containers Stateless / Stateful Services Configuration WCF hosting

Microsoft Azure Service Fabric Summary Deploy anywhere Azure Another Cloud (e.g. Amazon). On Premises. Locally. Run anything Windows, Linux, any language. Service Fabric Programming model Reliable services and reliable collections. Service Fabric manages the services so you can concentrate on building them Microsoft uses it for its own services

Thank you for listening. Any Questions? @sdspencer http://blogs.recneps.org