Chapter 14. Chapter 22: Architecting for Scale with the Cloud

As we build and architect highly available, highly scaled web applications, we also have to deal with highly variable availability. From an infrastructure management standpoint, traditionally, this has meant the need to over provision infrastructure resources. If your application needs anywhere from 20 servers to 200 servers depending on the current numbers of users utilizing your application, then you better make sure you always have 200 servers available. In fact, you probably should have 250 servers available, in case your usage estimation was wrong. Failure to do so would mean you could suffer a scaling-related brownout or blackout, and your availability would suffer, and customers would be upset. How many times have you tried to use a website that you know was very popular at the moment, only to find out that the website was unacceptably slow or non-responsive? This is the result of a scaling brownout/blackout, and is the result of incorrect resource planning for scale.

As the internet and our use of the internet matures, our use and expectations of sites goes up. The ability to predict scaling needs for these applications becomes harder. Additionally, fewer companies can afford to have over provisioned resources lying around unused during slow times.

The result? The need for highly dynamic infrastructures that can automatically size themselves appropriately for our scaling and availability needs.

This is one of the most significant features of the public cloud that helps build highly scaled applications. You can very easily provision and retrovision infrastructure dynamically, on the fly, in order to meet your current needs. When your application is in a slow time, you do not need excess infrastructure resources lying around unused, wasting money. And when your application usage exceeds expectations, you can easily add additional resources to meet your current needs.

A well built application, designed for scale, and run on a well configured dynamic cloud infrastructure, can effectively handle any application scaling needs to almost any level, practically removing the occurrence of brownouts and blackouts during peak usage.

This is the goal, and the desire, and is for this reason that utilizing the public cloud is critical in building a highly scalable, highly available, modern application.

The rest of this section talks about utilizing the cloud in modern, scaled applications.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.12.205