Azure for Architects
上QQ阅读APP看书,第一时间看更新

Azure Solution Availability and Scalability

Architectural concerns, such as high availability and scalability, are some of the highest-priority items for any architect. This is common across many projects and solutions. However, this becomes even more important when deploying applications on the cloud because of the complexity involved. Most of the time, the complexity does not come from the application, but because of the choices available in terms of similar resources on the cloud. The other complex issue that arises from the cloud is the constant availability of newer features. These new features can almost make an architect's architectural decisions completely redundant in hindsight.

In this chapter, we will go through an architect's perspective for deploying highly available, scalable applications on Azure.

Azure is a mature platform providing multiple options for implementing high availability and scalability at multiple levels. It is incumbent on an architect to know them, the differences between them, and the costs involved, and finally choose an appropriate solution that meets the best solution requirements. There is no one solution, but a good one for each project.

Running applications and systems that are available to users for consumption whenever they need them is one of the topmost priorities for CIOs. They want their applications to be operational and functional, and to continue to be available to their customers even when some untoward event happens. This is the theme for this chapter—high availability. Keeping the lights on is the common metaphor used for high availability. Achieving high availability for applications is not an easy task, and organizations have to spend considerable time, energy, resources, and money to achieve this. And even when using them, there is still the risk that their implementation will not produce the desired results. Azure provides a lot of high-availability features for virtual machines (VMs) and Platform as a Service (PaaS) services. In this chapter, we will go through the architectural and design features provided by Azure for ensuring high availability for applications and services.

In this chapter, we will cover the following topics:

  • High availability
  • Azure high availability
  • Architectural considerations for high availability
  • Scalability
  • Upgrades and maintenance