- Published on
Finding the right AWS compute service for your workload
- Authors
- Name
- Marat Levit
- @MaratLevit
In April of 2020, I decided to tackle a long-standing problem with AWS: how does one decide on the appropriate service for their undertaking? To āsolveā or at the very least assist with this problem, I released the AWS Compute Decision Tree. The decision tree requires you, the reader, to answer a bunch of questions until you finally reach a recommended AWS service.
The original decision tree was by no means perfect. Several workloads were missing, some decision lines were just plain invalid, and as always, AWS released a slew of new services which the tree doesnāt cater for. So, I decided to take another stab and create version 2.
Whatās changed?
The underlying premise is exactly the same. You still have three streams, analytics, application, and machine learning. You still answer a bunch of questions, and you still get those sweet sweet AWS service recommendations at the end.
But, a few things have changed.
Streaming
The original tree didnāt cater for streaming workloads. Itās quite a significant oversight but one that has now been addressed. Iāve added Amazon Kinesis Data Analytics, AWS Glue, and Amazon EMR to support streaming workloads using either SQL or PySpark. Pick your poison.
Serverless
re:Invent 2021 released a whole host of serverless services, including but not limited to Amazon Redshift Serverless and Amazon EMR Serverless. Again, weāve updated the decision tree to differentiate between the serverfull and serverless variants.
Edge Compute
Whilst still nowhere near complete, Iāve finally added some edge compute capabilities through the use of AWS Panorama and AWS IoT Greengrass.
Future iterations would possibly add AWS Outpost, AWS Snowball, AWS Snowcone and more. Iām no edge compute specialist, so Iād rather not rush this one.
It comes in two flavours!
The original decision tree was a single PDF that was reasonably easy to consume but hard to maintain. Version 2 tries to solve this by creating three draw.io diagrams (one for each stream) as well as a choose your own adventure style storyboard.
So now, without further ado:
Application
AWS Application Compute Decision Tree
Analytics
Sheās a big one⦠AWS Analytics Compute Decision Tree
Machine Learning
AWS Machine Learning Compute Decision Tree
Choose your own adventure
Youāre going to love this one. Head on over and play what is probably the least exciting choose your own adventure game :)
AWS Compute Decision Tree Story Board
Iāve open-sourced it!
I decided to open-source the decision tree. Do I hope someone will contribute? A little. Do I think people will? Probably not. But thatās OK. Whatever makes it easier for people to find, share, get value, or even modify for themselves is a win in my book.
If youād like to contribute, provide commentary, or star the repo to get notified of any changes, head on over to: servian/aws-compute-decision-tree
I had fun updating the tree and adding support for new and missing services. If you have any feedback, comments or suggestions, please let me know in the comment section below or raise them as an Issue in GitHub.