Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft Azure Service Fabric Overview

Similar presentations


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

1 Microsoft Azure Service Fabric Overview
Steve Spencer Solution Architect, Liberis, Nottingham Microsoft Azure MVP @sdspencer

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

3 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.

4 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.

5 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!

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

7 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>

8 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

9 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.

10 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.

11 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.

12 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

13 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.

14 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

15 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!

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

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

18 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

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

20 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

21 Thank you for listening. Any Questions?
@sdspencer


Download ppt "Microsoft Azure Service Fabric Overview"

Similar presentations


Ads by Google