SlideShare a Scribd company logo
1 of 34
Monolithic application approach 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
• A monolithic application has
most of its functionality within a
few processes that are
componentized with libraries.
• Scales by cloning the app on
multiple servers/VMs/Containers
App 1 App 2App 1
• Single monolithic database
• Tiers of specific technologies
State in Monolithic approach State in Microservices approach
• Graph of interconnected microservices
• State typically scoped to the microservice
• Variety of technologies used
• Remote Storage for cold data
stateless services with
separate stores
stateful
services
stateless
presentation
services
stateless
services
Service FabricHigh Availability
Hyper-Scale
Hybrid Operations
High Density
Microservices
Rolling Upgrades
Stateful Services
Low Latency
Fast Startup &
Shutdown
Code Orchestration &
Lifecycle Management
Replication &
Failover
Simple
programming
models
Resource Management
Self-healingData Partitioning
Automated Rollback
Health
Monitoring
Placement
Constraints
Azure Private cloud Other clouds
Azure Cloud Services
(Web and Worker Roles)
Azure Service Fabric
(Stateless, stateful or Actor services)
• 1 role instance per VM
• Uneven utilization
• Low density
• Slow deployment & upgrade (bound to VM)
• Slow scaling and failure recovery
• Limited fault tolerance
• Many microservices per VM
• Even Utilization (by default, customizable)
• High density (customizable)
• Fast deployment & upgrade
• Fast scaling of independent microservices
• Tunable fast fault tolerance
Windows OS
Windows OS Windows OS
Windows OS
Windows OS
Windows OS
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
<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>
App1 App2
Service Fabric Microservices
App Type Packages Service Fabric Cluster VMs
App1 App2
Handling Machine Failures
App Type Packages Service Fabric Cluster VMs
Stateful Microservices - Replication
Service Fabric Cluster VMs
Primary
Secondary
Replication
Guest Executables
• Bring any exe
• Any language
• Any programming model
• Packaged as Application
• Gets versioning, upgrade,
monitoring, health, etc.
Reliable Services
• Stateless & stateful services
• Concurrent, granular state
changes
• Use of the Reliable
Collections
• Transactions across
collections
• Full platform integration
Reliable Actors
• Stateless & stateful actor
objects
• Simplified programming
model
• Single Threaded model
• Great for scaled out compute
and state
• Reliable collections make it easy to build stateful services
• An evolution of .NET collections - for the cloud
• ReliableDictionary<T1,T2> and ReliableQueue<T>
Programming models: Reliable Services
Collections
• Single machine
• Single-threaded
Concurrent Collections
• Single machine
• Multi-threaded
Reliable Collections
• Multi-machine
• Replicated (HA)
• Persistence (durable)
• Asynchronous
• Transactional
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!
Programming models: Reliable Actors
• Independent units of compute and state
• Large number of them executing in parallel
• Communicates using asynchronous messaging
• Single threaded execution
• Automatically created and dehydrated as necessary
Node 5Node 4Node 3 Node 6Node 2Node 1
P2
S
S
S
P4
S
P1
S
P3S
S
S
• Services can be partitioned for scale-out.
• You can choose your own partitioning scheme.
• Service partitions are striped across machines in the cluster.
• Replicas automatically scale out & in on cluster changes
Performance and stress response
• Rich built-in metrics for Actors and Services programming models
• Easy to add custom application performance metrics
Health status monitoring
• Built-in health status for cluster and services
• Flexible and extensible health store for custom app health reporting
• Allows continuous monitoring for real-time alerting on problems in production
• Repair suggestions. Examples: Slow RunAsync cancellations, RunAsync failures
• All important events logged. Examples: App creation, deploy and upgrade records. All Actor method
calls.
Detailed
System
Optics
• ETW == Fast Industry Standard Logging Technology
• Works across environments. Same tracing code runs on devbox and also on production clusters on
Azure.
• Easy to add and system appends all the needed metadata such as node, app, service, and partition.
Custom
Application
Tracing
• Visual Studio Diagnostics Events Viewer
• Windows Event Viewer
• Windows Azure Diagnostics + Operational Insights
• Easy to plug in your preferred tools: Kibana, Elasticsearch and more
Choice of
Tools
Windows OS
Windows OS Windows OS
Windows OS
Windows OS
Windows OS
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
Fabric
Node
App B v2
App B v2
App B v2
App A v1
App A v1
App A v1
App C v1
App C v1
App C v1
App Repository
App A v1
App C v1
App B v2
App C v2
App C v2
App C v2
App C v2
Services built with Service Fabric
300+ Service Fabric Preview Customers
• Service Fabric course and lab
• https://mva.microsoft.com/en-US/training-courses/building-microservices-applications-on-azure-
service-fabric-16747
• https://blogs.msdn.microsoft.com/azureservicefabric/2016/07/06/introduction-to-service-fabric-lab-
part-1/
• Azure Service Fabric Patterns and Practices from DX
• Samples
• http://aka.ms/ServiceFabricSamples
• http://aka.ms/tryservicefabric
• Infographics
• http://aka.ms/ServiceFabricVideo
• http://aka.ms/ServiceFabricPoster
• Help build the community
• https://stackoverflow.com/questions/tagged/azure-service-fabric
• http://aka.ms/ServiceFabricForum
• Voice your issues
• https://github.com/azure/service-fabric-issues
• Engage in monthly Q&A
• https://blogs.msdn.microsoft.com/azureservicefabric/
• Twitter
• #AzureServiceFabric @techfugen
• Website
• www.techfugen.com
www.abhisheksur.com

More Related Content

What's hot

Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
 
Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric Luis Valencia
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talkDaniel Kreuzhofer
 
Distributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricBizTalk360
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesEberhard Wolff
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Tomasz Kopacz
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspectiverizaon
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletskySergey Seletsky
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...Techcello
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
PaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServicePaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServiceMicrosoft Tech Community
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureChris Dufour
 
vCenter Orchestrator APIs
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIsPablo Roesch
 

What's hot (20)

Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric
 
Azure service fabric
Azure service fabricAzure service fabric
Azure service fabric
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talk
 
Distributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service Fabric
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
Azure in Developer Perspective
Azure in Developer PerspectiveAzure in Developer Perspective
Azure in Developer Perspective
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
Building Multi-tenant, Configurable, High Quality Applications on .NET for an...
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - June
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
PaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServicePaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App Service
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
 
vCenter Orchestrator APIs
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIs
 

Similar to Azure servicefabric

Service fabric overview
Service fabric overviewService fabric overview
Service fabric overviewHimanshu Desai
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayBizTalk360
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...Jelastic Multi-Cloud PaaS
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices ArchitectureVin Dahake
 
Kubernetes Infra 2.0
Kubernetes Infra 2.0Kubernetes Infra 2.0
Kubernetes Infra 2.0Deepak Sood
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1Amin Arab
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryOscar Renalias
 
Testing the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudTesting the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudNagarro
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeAlex Thissen
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0Vinod Wilson
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshopRory Preddy
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeDenis Gundarev
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
Service Fabric Deployments
Service Fabric DeploymentsService Fabric Deployments
Service Fabric DeploymentsDaniel Toomey
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 

Similar to Azure servicefabric (20)

Service fabric overview
Service fabric overviewService fabric overview
Service fabric overview
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications today
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...Multi-Containers Orchestration with Live Migration and High-Availability for ...
Multi-Containers Orchestration with Live Migration and High-Availability for ...
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
Kubernetes Infra 2.0
Kubernetes Infra 2.0Kubernetes Infra 2.0
Kubernetes Infra 2.0
 
Micro services
Micro servicesMicro services
Micro services
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container Delivery
 
Testing the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudTesting the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the Cloud
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
 
Iot cloud service v2.0
Iot cloud service v2.0Iot cloud service v2.0
Iot cloud service v2.0
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternative
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Service Fabric Deployments
Service Fabric DeploymentsService Fabric Deployments
Service Fabric Deployments
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 

More from Abhishek Sur

Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intentAbhishek Sur
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesAbhishek Sur
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to conceptsAbhishek Sur
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in AzureAbhishek Sur
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructureAbhishek Sur
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesAbhishek Sur
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edgeAbhishek Sur
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build BridgesAbhishek Sur
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overviewAbhishek Sur
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAbhishek Sur
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 wsAbhishek Sur
 
Integrating cortana with wp8 app
Integrating cortana with wp8 appIntegrating cortana with wp8 app
Integrating cortana with wp8 appAbhishek Sur
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performanceAbhishek Sur
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its featuresAbhishek Sur
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 EnhancementsAbhishek Sur
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsAbhishek Sur
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsAbhishek Sur
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webformsAbhishek Sur
 

More from Abhishek Sur (20)

Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
Code review
Code reviewCode review
Code review
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in Azure
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edge
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build Bridges
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overview
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
 
Integrating cortana with wp8 app
Integrating cortana with wp8 appIntegrating cortana with wp8 app
Integrating cortana with wp8 app
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 Enhancements
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 Enhancements
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language Gems
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webforms
 

Recently uploaded

Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...HyderabadDolls
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...HyderabadDolls
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubaikojalkojal131
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Klinik kandungan
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangeThinkInnovation
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdfkhraisr
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareGraham Ware
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numberssuginr1
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...SOFTTECHHUB
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...kumargunjan9515
 
Kings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themKings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themeitharjee
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...kumargunjan9515
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowgargpaaro
 

Recently uploaded (20)

Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
 
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
Jodhpur Park | Call Girls in Kolkata Phone No 8005736733 Elite Escort Service...
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
Jual obat aborsi Bandung ( 085657271886 ) Cytote pil telat bulan penggugur ka...
 
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Purnia [ 7014168258 ] Call Me For Genuine Models We...
 
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Vadodara [ 7014168258 ] Call Me For Genuine Models ...
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham Ware
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbers
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
 
Kings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about themKings of Saudi Arabia, information about them
Kings of Saudi Arabia, information about them
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 

Azure servicefabric

  • 1.
  • 2.
  • 3. Monolithic application approach 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 • A monolithic application has most of its functionality within a few processes that are componentized with libraries. • Scales by cloning the app on multiple servers/VMs/Containers App 1 App 2App 1
  • 4. • Single monolithic database • Tiers of specific technologies State in Monolithic approach State in Microservices approach • Graph of interconnected microservices • State typically scoped to the microservice • Variety of technologies used • Remote Storage for cold data stateless services with separate stores stateful services stateless presentation services stateless services
  • 5.
  • 6. Service FabricHigh Availability Hyper-Scale Hybrid Operations High Density Microservices Rolling Upgrades Stateful Services Low Latency Fast Startup & Shutdown Code Orchestration & Lifecycle Management Replication & Failover Simple programming models Resource Management Self-healingData Partitioning Automated Rollback Health Monitoring Placement Constraints Azure Private cloud Other clouds
  • 7. Azure Cloud Services (Web and Worker Roles) Azure Service Fabric (Stateless, stateful or Actor services) • 1 role instance per VM • Uneven utilization • Low density • Slow deployment & upgrade (bound to VM) • Slow scaling and failure recovery • Limited fault tolerance • Many microservices per VM • Even Utilization (by default, customizable) • High density (customizable) • Fast deployment & upgrade • Fast scaling of independent microservices • Tunable fast fault tolerance
  • 8. Windows OS Windows OS Windows OS Windows OS Windows OS Windows OS Fabric Node Fabric Node Fabric Node Fabric Node Fabric Node Fabric Node
  • 9. <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>
  • 10.
  • 11.
  • 12.
  • 13. App1 App2 Service Fabric Microservices App Type Packages Service Fabric Cluster VMs
  • 14. App1 App2 Handling Machine Failures App Type Packages Service Fabric Cluster VMs
  • 15. Stateful Microservices - Replication Service Fabric Cluster VMs Primary Secondary Replication
  • 16. Guest Executables • Bring any exe • Any language • Any programming model • Packaged as Application • Gets versioning, upgrade, monitoring, health, etc. Reliable Services • Stateless & stateful services • Concurrent, granular state changes • Use of the Reliable Collections • Transactions across collections • Full platform integration Reliable Actors • Stateless & stateful actor objects • Simplified programming model • Single Threaded model • Great for scaled out compute and state
  • 17. • Reliable collections make it easy to build stateful services • An evolution of .NET collections - for the cloud • ReliableDictionary<T1,T2> and ReliableQueue<T> Programming models: Reliable Services Collections • Single machine • Single-threaded Concurrent Collections • Single machine • Multi-threaded Reliable Collections • Multi-machine • Replicated (HA) • Persistence (durable) • Asynchronous • Transactional
  • 18. 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!
  • 19. Programming models: Reliable Actors • Independent units of compute and state • Large number of them executing in parallel • Communicates using asynchronous messaging • Single threaded execution • Automatically created and dehydrated as necessary
  • 20.
  • 21. Node 5Node 4Node 3 Node 6Node 2Node 1 P2 S S S P4 S P1 S P3S S S • Services can be partitioned for scale-out. • You can choose your own partitioning scheme. • Service partitions are striped across machines in the cluster. • Replicas automatically scale out & in on cluster changes
  • 22. Performance and stress response • Rich built-in metrics for Actors and Services programming models • Easy to add custom application performance metrics Health status monitoring • Built-in health status for cluster and services • Flexible and extensible health store for custom app health reporting • Allows continuous monitoring for real-time alerting on problems in production
  • 23. • Repair suggestions. Examples: Slow RunAsync cancellations, RunAsync failures • All important events logged. Examples: App creation, deploy and upgrade records. All Actor method calls. Detailed System Optics • ETW == Fast Industry Standard Logging Technology • Works across environments. Same tracing code runs on devbox and also on production clusters on Azure. • Easy to add and system appends all the needed metadata such as node, app, service, and partition. Custom Application Tracing • Visual Studio Diagnostics Events Viewer • Windows Event Viewer • Windows Azure Diagnostics + Operational Insights • Easy to plug in your preferred tools: Kibana, Elasticsearch and more Choice of Tools
  • 24. Windows OS Windows OS Windows OS Windows OS Windows OS Windows OS Fabric Node Fabric Node Fabric Node Fabric Node Fabric Node Fabric Node App B v2 App B v2 App B v2 App A v1 App A v1 App A v1 App C v1 App C v1 App C v1 App Repository App A v1 App C v1 App B v2 App C v2 App C v2 App C v2 App C v2
  • 25.
  • 26.
  • 27. Services built with Service Fabric
  • 28. 300+ Service Fabric Preview Customers
  • 29.
  • 30.
  • 31.
  • 32. • Service Fabric course and lab • https://mva.microsoft.com/en-US/training-courses/building-microservices-applications-on-azure- service-fabric-16747 • https://blogs.msdn.microsoft.com/azureservicefabric/2016/07/06/introduction-to-service-fabric-lab- part-1/ • Azure Service Fabric Patterns and Practices from DX • Samples • http://aka.ms/ServiceFabricSamples • http://aka.ms/tryservicefabric • Infographics • http://aka.ms/ServiceFabricVideo • http://aka.ms/ServiceFabricPoster
  • 33. • Help build the community • https://stackoverflow.com/questions/tagged/azure-service-fabric • http://aka.ms/ServiceFabricForum • Voice your issues • https://github.com/azure/service-fabric-issues • Engage in monthly Q&A • https://blogs.msdn.microsoft.com/azureservicefabric/ • Twitter • #AzureServiceFabric @techfugen • Website • www.techfugen.com