AWS Infrastructure Part II: Elasticity & Auto-Scaling

Through a Netflix example I will show how important these two concepts improve performance and cost optimization

In my previous article I wrote about Availability zones and how the AWS infrastructure provides high availability and fault tolerance. In this article I will cover two more key concepts that make the AWS cloud ideal for businesses looking to improve performance and cost optimization. Through Scalability and Elasticity businesses are able to adjust to incoming traffic much easier than if it were done on premise.

In my previous article I used an example using Dropbox. This time I will use an example using Netflix. Let’s say that in 2016 Netflix expects a maximum of incoming traffic to be utilizing their servers to watch their favorite TV shows and movies to be 100K people. This means that in any given scenario and under any condition Netflix has prepared their AWS cloud environment to host 100K people at once at any given time. To prepare for this incoming traffic they utilized their multi-availability zone infrastructure and placed a database in each. This essentially means even during its busiest time at around 9pm when everyone is on Netflix, they have prepared their environment to be highly available and fault tolerant to handle the traffic.

Now let’s say as Netflix heads into 2017 they are expecting another 100k people to sign up. Therefore, they need to adjust their environment. Previously before the cloud existed, they would have to call and have these databases installed in their building to adjust for the potential incoming traffic. The cost to do so is very expensive when one considers the installation, delivery and maintenance of these databases. However, since they are operating on the cloud, they are able to introduce these new databases as traffic increases. This scenario describes the term Scalability. In essence, it allows the cloud infrastructure to add databases in availability zones to adjust to incoming traffic as more people sign up for Netflix. Instead of making a call to have the databases installed it can all be done on the cloud!

Awesome, now in 2017 we have accounted for the 200k individuals total who have signed up to use Netflix. However, what if it is 3am in the morning and many people are not watching Netflix. Will we still be charged for those running databases? NO! this is where the term elasticity comes into play. Remember scalability is the idea of adding more resources to the AWS infrastructure to improve performance. Elasticity is the idea of decommissioning them to remain cost effective during times in which the resources are not being used!

Therefore at 3am when most are asleep, in the AWS cloud world, those databases that were being used to host majority of the traffic during the 8pm peak to watch the newest episode of a favorite TV show, are now going to be decommissioned to save money. Why would Netflix want those databases running at off-peak times when customers are not using them? If this was not on the cloud, they would have no choice but to have them running. This is exactly why using the cloud can be extremely cost efficient. It allows a company to scale and decommission resources as needed, versus on premise where the flexibility does not exist.

So now we have covered High Availability, Fault Tolerance, Scalability, and Elasticity. I will summarize them in my next article

Thank you for reading!

— — — — — — — — — — — — — — — — — — — — — -

Data Science and AWS Cloud Computing enthusiast