When I first started learning about AWS, I was overwhelmed with so many new words I hadn't seen before. I'm terrible at remembering names, so by far the hardest part of studying for my Certified Cloud Practitioner Exam was remembering all of the names of AWS Products/Services.
I got there in the end, but in hindsight I didn't 100% grasp the concept of elasticity straight away, because it was a familiar word so I ended up glossing over it and focusing on other areas. Today's article will hopefully save you (or someone you're mentoring) from the same mistakes I made.
Optional soundtrack for this article:
Imagine you're having a Pizza Party!
You know your friends are on their way, but you don't know how many of your invitees will actually arrive, or how many guests they're bringing. As a result, when it comes time to order pizza for everyone you just take a guess and hope for the best. You could end up with way too much pizza in the end, or not nearly enough! This is like on-prem infrastructure - you have to pay lots upfront, and you're just guessing capacity, so it can get very expensive and you can end up wasting lots of precious pizza.
In the chart above, you can see that the number of pizzas is constant, and there's times where there isn't enough pizzas for the number of guests when there's a sudden burst (perhaps someone posted photos on instagram which encouraged more guests to arrive?).
It still counts as a pizza party because you have the two key components there (pizza and party) but this isn't a great experience for your guests.
For a different example, say you wanted to have a Scalable Pizza Party. The AWS Well-Architected Framework defines scalability as:
Successful, growing, systems often see an increase in demand over time. A system that is scalable can adapt to meet this new level of demand.
This is good news for you, because successful parties also often see increases in demand over time. Scalability is all about making sure you can 'rise to the occasion' and being able to increase capacity (pizzas) to meet the new guests arriving.
As you can see on the chart, the 'pizza line' is really good at increasing when there's more guests, but it often ends up with lots of extra food when there's a decrease in guests. Things can and do scale downwards, but I really wanted to point out that successful scalability is more focused on being able to increase effectively and isn't always focused on the decrease.
If your pizza party was an Elastic Pizza Party, the pizza ordering would turn out differently! The AWS Well-Architected Framework defines elasticity as:
The ability to acquire resources as you need them and release resources when you no longer need them. In the cloud, you want to do this automatically.
This is great news for our pizza party! You can access the right amount of pizza as soon as you need it, and you can also get rid of pizza (without wasting money!) whenever the number of guests falls.
This chart shows a close pairing between the number of pizzas and number of guests which is great news! You'll have the right number of pizza the whole time, and you won't waste any pizza during the dip (perhaps everyone ran out of beverages and had to buy more?).
Another great feature is that you can set this to happen automatically, so you can spend less time trying to figure out the pizza situation and more time with your party guests.
About the Author: Brooke Jamieson is the Head of Enablement - AI/ML and Data at Blackbook.ai, an Australian consulting firm specialising in AI, Automation, DataOps and Digital. Learn more about Blackbook.ai here and learn more about Brooke here.
Brooke JamiesonJoin me at the @awscloud #SheBuilds Summit this November and learn how to become a tech conference speaker!
More Info: …-shebuilds-summit-2021.splashthat.com
@AWSCloudANZ @awsdevelopers #AWScommunity #AWScommunitybuilder @blackbookai #Blackbookai22:01 PM - 01 Nov 2021