Matching your Business Requirements to the Right Compute Option
Start course

This course covers the core learning objective to meet the requirements of the 'Designing Compute instances solutions in AWS - Level 2' skill

Learning Objectives:

  • Create elastic and scalable AWS compute solutions for a specific workload
  • Evaluate an appropriate AWS compute service based on business requirements
  • Evaluate which Elastic Load Balancer should be used for a specific solution



So, given that there are so many choices, which Compute option is right for you?

Here's a way to find out. I'll give you a list of questions and depending on your answers, you'll end up with a narrow list of Compute options that you can choose from. Are you ready? Let's go. Does your application need a specific operating system? Does your application need a hardened version of an operating system or software? Is your company required to meet certain governance, such as end-to-end encryption or other requirements that are very specific to your use case? Does your application have an unusually high need for memory or CPU? Do you have legacy software that just needs to be migrated to the cloud? If you answered yes, to several of these questions, then probably you need to manage your own infrastructure. 

In which case you would pick EC2 in AWS as your Compute option. Another great choice will be ECS backed by traditional EC2s if you run Docker containers and need to manage their infrastructure yourself. Now, moving onto the serverless world, are you running microservices? Is your software brand new or still under development? Is your application based on triggers such as file uploads, incoming emails or data streams? Are you building APIs to serve other applications or companies? Do you run containers that don't care about the infrastructure where they run as long as they are in a secure environment and highly available? If you answer yes to several of these questions, then serverless managed by AWS may be the right choice for you. 

AWS Lambda and API Gateway provide a great platform for microservices and APIs. ECS Fargate is an amazing platform to run containers and let Amazon manage the infrastructure. And Step Functions and AWS Amplify provide workflow management and web application platform management without the need to manage servers at all. All right, let's do one last round. Are you running a small shop with web developers and no operations team? Do you have a specific use case for AWS that requires servers, but you would rather not have to manage them manually? Do you need to make a database servers available to the public, but without actually having to manage the server itself? These are great questions to determine whether the in-between options in AWS are a good fit for you. 

Elastic Beanstalk and AWS Amplify are great choices for web developers that don't want to deal with infrastructure, but may have to from time to time. Even AWS Lightsail, which is simply a pre-configure server in the cloud, could be a great legacy option for web developers. For semi-automatic operation management, there's OpsWorks, which is a great to manage service in the cloud such as databases and applications. RDS, AWS relational database service is also a great Compute option to make databases available to third parties, internal use only and other use cases without ever managing the server itself. As you can see, picking the right Compute and infrastructure option is a very use case specific decision. Only you know the option that works best for your needs and hopefully this list of questions can help you make it better and form decision.


About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.