High Availability and Scalability in the Cloud
Full-Access Members Only
Sorry, this lesson is only available to Server Academy Full-Access members. Become a Full-Access member now and get instant access to this and many more premium courses. Click the button below and get instant access now.
Instructions
Q&A (0)
Notes (0)
Resources (0)
Saving Progress...
Resources
There are no resources for this lesson.
Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.
In this lesson, you will learn about two critical considerations when building or deploying a cloud application: high availability (uptime) and scalability (ability to handle demand). Understanding these concepts is essential for ensuring your applications perform reliably and efficiently in a cloud environment.
High Availability
High availability ensures that your IT resources are accessible when needed, regardless of disruptions or events that may occur. When architecting your solution, you need to account for service availability guarantees. Azure provides a highly available cloud environment with uptime guarantees that vary depending on the service. These guarantees are outlined in service-level agreements (SLAs).
Understanding SLAs
A Service Level Agreement (SLA) is a formal agreement between a service provider and a customer that guarantees a stated level of service. SLAs are also used within organizations between the IT department and business users.
Each Azure service has its own SLA, and it is crucial to familiarize yourself with them before designing applications on Azure to ensure you optimize availability according to your business needs.
Scalability
Scalability is another major benefit of cloud computing, allowing you to adjust resources to meet demand. Scalability ensures that your systems can handle peak traffic by adding more resources and can also reduce costs by scaling down when demand decreases. There are two types of scalability: vertical and horizontal.
Vertical Scaling
Vertical scaling involves increasing or decreasing the capabilities of existing resources. For instance, if your application needs more processing power, you can vertically scale up by adding more CPUs or RAM to a virtual machine. Conversely, if you find you have over-specified your needs, you can vertically scale down by reducing the CPU or RAM specifications.
Horizontal Scaling
Horizontal scaling involves adding or subtracting the number of resources. For example, if you experience a sudden increase in demand, you can scale out by adding additional virtual machines or containers. This can be done automatically or manually. Similarly, if demand drops, you can scale in by removing excess resources, thus optimizing costs.
Server Academy Members Only
Sorry, this lesson is only available to Server Academy Full Access members. Become a Full-Access Member now and you’ll get instant access to all of our courses.