Microservices with Azure Service Fabric

Davide Benvegnù
Davide BenvegnùDevOps Architect at Microsoft
Disrupt or be disrupted by AI.
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Agenda
• Microservices?
• Service Fabric?
• Microservices in Service Fabric?
Microservices with Azure Service Fabric
What is a microservice?
• Encapsulates a single capability
• Are developed by a small engineering team
• Can be written in any language and framework
• Contain code plus state that is independently versioned, deployed, and scaled
• Interact with other microservices over well defined interfaces and protocols such as http
• Have a unique name (i.e. URL) that can be resolved
• Remains consistent and available in the presence of failures
• Ideal for DevOps automation!
Reasons to split a monolith into services
• Scaling independently (balancing cost with speed)
• Supporting different technology stacks
Reasons to split a monolith into services
• Two or more clients, where clients adopt new features at will
• Managing conflicting dependencies
Are microservices right for my app?
Maybe, if:
• Your application can be split in many different, independent pieces
• You need/want independent service scalability
• You need/want to have multiple technologies, multiple teams involved
• You are ready to change your DevOps practices and company culture
But:
• Any application that binds its components over a network connection introduces delays
• Security and Authentication get more complex
• Microservices are more complex to deploy, manage, and monitor
• You cannot assume that you can take an arbitrary system and break it into microservices.
Most systems acquire too many dependencies between their modules
From Monolith to Microservices
... we support any stage you choose
New or
transformed
microservices app
5
Parts of existing
monolith
extracted
4
Existing Monolith + new
microservices
3
Monolith Hosted as
guest executable or
container
2
Traditional app
1
5 stages in a continuum…
IntelliSense, refactoring & compile-time type-safety)
IntelliSense, refactoring & compile-time type-safety)
Microservices with Azure Service Fabric
Proven platform powering core Azure
and Microsoft services
Microsoft has deep expertise in running global
services such as Cortana, Skype & Cosmos DB
Service Fabric is the foundational technology
powering these services & core Azure infra
Sample scale of one of these services: 60 billion
events per day with millions of databases
Production scenarios with 3500 VMs
SQL
{ }Power BI
Dynamics
Intune
Cortana Skype
Cosmos DB
IoT Hub
Events Hub
SQL Database
Build: data-aware microservices
Lifecycle
Management
Always On
Availability
Orchestration Programming
Models
Health &
Monitoring
Dev & Ops
Tooling
Auto
Scaling
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
.NET or Java …
Built-in ASP.NET core integration;
work with VS and VSTS or
Eclipse and Jenkins
Reliable Services
Manage state reliability
without a database,
lowering latency
Guest Executables
Run existing code and
orchestrate life cycle using
service fabric
Reliable Actors
Implementation of actor design
pattern (Isolated, independent unit
of compute and state with single-
threaded execution)
Containers
Orchestrate your Windows
Server or Linux containers
reliably at scale
</>
Deploy: any code on any OS
Lifecycle
Management
Always On
Availability
Orchestration Programming
Models
Health &
Monitoring
Dev & Ops
Tooling
Auto
Scaling
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
Monitor and diagnose
Generate, aggregate, and analyze
events with built-in tooling and
integration with Azure services
Docker Compose
Orchestrate existing
container applications
natively
Automate
Deploy or remove applications
using PowerShell, CLI, Visual
Studio, and other APIs
CI/CD
Maximize uptime and scalability
with isolated compute threads
running concurrently
Rolling upgrades
Upgrade non-disruptively and
roll-back in case of failures,
automate with PowerShell
Operate: on any cloud at any scale
Lifecycle
Management
Always On
Availability
Orchestration Programming
Models
Health &
Monitoring
Dev & Ops
Tooling
Auto
Scaling
Programming
Models
Dev & Ops
Tooling
Orchestration Lifecycle
Management
Health &
Monitoring
Always On
Availability
Auto
Scaling
Scale programmatically
Use PowerShell, CLI, or APIs to
scale programmatically achieving
very high densities
Use controlled chaos
Test graceful and
ungraceful failure scenarios
Recover gracefully
Recover from node or service
failure gracefully; replicate data
automatically
Use familiar tools
Such as Splunk, OMS, ELK, or
AppInsights to gain deep insights
or monitor application health
Secure at scale
Secure node-to-node
communication and user access
using built-in capabilities
Microservices with Azure Service Fabric
Awesome for developers
Use .NET, Java or more
• Stateless and Stateful services
• ASP.NET core integration
Visual studio integration
• Use single node cluster for dev/test purposes
• Use 5-node local cluster for extensive dev/test
Consistent experience across environments
• Run the same environment on dev box as in production
Awesome for dev-ops
Automated deployment
• Use PowerShell, Service Fabric CLI or APIs
Rolling upgrades for reliability
• Upgrade your services in an automated fashion
Visual studio team services integration
• For continuous integration and deployment
Integration with Jenkins and more
• Use tools familiar to you for deploying Java applications
Awesome for infrastructure
management
Cluster management
• Secure your clusters and handle failures gracefully
• Scale clusters programmatically or manually
• Ease maintenance with integrated OS patching
PowerShell, CLI, and GUI management
• Be productive and choose tools that suit your needs
Applications as an ARM resource
• Manage clusters as well as deploy app using templates
Health monitoring
• Monitor using integrated or 3rd party tool of your choice
• Query health using PowerShell or APIs programmatically
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Handling Machine Failures
Cluster
V1V1
V1V1
V1V1
V2V2
V2V2
V2V2
Cluster
V1V1
V1V1
V1V1
V2V2
V2V2
V2V2
Cluster (or across 2 clusters)
V2V2
V2V2
V2V2
V1V1
V1V1
V1V1
LB / Rev
Proxy
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Who is App1/Service1?There you go: 10.0.0.8:1234
Different ways
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
Stateless microservice
Stateful microservice
Stateless microservices pattern
Load Balancer
Front End
(Stateless Web)
Stateless
Middle-tier
Compute
Cache
StorageQueues
Stateless microservices pattern
• Stateless services can have an external endpoint
• Configure the endpoint in ServiceManifest.xml (especially the port)
• For external accessible services, remember to configure Load Balancer
• Stateless service instances are equivalent and activated “randomly”
Microservices with Azure Service Fabric
Stateful microservices pattern
Load Balancer
Front End
(Stateless Web)
Stateful
Middle-tier
Compute
Cold Data
Stores
(Optional)
Stateful microservices pattern
• Stateful services cannot have an external endpoint
• Stateful services must specify partitions
• Stateful service instances are not equivalent and not activated “randomly”
• Stateful services use Reliable Collections to persist the data
Reliable collections
• Reliable collections make it easy to build stateful services.
• An evolution of .NET collections for the cloud.
Collections
• Single machine
• Single threaded
Concurrent
collections
• Single machine
• Multi threaded
Reliable collections
• Multi machine
• Replicated (HA)
• Persistence (durable)
• Asynchronous
• Transactional
Microservices with Azure Service Fabric
Some notes…
• Development
• Service communication
Microservices with Azure Service Fabric
References
Demo Code
https://github.com/n3wt0n
Service Fabric Reference Documentation
https://docs.microsoft.com/en-us/azure/service-fabric/
Service Fabric Reference Architecture
https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-
styles/microservices#microservices-using-azure-service-fabric
Microservices with Azure Service Fabric
Microservices with Azure Service Fabric
1 of 49

Recommended

Azure servicefabric by
Azure servicefabricAzure servicefabric
Azure servicefabricAbhishek Sur
854 views34 slides
Azure Service Fabric by
Azure Service FabricAzure Service Fabric
Azure Service FabricWinWire Technologies Inc
1.6K views18 slides
Microservices to Scale using Azure Service Fabric by
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMukul Jain
569 views26 slides
Azure Service Fabric Overview by
Azure Service Fabric OverviewAzure Service Fabric Overview
Azure Service Fabric OverviewJoão Pedro Martins
4.5K views33 slides
Tokyo azure meetup #12 service fabric internals by
Tokyo azure meetup #12   service fabric internalsTokyo azure meetup #12   service fabric internals
Tokyo azure meetup #12 service fabric internalsTokyo Azure Meetup
384 views49 slides
Microservice and Service Fabric talk by
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talkDaniel Kreuzhofer
250 views57 slides

More Related Content

What's hot

Distributed Computing made easy with Service Fabric by
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service FabricBizTalk360
2.4K views60 slides
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures by
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
1.7K views67 slides
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o... by
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
1.2K views64 slides
Continuous delivery by sergey seletsky by
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletskySergey Seletsky
1K views25 slides
Microservice Architecture Patterns, by Richard Langlois P. Eng. by
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.
937 views108 slides
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga... by
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...Puppet
545 views26 slides

What's hot(20)

Distributed Computing made easy with Service Fabric by BizTalk360
Distributed Computing made easy with Service FabricDistributed Computing made easy with Service Fabric
Distributed Computing made easy with Service Fabric
BizTalk3602.4K views
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures by Eberhard Wolff
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
Eberhard Wolff1.7K views
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o... by Tomasz Kopacz
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 Kopacz1.2K views
Continuous delivery by sergey seletsky by Sergey Seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
Sergey Seletsky1K views
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga... by Puppet
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
Puppet545 views
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota... by VMware Tanzu
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
VMware Tanzu435 views
Microservices architecture by Faren faren
Microservices architectureMicroservices architecture
Microservices architecture
Faren faren1.4K views
Agile Development in the Cloud - AWS India Summit 2012 by Amazon Web Services
Agile Development in the Cloud - AWS India Summit 2012Agile Development in the Cloud - AWS India Summit 2012
Agile Development in the Cloud - AWS India Summit 2012
Amazon Web Services1.6K views
The Microservices world in. NET Core and. NET framework by Massimo Bonanni
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
Massimo Bonanni2.2K views
Micro services and Containers by Richard Harvey
Micro services and ContainersMicro services and Containers
Micro services and Containers
Richard Harvey4.2K views
vRA + NSX Technical Deep-Dive by VMUG IT
vRA + NSX Technical Deep-DivevRA + NSX Technical Deep-Dive
vRA + NSX Technical Deep-Dive
VMUG IT2.6K views
vCenter Orchestrator APIs by Pablo Roesch
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIs
Pablo Roesch5.5K views
A journey from monolith to micro services by Pravin Mishra
A journey from monolith to micro servicesA journey from monolith to micro services
A journey from monolith to micro services
Pravin Mishra440 views
08 hopex v next service fabric by Michel Bruchet
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabric
Michel Bruchet425 views
Architecting Multi-Cloud Applications - Myth or Reality? by aravindajju
Architecting Multi-Cloud Applications - Myth or Reality?Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?
aravindajju7.7K views
App42 PaaS - Application Hosting Platform by Pravin Mishra
App42 PaaS - Application Hosting PlatformApp42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting Platform
Pravin Mishra1.6K views

Similar to Microservices with Azure Service Fabric

.NET microservices with Azure Service Fabric by
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
493 views46 slides
Past, Present and Future of DevOps Infrastructure by
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructureSynergetics Learning and Cloud Consulting
455 views38 slides
Micro services by
Micro servicesMicro services
Micro servicesBrian Perera
135 views54 slides
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto... by
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
2.1K views40 slides
Designing Microservices by
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
504 views68 slides
Modernizing Testing as Apps Re-Architect by
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
238 views28 slides

Similar to Microservices with Azure Service Fabric(20)

.NET microservices with Azure Service Fabric by Davide Benvegnù
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
Davide Benvegnù493 views
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto... by Amazon Web Services
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
Amazon Web Services2.1K views
Designing Microservices by David Chou
Designing MicroservicesDesigning Microservices
Designing Microservices
David Chou504 views
Modernizing Testing as Apps Re-Architect by DevOps.com
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
DevOps.com238 views
AZ900-AzureFundamentals-part-5.pdf by ssuser2dbaee
AZ900-AzureFundamentals-part-5.pdfAZ900-AzureFundamentals-part-5.pdf
AZ900-AzureFundamentals-part-5.pdf
ssuser2dbaee6 views
Tour de France Azure PaaS 2/7 Exécuter une application by Alex Danvy
Tour de France Azure PaaS 2/7 Exécuter une applicationTour de France Azure PaaS 2/7 Exécuter une application
Tour de France Azure PaaS 2/7 Exécuter une application
Alex Danvy154 views
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ... by VMware Tanzu
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu374 views
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017 by Amazon Web Services
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Amazon Web Services1.6K views
Introducing AWS OpsWorks, a DevOps application management platform by Amazon Web Services
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platform
Amazon Web Services4.8K views
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure by Jessica Deen
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Jessica Deen281 views
Continuous Integration and Deployment Best Practices on AWS by Amazon Web Services
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Amazon Web Services6.9K views
DevOps and BigData Analytics by sbbabu
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu332 views
Slide DevSecOps Microservices by Hendri Karisma
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
Hendri Karisma616 views
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure by Voxxed Days Thessaloniki
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Business and IT agility through DevOps and microservice architecture powered ... by Lucas Jellema
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
Lucas Jellema306 views
HSBC and AWS Day - Microservices and Serverless by Amazon Web Services
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and Serverless
Amazon Web Services1.4K views

More from Davide Benvegnù

DevSecOps Done Right - Strategies and Tools.pptx by
DevSecOps Done Right - Strategies and Tools.pptxDevSecOps Done Right - Strategies and Tools.pptx
DevSecOps Done Right - Strategies and Tools.pptxDavide Benvegnù
13 views39 slides
Microsoft Skills Bootcamp - The power of GitHub and Azure by
Microsoft Skills Bootcamp - The power of GitHub and AzureMicrosoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and AzureDavide Benvegnù
114 views13 slides
All Around Azure: DevOps with GitHub - Managing the Flow of Work by
All Around Azure: DevOps with GitHub - Managing the Flow of WorkAll Around Azure: DevOps with GitHub - Managing the Flow of Work
All Around Azure: DevOps with GitHub - Managing the Flow of WorkDavide Benvegnù
151 views13 slides
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions by
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
99 views16 slides
GitHub Actions: your free CI engine (and much more) by
GitHub Actions: your free CI engine (and much more)GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)Davide Benvegnù
264 views11 slides
Life of a Remote Developer - Productivity tips (MSBuild 2020) by
Life of a Remote Developer - Productivity tips (MSBuild 2020)Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)Davide Benvegnù
135 views14 slides

More from Davide Benvegnù(20)

DevSecOps Done Right - Strategies and Tools.pptx by Davide Benvegnù
DevSecOps Done Right - Strategies and Tools.pptxDevSecOps Done Right - Strategies and Tools.pptx
DevSecOps Done Right - Strategies and Tools.pptx
Davide Benvegnù13 views
Microsoft Skills Bootcamp - The power of GitHub and Azure by Davide Benvegnù
Microsoft Skills Bootcamp - The power of GitHub and AzureMicrosoft Skills Bootcamp - The power of GitHub and Azure
Microsoft Skills Bootcamp - The power of GitHub and Azure
Davide Benvegnù114 views
All Around Azure: DevOps with GitHub - Managing the Flow of Work by Davide Benvegnù
All Around Azure: DevOps with GitHub - Managing the Flow of WorkAll Around Azure: DevOps with GitHub - Managing the Flow of Work
All Around Azure: DevOps with GitHub - Managing the Flow of Work
Davide Benvegnù151 views
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions by Davide Benvegnù
 CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions  CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
Davide Benvegnù99 views
GitHub Actions: your free CI engine (and much more) by Davide Benvegnù
GitHub Actions: your free CI engine (and much more)GitHub Actions: your free CI engine (and much more)
GitHub Actions: your free CI engine (and much more)
Davide Benvegnù264 views
Life of a Remote Developer - Productivity tips (MSBuild 2020) by Davide Benvegnù
Life of a Remote Developer - Productivity tips (MSBuild 2020)Life of a Remote Developer - Productivity tips (MSBuild 2020)
Life of a Remote Developer - Productivity tips (MSBuild 2020)
Davide Benvegnù135 views
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F... by Davide Benvegnù
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Davide Benvegnù310 views
Debugging and Interacting with Production Applications - MS Online Tech Forum by Davide Benvegnù
Debugging and Interacting with Production Applications - MS Online Tech ForumDebugging and Interacting with Production Applications - MS Online Tech Forum
Debugging and Interacting with Production Applications - MS Online Tech Forum
Davide Benvegnù144 views
Architect your app modernization journey with containers on Microsoft Azure by Davide Benvegnù
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
Davide Benvegnù322 views
Build 2019 HK - Deep Dive notable announcements by Davide Benvegnù
Build 2019 HK - Deep Dive notable announcementsBuild 2019 HK - Deep Dive notable announcements
Build 2019 HK - Deep Dive notable announcements
Davide Benvegnù169 views
How I choose which services to use in Azure by Davide Benvegnù
How I choose which services to use in AzureHow I choose which services to use in Azure
How I choose which services to use in Azure
Davide Benvegnù121 views
Secure your applications with Azure AD and Key Vault by Davide Benvegnù
Secure your applications with Azure AD and Key VaultSecure your applications with Azure AD and Key Vault
Secure your applications with Azure AD and Key Vault
Davide Benvegnù435 views
Develop a Serverless Integration Platform for the Enterprise by Davide Benvegnù
Develop a Serverless Integration Platform for the EnterpriseDevelop a Serverless Integration Platform for the Enterprise
Develop a Serverless Integration Platform for the Enterprise
Davide Benvegnù74 views
SharePoint Disaster Recovery in Microsoft Azure by Davide Benvegnù
SharePoint Disaster Recovery in Microsoft AzureSharePoint Disaster Recovery in Microsoft Azure
SharePoint Disaster Recovery in Microsoft Azure
Davide Benvegnù136 views
Microsoft TechSummit - Deploy your Solution to IaaS and PaaS with VSTS and Az... by Davide Benvegnù
Microsoft TechSummit - Deploy your Solution to IaaS and PaaS with VSTS and Az...Microsoft TechSummit - Deploy your Solution to IaaS and PaaS with VSTS and Az...
Microsoft TechSummit - Deploy your Solution to IaaS and PaaS with VSTS and Az...
Davide Benvegnù848 views
VS2017PI - Le novità di visual studio team services by Davide Benvegnù
VS2017PI - Le novità di visual studio team servicesVS2017PI - Le novità di visual studio team services
VS2017PI - Le novità di visual studio team services
Davide Benvegnù205 views
Accelerate Your Bot Development with DevOps by Davide Benvegnù
Accelerate Your Bot Development with DevOpsAccelerate Your Bot Development with DevOps
Accelerate Your Bot Development with DevOps
Davide Benvegnù357 views
Continuous Integration: a real win-win for developers by Davide Benvegnù
Continuous Integration: a real win-win for developersContinuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developers
Davide Benvegnù354 views
Azure AD: Enterprise-Grade Identity Provider For Your Applications by Davide Benvegnù
Azure AD: Enterprise-Grade Identity Provider For Your ApplicationsAzure AD: Enterprise-Grade Identity Provider For Your Applications
Azure AD: Enterprise-Grade Identity Provider For Your Applications
Davide Benvegnù501 views

Recently uploaded

DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 views15 slides
SAP FOR CONTRACT MANUFACTURING.pdf by
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdfVirendra Rai, PMP
11 views2 slides
Software evolution understanding: Automatic extraction of software identifier... by
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 views33 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
32 views18 slides
How to Make the Most of Regression and Unit Testing.pdf by
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfAbhay Kumar
10 views9 slides
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
10 views23 slides

Recently uploaded(20)

DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
How to Make the Most of Regression and Unit Testing.pdf by Abhay Kumar
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
Abhay Kumar10 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares10 views
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j43 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker by Deltares
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - ParkerDSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
Deltares8 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j34 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli44 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares7 views
Tridens DevOps by Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 views
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023 by Icinga
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Icinga36 views

Microservices with Azure Service Fabric

  • 1. Disrupt or be disrupted by AI.
  • 5. Agenda • Microservices? • Service Fabric? • Microservices in Service Fabric?
  • 7. What is a microservice? • Encapsulates a single capability • Are developed by a small engineering team • Can be written in any language and framework • Contain code plus state that is independently versioned, deployed, and scaled • Interact with other microservices over well defined interfaces and protocols such as http • Have a unique name (i.e. URL) that can be resolved • Remains consistent and available in the presence of failures • Ideal for DevOps automation!
  • 8. Reasons to split a monolith into services • Scaling independently (balancing cost with speed) • Supporting different technology stacks
  • 9. Reasons to split a monolith into services • Two or more clients, where clients adopt new features at will • Managing conflicting dependencies
  • 10. Are microservices right for my app? Maybe, if: • Your application can be split in many different, independent pieces • You need/want independent service scalability • You need/want to have multiple technologies, multiple teams involved • You are ready to change your DevOps practices and company culture But: • Any application that binds its components over a network connection introduces delays • Security and Authentication get more complex • Microservices are more complex to deploy, manage, and monitor • You cannot assume that you can take an arbitrary system and break it into microservices. Most systems acquire too many dependencies between their modules
  • 11. From Monolith to Microservices ... we support any stage you choose New or transformed microservices app 5 Parts of existing monolith extracted 4 Existing Monolith + new microservices 3 Monolith Hosted as guest executable or container 2 Traditional app 1 5 stages in a continuum…
  • 12. IntelliSense, refactoring & compile-time type-safety)
  • 13. IntelliSense, refactoring & compile-time type-safety)
  • 15. Proven platform powering core Azure and Microsoft services Microsoft has deep expertise in running global services such as Cortana, Skype & Cosmos DB Service Fabric is the foundational technology powering these services & core Azure infra Sample scale of one of these services: 60 billion events per day with millions of databases Production scenarios with 3500 VMs SQL { }Power BI Dynamics Intune Cortana Skype Cosmos DB IoT Hub Events Hub SQL Database
  • 16. Build: data-aware microservices Lifecycle Management Always On Availability Orchestration Programming Models Health & Monitoring Dev & Ops Tooling Auto Scaling Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling .NET or Java … Built-in ASP.NET core integration; work with VS and VSTS or Eclipse and Jenkins Reliable Services Manage state reliability without a database, lowering latency Guest Executables Run existing code and orchestrate life cycle using service fabric Reliable Actors Implementation of actor design pattern (Isolated, independent unit of compute and state with single- threaded execution) Containers Orchestrate your Windows Server or Linux containers reliably at scale </>
  • 17. Deploy: any code on any OS Lifecycle Management Always On Availability Orchestration Programming Models Health & Monitoring Dev & Ops Tooling Auto Scaling Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling Monitor and diagnose Generate, aggregate, and analyze events with built-in tooling and integration with Azure services Docker Compose Orchestrate existing container applications natively Automate Deploy or remove applications using PowerShell, CLI, Visual Studio, and other APIs CI/CD Maximize uptime and scalability with isolated compute threads running concurrently Rolling upgrades Upgrade non-disruptively and roll-back in case of failures, automate with PowerShell
  • 18. Operate: on any cloud at any scale Lifecycle Management Always On Availability Orchestration Programming Models Health & Monitoring Dev & Ops Tooling Auto Scaling Programming Models Dev & Ops Tooling Orchestration Lifecycle Management Health & Monitoring Always On Availability Auto Scaling Scale programmatically Use PowerShell, CLI, or APIs to scale programmatically achieving very high densities Use controlled chaos Test graceful and ungraceful failure scenarios Recover gracefully Recover from node or service failure gracefully; replicate data automatically Use familiar tools Such as Splunk, OMS, ELK, or AppInsights to gain deep insights or monitor application health Secure at scale Secure node-to-node communication and user access using built-in capabilities
  • 20. Awesome for developers Use .NET, Java or more • Stateless and Stateful services • ASP.NET core integration Visual studio integration • Use single node cluster for dev/test purposes • Use 5-node local cluster for extensive dev/test Consistent experience across environments • Run the same environment on dev box as in production
  • 21. Awesome for dev-ops Automated deployment • Use PowerShell, Service Fabric CLI or APIs Rolling upgrades for reliability • Upgrade your services in an automated fashion Visual studio team services integration • For continuous integration and deployment Integration with Jenkins and more • Use tools familiar to you for deploying Java applications
  • 22. Awesome for infrastructure management Cluster management • Secure your clusters and handle failures gracefully • Scale clusters programmatically or manually • Ease maintenance with integrated OS patching PowerShell, CLI, and GUI management • Be productive and choose tools that suit your needs Applications as an ARM resource • Manage clusters as well as deploy app using templates Health monitoring • Monitor using integrated or 3rd party tool of your choice • Query health using PowerShell or APIs programmatically
  • 33. Who is App1/Service1?There you go: 10.0.0.8:1234
  • 38. Stateless microservices pattern Load Balancer Front End (Stateless Web) Stateless Middle-tier Compute Cache StorageQueues
  • 39. Stateless microservices pattern • Stateless services can have an external endpoint • Configure the endpoint in ServiceManifest.xml (especially the port) • For external accessible services, remember to configure Load Balancer • Stateless service instances are equivalent and activated “randomly”
  • 41. Stateful microservices pattern Load Balancer Front End (Stateless Web) Stateful Middle-tier Compute Cold Data Stores (Optional)
  • 42. Stateful microservices pattern • Stateful services cannot have an external endpoint • Stateful services must specify partitions • Stateful service instances are not equivalent and not activated “randomly” • Stateful services use Reliable Collections to persist the data
  • 43. Reliable collections • Reliable collections make it easy to build stateful services. • An evolution of .NET collections for the cloud. Collections • Single machine • Single threaded Concurrent collections • Single machine • Multi threaded Reliable collections • Multi machine • Replicated (HA) • Persistence (durable) • Asynchronous • Transactional
  • 45. Some notes… • Development • Service communication
  • 47. References Demo Code https://github.com/n3wt0n Service Fabric Reference Documentation https://docs.microsoft.com/en-us/azure/service-fabric/ Service Fabric Reference Architecture https://docs.microsoft.com/en-us/azure/architecture/guide/architecture- styles/microservices#microservices-using-azure-service-fabric

Editor's Notes

  1. https://www.thoughtworks.com/insights/blog/implementing-blue-green-deployments-aws
  2. Scale stateless services backed by partitioned storage Increase reliability and ordering with queues Reduce read latency with caches Manage your own transactions for state consistency
  3. Stateful services eliminate much of the latency and complexity in applications that uses the stateless pattern and are unique to Service Fabric. Application state resides in the compute tier Low latency reads and writes Partitions are first class at the service layer for scale-out Built in transactions External stores for exhaust and offline analytics