SlideShare a Scribd company logo
High Availability of Azure
Applications(PaaS)
Himanshu Sahu
Mindfire Solutions
himanshus@mindfiresolutions.com
Agenda
Introduction
Windows Azure Role Architecture
Fault Domains in Windows Azure
Update Domains in Windows Azure
Windows Azure Host OS Updates
Windows Azure Guest OS Updates
Techniques for High Availability
High Availability in Azure
Introduction
ALWAYS ON
Reliability and Scalability
Design for failure
Implement separation of function
Use a service-oriented architecture
Windows Azure Role Architecture
Fault Domains in Windows Azure
Fault Domains
Fault Domain is a physical unit of failure, and is closely related to
the physical infrastructure in the data centers. In Windows Azure
the rack can be considered a fault domain. However there is no 1:1
mapping between fault domain and rack.
Windows Azure Fabric is responsible to deploy the instances of
your application in different fault domains. Right now Fabric makes
sure that your application uses at least 2 (two) fault domains.
As a developer have no direct control over how many fault
domains your application will use.
Update Domains in Windows Azure
Update Domains
Upgrade Domain is a logical unit, which determines how particular
service will be upgraded.
The default number of upgrade domains that are configured for
your application is 5 (five). You can control how many upgrade
domains your application will use through the upgradeDomain
configuration setting in your service definition file (CSDEF).
Windows Azure Host Updates
When and Why
Windows Azure deploys updates to the host OS approximately
once per month. This ensures that Windows Azure provides a
reliable, efficient and secure platform for hosting your applications.
The HA consists of multiple subcomponents, such as the Network
Agent (NA) that manages virtual machine VLANs and the Virtual
Machine virtual disk driver that connects Virtual Machine disks to
the blobs containing their data in Windows Azure Storage. Azure
therefore update the HA and its subcomponents at different
intervals, depending on when a fix or new functionality is ready.
Windows Azure Host Updates
Windows Azure Host Updates
How
The host OS reboots instances and the fabric controller ensures that only
instances from one upgrade domain at a time will be rebooted.
Virtual machines running on the server that have an Input Endpoint in
their role’s service model are removed from the load balancer rotation so
that no new requests will come to the virtual machine and instead new
requests are sent to other instances of that role as per the Azure load-
balancing policies.
Each virtual machine hosting a Web or Worker Role receives a Stopping
event, whereas VM Roles receive a standard Windows shutdown event.
Worker, Web, and Virtual machine roles are allowed five minutes to
respond to the stopping and shutdown event before they are forcibly
stopped.
Windows Azure Host Updates
How
After all guest virtual machines are stopped, the root partition OS
shuts down and the server reboots.
The updated root partition OS starts.
The virtual machines hosted on the server boot and start their
application code.
Virtual machines hosting service roles with Input Endpoints
reconnect to the load balancer, enabling them to receive client
request
Windows Azure Guest Updates
Once the Host OS has finished upgrading across the datacenter
then the Guest OS will be upgraded for services which are
configured to use automatic Guest OS versions and this upgrade
will proceed using standard upgrade domain rules for your service.
Your VM will be rebooted and the Windows Partition (the D drive)
will be reimaged with the upgraded OS.
The Guest OS update process is much faster than the Host OS
update since the fabric only has to coordinate the update within
your hosted service and your upgrade domains.
Availability
An available application considers the availability of its underlying
infrastructure and dependent services. Available applications
remove single points of failure through redundancy and resilient
design
Azure SLA
More Instances in Azure
Make Guest OS Update Manual
Availability
Scalability directly affects availability—an application that fails
under increased load is no longer available. Scalable applications
are able to meet increased demand with consistent results in
acceptable time windows.
Auto Scaling in Azure
Availability
Protection against hardware failures
Because every application is made up of multiple instances of each
role, hardware failures—a disk crash, a network fault, or the death
of a server machine—won’t take down the application. To help
with this, the fabric controller doesn’t choose machines for an
application’s instances at random. Instead, different instances of
the same role are placed in different fault domains. A fault domain
is a set of hardware—computers, switches, and more—that share a
single point of failure. (For example, all of the computers in a single
fault domain might rely on the same switch to connect to the
network.) Because of this, a single hardware failure can’t take
down an entire application. The application might temporarily lose
some instances, but it will continue to behave correctly.
Availability
Protection against software failures
The fabric controller can also detect failures caused by software. If
the code in an instance crashes or the VM in which it’s running
goes down, the fabric controller will start either just the code or, if
necessary, a new VM for that role. While any work the instance
was doing when it failed will be lost, the new instance will become
part of the application as soon as it starts running.
Availability
The ability to update applications with no application
downtime
When a new version of the application needs to be deployed, the
fabric controller can shut down the instances in just one update
domain, update the code for these, then create new instances
from that new code. Once those instances are running, it can do
the same thing to instances in the next update domain, and so on.
While users might see different versions of the application during
this process, depending on which instance they happen to interact
with, the application as a whole remains continuously available.
Availability
The ability to update Windows and other supporting
software with no application downtime.
Answer is Update Domain. :)
Resources
https://msdn.microsoft.com/enus/library/azure/dn251004.aspx
http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-r
http://blog.toddysm.com/2010/04/upgrade-domains-and-fault-doma
http://blogs.msdn.com/b/kwill/archive/2012/09/19/role-
instance-restarts-due-to-os-upgrades.aspx
Questions?
Thank you!

More Related Content

What's hot

Load Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New RelicLoad Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New Relic
Giedrius Krisciukaitis, PMP
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
Sauce Labs
 
Romulus crisan + radu pascal click'n'deploy
Romulus crisan + radu pascal   click'n'deployRomulus crisan + radu pascal   click'n'deploy
Romulus crisan + radu pascal click'n'deploy
Codecamp Romania
 
Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016
roblund
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Andrey Zhupanenko
 
Azure webinar kolkata
Azure webinar kolkata Azure webinar kolkata
Azure webinar kolkata
Sumantro Mukherjee
 
Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin Arcilla
DEVCON
 
Parallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce LabsParallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce Labs
Sauce Labs
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
Manoj Kumar Kumar
 
01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup
dhrubo kayal
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
BizTalk360
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
Susantha Pathirana
 
Postmortem of a uwp xaml application development
Postmortem of a uwp xaml application developmentPostmortem of a uwp xaml application development
Postmortem of a uwp xaml application development
David Catuhe
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Hassan Muhammad
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet
 
Advanced Spring Boot with Consul
Advanced Spring Boot with ConsulAdvanced Spring Boot with Consul
Advanced Spring Boot with Consul
VMware Tanzu
 
Nakal think test_2015
Nakal think test_2015Nakal think test_2015
Nakal think test_2015
Rajdeep Varma
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
Sauce Labs
 
Cloud Delivery
Cloud DeliveryCloud Delivery
Cloud Delivery
Stelligent
 

What's hot (20)

Load Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New RelicLoad Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New Relic
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 
Romulus crisan + radu pascal click'n'deploy
Romulus crisan + radu pascal   click'n'deployRomulus crisan + radu pascal   click'n'deploy
Romulus crisan + radu pascal click'n'deploy
 
Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Azure webinar kolkata
Azure webinar kolkata Azure webinar kolkata
Azure webinar kolkata
 
Docker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin ArcillaDocker - Contain that Wild Application by Marvin Arcilla
Docker - Contain that Wild Application by Marvin Arcilla
 
Parallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce LabsParallel Testing with Python with Selenium and Sauce Labs
Parallel Testing with Python with Selenium and Sauce Labs
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
 
01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup01 overview-servlets-and-environment-setup
01 overview-servlets-and-environment-setup
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
 
Cypress Automation
Cypress  AutomationCypress  Automation
Cypress Automation
 
Postmortem of a uwp xaml application development
Postmortem of a uwp xaml application developmentPostmortem of a uwp xaml application development
Postmortem of a uwp xaml application development
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Advanced Spring Boot with Consul
Advanced Spring Boot with ConsulAdvanced Spring Boot with Consul
Advanced Spring Boot with Consul
 
Nakal think test_2015
Nakal think test_2015Nakal think test_2015
Nakal think test_2015
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Cloud Delivery
Cloud DeliveryCloud Delivery
Cloud Delivery
 

Similar to High Availability of Azure Applications

Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
IJCSIS Research Publications
 
Cloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic BeanstalkCloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic Beanstalk
Sharma Aashish
 
cloud basics.
cloud basics.cloud basics.
cloud basics.
Mercy joy
 
ZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN DummiesZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN Dummies
Roel van Bueren
 
Microsoft Azure Networking Basics
Microsoft Azure Networking BasicsMicrosoft Azure Networking Basics
Microsoft Azure Networking Basics
Sai Kishore Naidu
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software Testing
Colloquium
 
Cloud computing virtulization
Cloud computing virtulizationCloud computing virtulization
Cloud computing virtulization
ilashanawaz
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
VSS LEC5.pdf
VSS LEC5.pdfVSS LEC5.pdf
VSS LEC5.pdf
RiyaBatool
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computing
Mayank Aggarwal
 
KSDG 4th event: Windows Azure Session
KSDG 4th event: Windows Azure SessionKSDG 4th event: Windows Azure Session
KSDG 4th event: Windows Azure Session
Jeff Chu
 
Windows Azure David Chappell White Paper March 09
Windows Azure David Chappell White Paper March 09Windows Azure David Chappell White Paper March 09
Windows Azure David Chappell White Paper March 09
guest120d945
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
Manish Corriea
 
Cluster configuration best practices
Cluster configuration best practicesCluster configuration best practices
Cluster configuration best practices
Vinod Hanumantharayappa
 
ES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
ES19 – Under the Hood: Inside the Cloud Computing Hosting EnvironmnentES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
ES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
butest
 
Microsoft Windows Azure - Cloud Computing Hosting Environment Presentation
Microsoft Windows Azure - Cloud Computing Hosting Environment PresentationMicrosoft Windows Azure - Cloud Computing Hosting Environment Presentation
Microsoft Windows Azure - Cloud Computing Hosting Environment Presentation
Microsoft Private Cloud
 
Chapter 3.4.pptx
Chapter 3.4.pptxChapter 3.4.pptx
Chapter 3.4.pptx
kalavathisugan
 
Azure IaaS
Azure IaaSAzure IaaS
Azure IaaS
Guy Barrette
 
Unit 5.pptx
Unit 5.pptxUnit 5.pptx
Unit 5.pptx
ssuserbb23da
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web Services
Jorgen Thelin
 

Similar to High Availability of Azure Applications (20)

Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
 
Cloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic BeanstalkCloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic Beanstalk
 
cloud basics.
cloud basics.cloud basics.
cloud basics.
 
ZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN DummiesZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN Dummies
 
Microsoft Azure Networking Basics
Microsoft Azure Networking BasicsMicrosoft Azure Networking Basics
Microsoft Azure Networking Basics
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software Testing
 
Cloud computing virtulization
Cloud computing virtulizationCloud computing virtulization
Cloud computing virtulization
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
VSS LEC5.pdf
VSS LEC5.pdfVSS LEC5.pdf
VSS LEC5.pdf
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computing
 
KSDG 4th event: Windows Azure Session
KSDG 4th event: Windows Azure SessionKSDG 4th event: Windows Azure Session
KSDG 4th event: Windows Azure Session
 
Windows Azure David Chappell White Paper March 09
Windows Azure David Chappell White Paper March 09Windows Azure David Chappell White Paper March 09
Windows Azure David Chappell White Paper March 09
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Cluster configuration best practices
Cluster configuration best practicesCluster configuration best practices
Cluster configuration best practices
 
ES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
ES19 – Under the Hood: Inside the Cloud Computing Hosting EnvironmnentES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
ES19 – Under the Hood: Inside the Cloud Computing Hosting Environmnent
 
Microsoft Windows Azure - Cloud Computing Hosting Environment Presentation
Microsoft Windows Azure - Cloud Computing Hosting Environment PresentationMicrosoft Windows Azure - Cloud Computing Hosting Environment Presentation
Microsoft Windows Azure - Cloud Computing Hosting Environment Presentation
 
Chapter 3.4.pptx
Chapter 3.4.pptxChapter 3.4.pptx
Chapter 3.4.pptx
 
Azure IaaS
Azure IaaSAzure IaaS
Azure IaaS
 
Unit 5.pptx
Unit 5.pptxUnit 5.pptx
Unit 5.pptx
 
Server Farms and XML Web Services
Server Farms and XML Web ServicesServer Farms and XML Web Services
Server Farms and XML Web Services
 

More from Mindfire Solutions

Physician Search and Review
Physician Search and ReviewPhysician Search and Review
Physician Search and Review
Mindfire Solutions
 
diet management app
diet management appdiet management app
diet management app
Mindfire Solutions
 
Business Technology Solution
Business Technology SolutionBusiness Technology Solution
Business Technology Solution
Mindfire Solutions
 
Remote Health Monitoring
Remote Health MonitoringRemote Health Monitoring
Remote Health Monitoring
Mindfire Solutions
 
Influencer Marketing Solution
Influencer Marketing SolutionInfluencer Marketing Solution
Influencer Marketing Solution
Mindfire Solutions
 
ELMAH
ELMAHELMAH
IOT Hands On
IOT Hands OnIOT Hands On
IOT Hands On
Mindfire Solutions
 
Oracle Sql Developer-Getting Started
Oracle Sql Developer-Getting StartedOracle Sql Developer-Getting Started
Oracle Sql Developer-Getting Started
Mindfire Solutions
 
Adaptive Layout In iOS 8
Adaptive Layout In iOS 8Adaptive Layout In iOS 8
Adaptive Layout In iOS 8
Mindfire Solutions
 
Introduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/MacIntroduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/Mac
Mindfire Solutions
 
LINQPad - utility Tool
LINQPad - utility ToolLINQPad - utility Tool
LINQPad - utility Tool
Mindfire Solutions
 
Get started with watch kit development
Get started with watch kit developmentGet started with watch kit development
Get started with watch kit development
Mindfire Solutions
 
Swift vs Objective-C
Swift vs Objective-CSwift vs Objective-C
Swift vs Objective-C
Mindfire Solutions
 
Material Design in Android
Material Design in AndroidMaterial Design in Android
Material Design in Android
Mindfire Solutions
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
Mindfire Solutions
 
Ext js Part 2- MVC
Ext js Part 2- MVCExt js Part 2- MVC
Ext js Part 2- MVC
Mindfire Solutions
 
ExtJs Basic Part-1
ExtJs Basic Part-1ExtJs Basic Part-1
ExtJs Basic Part-1
Mindfire Solutions
 
Spring Security Introduction
Spring Security IntroductionSpring Security Introduction
Spring Security Introduction
Mindfire Solutions
 
Angular In Depth
Angular In DepthAngular In Depth
Angular In Depth
Mindfire Solutions
 
Django Models
Django ModelsDjango Models
Django Models
Mindfire Solutions
 

More from Mindfire Solutions (20)

Physician Search and Review
Physician Search and ReviewPhysician Search and Review
Physician Search and Review
 
diet management app
diet management appdiet management app
diet management app
 
Business Technology Solution
Business Technology SolutionBusiness Technology Solution
Business Technology Solution
 
Remote Health Monitoring
Remote Health MonitoringRemote Health Monitoring
Remote Health Monitoring
 
Influencer Marketing Solution
Influencer Marketing SolutionInfluencer Marketing Solution
Influencer Marketing Solution
 
ELMAH
ELMAHELMAH
ELMAH
 
IOT Hands On
IOT Hands OnIOT Hands On
IOT Hands On
 
Oracle Sql Developer-Getting Started
Oracle Sql Developer-Getting StartedOracle Sql Developer-Getting Started
Oracle Sql Developer-Getting Started
 
Adaptive Layout In iOS 8
Adaptive Layout In iOS 8Adaptive Layout In iOS 8
Adaptive Layout In iOS 8
 
Introduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/MacIntroduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/Mac
 
LINQPad - utility Tool
LINQPad - utility ToolLINQPad - utility Tool
LINQPad - utility Tool
 
Get started with watch kit development
Get started with watch kit developmentGet started with watch kit development
Get started with watch kit development
 
Swift vs Objective-C
Swift vs Objective-CSwift vs Objective-C
Swift vs Objective-C
 
Material Design in Android
Material Design in AndroidMaterial Design in Android
Material Design in Android
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
 
Ext js Part 2- MVC
Ext js Part 2- MVCExt js Part 2- MVC
Ext js Part 2- MVC
 
ExtJs Basic Part-1
ExtJs Basic Part-1ExtJs Basic Part-1
ExtJs Basic Part-1
 
Spring Security Introduction
Spring Security IntroductionSpring Security Introduction
Spring Security Introduction
 
Angular In Depth
Angular In DepthAngular In Depth
Angular In Depth
 
Django Models
Django ModelsDjango Models
Django Models
 

Recently uploaded

Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
David D. Scott
 
Unlocking the Future of Artificial Intelligence
Unlocking the Future of Artificial IntelligenceUnlocking the Future of Artificial Intelligence
Unlocking the Future of Artificial Intelligence
dorinIonescu
 
Three available editions of Windows Servers crucial to your organization’s op...
Three available editions of Windows Servers crucial to your organization’s op...Three available editions of Windows Servers crucial to your organization’s op...
Three available editions of Windows Servers crucial to your organization’s op...
Q-Advise
 
AI-driven Automation_ Transforming DevOps Practices.docx
AI-driven Automation_ Transforming DevOps Practices.docxAI-driven Automation_ Transforming DevOps Practices.docx
AI-driven Automation_ Transforming DevOps Practices.docx
zoondiacom
 
UW Cert degree offer diploma
UW Cert degree offer diploma UW Cert degree offer diploma
UW Cert degree offer diploma
dakyuhe
 
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdfApplitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools
 
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
Andre Hora
 
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
OnePlan Solutions
 
4. The Build System _ Embedded Android.pdf
4. The Build System _ Embedded Android.pdf4. The Build System _ Embedded Android.pdf
4. The Build System _ Embedded Android.pdf
VishalKumarJha10
 
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing ToolsOld Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
Benjamin Bischoff
 
02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching
quanhoangd129
 
Learning Rust with Advent of Code 2023 - Princeton
Learning Rust with Advent of Code 2023 - PrincetonLearning Rust with Advent of Code 2023 - Princeton
Learning Rust with Advent of Code 2023 - Princeton
Henry Schreiner
 
BitLocker Data Recovery | BLR Tools Data Recovery Solutions
BitLocker Data Recovery | BLR Tools Data Recovery SolutionsBitLocker Data Recovery | BLR Tools Data Recovery Solutions
BitLocker Data Recovery | BLR Tools Data Recovery Solutions
Alina Tait
 
daily-improvements-with-sqdc-process.pdf
daily-improvements-with-sqdc-process.pdfdaily-improvements-with-sqdc-process.pdf
daily-improvements-with-sqdc-process.pdf
sayma33
 
New York University degree Cert offer diploma Transcripta
New York University degree Cert offer diploma Transcripta New York University degree Cert offer diploma Transcripta
New York University degree Cert offer diploma Transcripta
pyxgy
 
Fantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdfFantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdf
6m9p7qnjj8
 
Fixing Git Catastrophes - Nebraska.Code()
Fixing Git Catastrophes - Nebraska.Code()Fixing Git Catastrophes - Nebraska.Code()
Fixing Git Catastrophes - Nebraska.Code()
Gene Gotimer
 
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
vijayatibirds
 
Literals - A Machine Independent Feature
Literals - A Machine Independent FeatureLiterals - A Machine Independent Feature
Literals - A Machine Independent Feature
21h16charis
 
The Politics of Agile Development.pptx
The  Politics of  Agile Development.pptxThe  Politics of  Agile Development.pptx
The Politics of Agile Development.pptx
NMahendiran
 

Recently uploaded (20)

Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...
 
Unlocking the Future of Artificial Intelligence
Unlocking the Future of Artificial IntelligenceUnlocking the Future of Artificial Intelligence
Unlocking the Future of Artificial Intelligence
 
Three available editions of Windows Servers crucial to your organization’s op...
Three available editions of Windows Servers crucial to your organization’s op...Three available editions of Windows Servers crucial to your organization’s op...
Three available editions of Windows Servers crucial to your organization’s op...
 
AI-driven Automation_ Transforming DevOps Practices.docx
AI-driven Automation_ Transforming DevOps Practices.docxAI-driven Automation_ Transforming DevOps Practices.docx
AI-driven Automation_ Transforming DevOps Practices.docx
 
UW Cert degree offer diploma
UW Cert degree offer diploma UW Cert degree offer diploma
UW Cert degree offer diploma
 
Applitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdfApplitools Autonomous 2.0 Sneak Peek.pdf
Applitools Autonomous 2.0 Sneak Peek.pdf
 
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
Monitoring the Execution of 14K Tests: Methods Tend to Have One Path that Is ...
 
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
Bring Strategic Portfolio Management to Monday.com using OnePlan - Webinar 18...
 
4. The Build System _ Embedded Android.pdf
4. The Build System _ Embedded Android.pdf4. The Build System _ Embedded Android.pdf
4. The Build System _ Embedded Android.pdf
 
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing ToolsOld Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing Tools
 
02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching02. Ruby Basic slides - Ruby Core Teaching
02. Ruby Basic slides - Ruby Core Teaching
 
Learning Rust with Advent of Code 2023 - Princeton
Learning Rust with Advent of Code 2023 - PrincetonLearning Rust with Advent of Code 2023 - Princeton
Learning Rust with Advent of Code 2023 - Princeton
 
BitLocker Data Recovery | BLR Tools Data Recovery Solutions
BitLocker Data Recovery | BLR Tools Data Recovery SolutionsBitLocker Data Recovery | BLR Tools Data Recovery Solutions
BitLocker Data Recovery | BLR Tools Data Recovery Solutions
 
daily-improvements-with-sqdc-process.pdf
daily-improvements-with-sqdc-process.pdfdaily-improvements-with-sqdc-process.pdf
daily-improvements-with-sqdc-process.pdf
 
New York University degree Cert offer diploma Transcripta
New York University degree Cert offer diploma Transcripta New York University degree Cert offer diploma Transcripta
New York University degree Cert offer diploma Transcripta
 
Fantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdfFantastic Design Patterns and Where to use them No Notes.pdf
Fantastic Design Patterns and Where to use them No Notes.pdf
 
Fixing Git Catastrophes - Nebraska.Code()
Fixing Git Catastrophes - Nebraska.Code()Fixing Git Catastrophes - Nebraska.Code()
Fixing Git Catastrophes - Nebraska.Code()
 
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...
 
Literals - A Machine Independent Feature
Literals - A Machine Independent FeatureLiterals - A Machine Independent Feature
Literals - A Machine Independent Feature
 
The Politics of Agile Development.pptx
The  Politics of  Agile Development.pptxThe  Politics of  Agile Development.pptx
The Politics of Agile Development.pptx
 

High Availability of Azure Applications

  • 1. High Availability of Azure Applications(PaaS) Himanshu Sahu Mindfire Solutions himanshus@mindfiresolutions.com
  • 2. Agenda Introduction Windows Azure Role Architecture Fault Domains in Windows Azure Update Domains in Windows Azure Windows Azure Host OS Updates Windows Azure Guest OS Updates Techniques for High Availability
  • 3. High Availability in Azure Introduction ALWAYS ON Reliability and Scalability Design for failure Implement separation of function Use a service-oriented architecture
  • 4. Windows Azure Role Architecture
  • 5. Fault Domains in Windows Azure Fault Domains Fault Domain is a physical unit of failure, and is closely related to the physical infrastructure in the data centers. In Windows Azure the rack can be considered a fault domain. However there is no 1:1 mapping between fault domain and rack. Windows Azure Fabric is responsible to deploy the instances of your application in different fault domains. Right now Fabric makes sure that your application uses at least 2 (two) fault domains. As a developer have no direct control over how many fault domains your application will use.
  • 6. Update Domains in Windows Azure Update Domains Upgrade Domain is a logical unit, which determines how particular service will be upgraded. The default number of upgrade domains that are configured for your application is 5 (five). You can control how many upgrade domains your application will use through the upgradeDomain configuration setting in your service definition file (CSDEF).
  • 7. Windows Azure Host Updates When and Why Windows Azure deploys updates to the host OS approximately once per month. This ensures that Windows Azure provides a reliable, efficient and secure platform for hosting your applications. The HA consists of multiple subcomponents, such as the Network Agent (NA) that manages virtual machine VLANs and the Virtual Machine virtual disk driver that connects Virtual Machine disks to the blobs containing their data in Windows Azure Storage. Azure therefore update the HA and its subcomponents at different intervals, depending on when a fix or new functionality is ready.
  • 9. Windows Azure Host Updates How The host OS reboots instances and the fabric controller ensures that only instances from one upgrade domain at a time will be rebooted. Virtual machines running on the server that have an Input Endpoint in their role’s service model are removed from the load balancer rotation so that no new requests will come to the virtual machine and instead new requests are sent to other instances of that role as per the Azure load- balancing policies. Each virtual machine hosting a Web or Worker Role receives a Stopping event, whereas VM Roles receive a standard Windows shutdown event. Worker, Web, and Virtual machine roles are allowed five minutes to respond to the stopping and shutdown event before they are forcibly stopped.
  • 10. Windows Azure Host Updates How After all guest virtual machines are stopped, the root partition OS shuts down and the server reboots. The updated root partition OS starts. The virtual machines hosted on the server boot and start their application code. Virtual machines hosting service roles with Input Endpoints reconnect to the load balancer, enabling them to receive client request
  • 11. Windows Azure Guest Updates Once the Host OS has finished upgrading across the datacenter then the Guest OS will be upgraded for services which are configured to use automatic Guest OS versions and this upgrade will proceed using standard upgrade domain rules for your service. Your VM will be rebooted and the Windows Partition (the D drive) will be reimaged with the upgraded OS. The Guest OS update process is much faster than the Host OS update since the fabric only has to coordinate the update within your hosted service and your upgrade domains.
  • 12. Availability An available application considers the availability of its underlying infrastructure and dependent services. Available applications remove single points of failure through redundancy and resilient design Azure SLA More Instances in Azure Make Guest OS Update Manual
  • 13. Availability Scalability directly affects availability—an application that fails under increased load is no longer available. Scalable applications are able to meet increased demand with consistent results in acceptable time windows. Auto Scaling in Azure
  • 14. Availability Protection against hardware failures Because every application is made up of multiple instances of each role, hardware failures—a disk crash, a network fault, or the death of a server machine—won’t take down the application. To help with this, the fabric controller doesn’t choose machines for an application’s instances at random. Instead, different instances of the same role are placed in different fault domains. A fault domain is a set of hardware—computers, switches, and more—that share a single point of failure. (For example, all of the computers in a single fault domain might rely on the same switch to connect to the network.) Because of this, a single hardware failure can’t take down an entire application. The application might temporarily lose some instances, but it will continue to behave correctly.
  • 15. Availability Protection against software failures The fabric controller can also detect failures caused by software. If the code in an instance crashes or the VM in which it’s running goes down, the fabric controller will start either just the code or, if necessary, a new VM for that role. While any work the instance was doing when it failed will be lost, the new instance will become part of the application as soon as it starts running.
  • 16. Availability The ability to update applications with no application downtime When a new version of the application needs to be deployed, the fabric controller can shut down the instances in just one update domain, update the code for these, then create new instances from that new code. Once those instances are running, it can do the same thing to instances in the next update domain, and so on. While users might see different versions of the application during this process, depending on which instance they happen to interact with, the application as a whole remains continuously available.
  • 17. Availability The ability to update Windows and other supporting software with no application downtime. Answer is Update Domain. :)