SlideShare une entreprise Scribd logo
1  sur  49
Disrupt or be disrupted by AI.
Agenda
• Microservices?
• Service Fabric?
• Microservices in 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)
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
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
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
Who is App1/Service1?There you go: 10.0.0.8:1234
Different ways
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”
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
Some notes…
• Development
• Service communication
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

Contenu connexe

Tendances

A journey from monolith to micro services
A journey from monolith to micro servicesA journey from monolith to micro services
A journey from monolith to micro services
Pravin Mishra
 

Tendances (20)

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 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...
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
 
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.
 
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...
PuppetConf 2017: vRealize Automation and Puppet: Enabling DevOps Ready IT- Ga...
 
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...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Agile Development in the Cloud - AWS India Summit 2012
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
 
The Microservices world in. NET Core and. NET framework
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
 
Micro services and Containers
Micro services and ContainersMicro services and Containers
Micro services and Containers
 
Azure Resource Manager (ARM) Templates
Azure Resource Manager (ARM) TemplatesAzure Resource Manager (ARM) Templates
Azure Resource Manager (ARM) Templates
 
vRA + NSX Technical Deep-Dive
vRA + NSX Technical Deep-DivevRA + NSX Technical Deep-Dive
vRA + NSX Technical Deep-Dive
 
vCenter Orchestrator APIs
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIs
 
A journey from monolith to micro services
A journey from monolith to micro servicesA journey from monolith to micro services
A journey from monolith to micro services
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabric
 
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
 
Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?Architecting Multi-Cloud Applications - Myth or Reality?
Architecting Multi-Cloud Applications - Myth or Reality?
 
App42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting PlatformApp42 PaaS - Application Hosting Platform
App42 PaaS - Application Hosting Platform
 

Similaire à Microservices with Azure Service Fabric

Similaire à Microservices with Azure Service Fabric (20)

.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
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
 
Micro services
Micro servicesMicro services
Micro 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...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
AZ900-AzureFundamentals-part-5.pdf
AZ900-AzureFundamentals-part-5.pdfAZ900-AzureFundamentals-part-5.pdf
AZ900-AzureFundamentals-part-5.pdf
 
Tour de France Azure PaaS 2/7 Exécuter une application
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
 
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 ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
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
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Introducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platform
 
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on AzureMicrosoft Ignite 2018 BRK3192 Container DevOps on Azure
Microsoft Ignite 2018 BRK3192 Container DevOps on Azure
 
Service fabric overview
Service fabric overviewService fabric overview
Service fabric overview
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
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 ...
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 ...
 
HSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and Serverless
 

Plus de Davide Benvegnù

Plus de Davide Benvegnù (20)

DevSecOps Done Right - Strategies and Tools.pptx
DevSecOps Done Right - Strategies and Tools.pptxDevSecOps Done Right - Strategies and Tools.pptx
DevSecOps Done Right - Strategies and Tools.pptx
 
Secure Your Open Source Projects For Free
Secure Your Open Source Projects For FreeSecure Your Open Source Projects For Free
Secure Your Open Source Projects For Free
 
Microsoft Skills Bootcamp - The power of GitHub and Azure
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
 
All Around Azure: DevOps with GitHub - Managing the Flow of Work
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
 
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
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
 
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)
GitHub Actions: your free CI engine (and much more)
 
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)
Life of a Remote Developer - Productivity tips (MSBuild 2020)
 
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...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
 
Debugging and Interacting with Production Applications - MS Online Tech Forum
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
 
Architect your app modernization journey with containers on Microsoft Azure
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
 
Build 2019 HK - Deep Dive notable announcements
Build 2019 HK - Deep Dive notable announcementsBuild 2019 HK - Deep Dive notable announcements
Build 2019 HK - Deep Dive notable announcements
 
How I choose which services to use in Azure
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
 
Secure your applications with Azure AD and Key Vault
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
 
Develop a Serverless Integration Platform for the Enterprise
Develop a Serverless Integration Platform for the EnterpriseDevelop a Serverless Integration Platform for the Enterprise
Develop a Serverless Integration Platform for the Enterprise
 
SharePoint Disaster Recovery in Microsoft Azure
SharePoint Disaster Recovery in Microsoft AzureSharePoint Disaster Recovery in Microsoft Azure
SharePoint Disaster Recovery in Microsoft Azure
 
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...
Microsoft TechSummit - Deploy your Solution to IaaS and PaaS with VSTS and Az...
 
VS2017PI - Le novità di visual studio team services
VS2017PI - Le novità di visual studio team servicesVS2017PI - Le novità di visual studio team services
VS2017PI - Le novità di visual studio team services
 
Accelerate Your Bot Development with DevOps
Accelerate Your Bot Development with DevOpsAccelerate Your Bot Development with DevOps
Accelerate Your Bot Development with DevOps
 
Microsoft &lt;3 Open Source
Microsoft &lt;3 Open SourceMicrosoft &lt;3 Open Source
Microsoft &lt;3 Open Source
 
Continuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developersContinuous Integration: a real win-win for developers
Continuous Integration: a real win-win for developers
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

Microservices with Azure Service Fabric

  • 1. Disrupt or be disrupted by AI.
  • 2.
  • 3.
  • 4.
  • 5. Agenda • Microservices? • Service Fabric? • Microservices in Service Fabric?
  • 6.
  • 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)
  • 14.
  • 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
  • 19.
  • 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
  • 23.
  • 24.
  • 25.
  • 26.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Who is App1/Service1?There you go: 10.0.0.8:1234
  • 35.
  • 36.
  • 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”
  • 40.
  • 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
  • 44.
  • 45. Some notes… • Development • Service communication
  • 46.
  • 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

Notes de l'éditeur

  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