At Ignite 2018, we unveiled Azure Deployment Supervisor, which lets you carry out staged rollouts of Azure Useful resource Supervisor sources, in preview for the primary time. To watch the well being of your providers, you may couple built-in well being checks with these area by area rollouts, or as a part of a number of phases inside areas. We’re completely satisfied to announce that well being integration options at the moment are out there within the Azure Deployment Supervisor Preview. These well being built-in rollouts imply that if unacceptable indicators are detected, deployment will mechanically cease, permitting you to troubleshoot and cut back the size of the influence. This actual set of instruments is already used internally by lots of of Microsoft providers to hold out protected and dependable deployments, making certain excessive availability and stopping or dramatically decreasing service downtime attributable to regressions in updates.
Azure Deployment Supervisor automates the steps of deploying to a pre-production surroundings, verifying service well being over a time frame earlier than progressively transferring on to different environments and performing the mandatory well being checks.
This characteristic is for you if:
- You’re deploying your service throughout a number of areas
- You’re testing varied configurations
- You already use a well being monitoring service of some type
Figuring out service well being
Well being monitoring suppliers supply a number of mechanisms to observe and warn you of any service well being points. Azure Monitor is an instance of 1 such kind of providing, which fires alerts when sure thresholds are exceeded. Some thresholds are indicative of an issue with service well being when exceeded. For instance, in case you’re deploying a brand new replace to your service and your reminiscence and CPU utilization spike past anticipated ranges, Azure Monitor and well being monitoring suppliers like it is going to notify you of the problems to be able to take corrective motion.
These well being suppliers sometimes supply REST APIs in order that the standing of your service’s screens could be examined programmatically. The REST APIs will both come again with a easy wholesome/unhealthy sign (normally decided by the HTTP response code) or with detailed details about the indicators it receives.
The brand new healthCheck step in Azure Deployment Supervisor permits you to declare HTTP codes that point out a wholesome service, or, for extra advanced REST outcomes, you may even specify common expressions that point out a wholesome response in the event that they match. To make this even simpler to make use of, the Azure Deployment Supervisor workforce is working carefully with the highest well being monitoring suppliers to pre-author these HTTP codes and common expressions so you may merely copy and paste this a part of the healthCheck step in case you’re utilizing one among these suppliers.
The method of getting arrange with Azure Deployment Supervisor well being checks is simple.
- Create your well being screens by a well being service supplier of your selection.
- Create a number of healthCheck steps as a part of your Azure Deployment Supervisor rollout.
- Fill out the healthCheck steps with the next info:
- The URI for the REST API in your well being screens (as outlined by your well being service supplier)
- Authentication info (solely API-key type auth is at present supported)
- HTTP standing codes or common expressions that outline a wholesome response
- Invoke the healthCheck steps on the applicable time in your Azure Deployment Supervisor rollout.
Phases of a well being verify
At this level, Azure Deployment Supervisor is aware of question for the well being of your service and at what phases in your rollout to take action. Nonetheless, Azure Deployment Supervisor additionally permits for deep configuration of the timing of those checks. A healthCheck step is executed in a easy three-phase course of with configurable durations, wealthy sufficient to help the well being monitoring wants of the most important Microsoft providers composing Azure itself.
- After a deployment operation is accomplished, it might not make sense to verify for service well being but, because the replace has not reached a gentle state. It takes time for providers to begin emitting well being indicators to be aggregated by the well being monitoring supplier into one thing helpful, and VMs could also be beginning for the primary time, rebooting, or re-configuring primarily based on new knowledge. Service well being could also be oscillating between wholesome states and unhealthy states throughout this tumultuous course of.
- Throughout the Wait section, service well being shouldn’t be monitored as a way to permit the deployed sources the time to bake earlier than starting the well being verify course of.
- Since it’s usually unimaginable to understand how lengthy sources will take to bake earlier than they develop into steady, the Elastic section permits for a versatile time interval between when the sources are probably unstable and when they’re required to keep up a wholesome, regular state.
- When the Elastic section begins, Azure Deployment Supervisor will ballot the supplied REST endpoint for service well being periodically. The polling interval is ready to 3 minutes for the Azure Deployment Supervisor preview, however will likely be configurable sooner or later.
- If the well being monitor comes again with indicators indicating that the service is unhealthy, these indicators are ignored, the Elastic section is maintained, and polling continues.
- As quickly because the well being monitor comes again with indicators indicating that the service is wholesome, the Elastic section ends and the HealthyState section begins.
- Thus, the period specified for the Elastic section is the most period of time that may be spent polling for service well being earlier than a wholesome response is taken into account necessary.
- Throughout the HealthyState section, service well being is regularly polled on the similar interval because the Elastic section.
- The service is predicted to keep up wholesome indicators from the well being monitoring supplier for all the specified period.
- If at any level an unhealthy response is detected, Azure Deployment Supervisor will cease all the rollout and return the REST response carrying the unhealthy service indicators.
- As soon as the HealthyState section period has ended, the healthCheck is full, and deployment continues to the subsequent step.
Begin utilizing Azure Deployment Supervisor with a few sources: