官术网_书友最值得收藏!

  • Azure for Architects
  • Ritesh Modi
  • 393字
  • 2021-07-08 09:33:42

Computing High Availability

Applications demanding High Availability should be deployed on multiple virtual machines on the same availability set. If applications are composed of multiple tiers, then each tier should have a group of virtual machines on their dedicated availability set. In short, if there are three tiers of an application, there should be three availability sets and minimum six virtual machines (two in each availability set) to make the entire application highly available.

How does Azure provide SLA and High Availability to virtual machines in an Availability set with multiple virtual machines in each availability set? This is the question that might be coming to mind.

Here comes the use of concepts that we considered before: fault and update domain.

When Azure sees multiple virtual machines in an availability set, it places those virtual machines on a separate fault domain. In other words, these virtual machines are placed on separate physical racks instead of the same rack. This ensures that at least one virtual machine continues to be available even if there is a power, hardware, or rack failure. There are two or three fault domains in an availability set and depending on a number of virtual machines in an availability set, the VMs are placed on separate fault domains or repeated in a round robin fashion. This ensures that High Availability is not impacted because of failure of the rack.

Azure also places these VMs on a separate update domain. In other words, Azure tags these VMs internally in such a way that these virtual machines are patched and updated one after another such that any reboot in an update domain does not affect the availability of the application. This ensures that High Availability is not impacted because of the virtual machine and host maintenance.

With the placement of virtual machines in separate fault and update domains, Azure ensures that not all of them are down at the same time and are alive and available for serving requests even though they might be undergoing maintenance or facing physical downtime challenges.

The previous image shows four virtual machines (2 IIS and 2 SQL related). Both IIS and SQL virtual machines are part of their availability set. The IIS and SQL virtual machines are on separate fault domain and different racks in the data center. They would also be on separate upgrade domains.

主站蜘蛛池模板: 隆昌县| 泸西县| 甘泉县| 句容市| 原阳县| 浦县| 平远县| 西华县| 图们市| 鄂州市| 霍林郭勒市| 田阳县| 蓬安县| 彭泽县| 彭泽县| 黑龙江省| 历史| 马关县| 新龙县| 泰和县| 克什克腾旗| 西贡区| 堆龙德庆县| 望江县| 新巴尔虎右旗| 朝阳市| 武山县| 钟山县| 庆阳市| 吐鲁番市| 安吉县| 景洪市| 邯郸市| 焦作市| 象州县| 札达县| 阿鲁科尔沁旗| 济源市| 绍兴县| 夏津县| 石阡县|