Here is a tabular comparison of different compute available in AWS based on compute capacity, cost, and use case:
Compute Service | Compute Capacity | Cost | Use Case |
---|---|---|---|
Amazon EC2 | Highly scalable compute capacity in the cloud | Pay as you go pricing model with no upfront costs | Great for a wide variety of use cases including web applications, game servers, batch processing, and more. |
Amazon EC2 Auto Scaling | Automatically scales the number of Amazon EC2 instances | Pay for the resources you use | Ideal for applications with fluctuating demand, such as batch processing jobs or seasonal traffic spikes. |
AWS Elastic Beanstalk | Platform for deploying, managing, and scaling web applications | Free, but you pay for underlying AWS resources | Ideal for developers who want to deploy and manage their web applications without having to worry about the infrastructure. |
AWS Lambda | Serverless compute service | Pay for the compute time consumed | Great for running small, event-driven applications or as part of a larger serverless architecture. |
Amazon ECS | Highly scalable container management service | Pay for the compute resources you use | Ideal for organizations that want to run and scale containerized applications. |
Amazon EKS | Managed Kubernetes service | Pay for the compute resources you use | Great for organizations that want to run and scale containerized applications using Kubernetes. |
AWS Fargate | Serverless compute engine for containers | Pay for the resources you use | Ideal for organizations that want to run containerized applications without having to manage the underlying infrastructure. |
Here are some example use case stories for each of the compute options available in AWS:
- EC2 Instances – A large e-commerce company that experiences heavy traffic during sales and holiday periods uses EC2 instances to scale their compute capacity during peak periods. By leveraging EC2 instances with auto-scaling groups, they are able to dynamically adjust their compute capacity to match demand, ensuring that their website remains responsive and available to customers at all times.
- Lambda Functions – A mobile gaming company uses AWS Lambda functions to handle real-time data processing and game logic for their multiplayer games. By leveraging Lambda functions, they are able to scale their compute capacity in response to demand, without having to manage any underlying infrastructure. This allows them to focus on building great games, rather than worrying about managing servers.
- Elastic Beanstalk – A startup that is building a new SaaS product uses Elastic Beanstalk to quickly deploy and manage their application infrastructure. By using Elastic Beanstalk, they are able to focus on building their application, rather than worrying about the underlying infrastructure. Elastic Beanstalk takes care of scaling, monitoring, and patching the infrastructure, allowing the startup to move fast and iterate quickly.
- ECS – A large financial services company uses Amazon ECS to run their containerized workloads in a highly available and scalable manner. By leveraging ECS, they are able to run their workloads on a highly flexible and cost-effective platform that can scale to meet their changing needs. ECS also provides a highly secure environment for running containerized workloads, which is critical for a financial services company.
- Batch – A research organization that needs to run large-scale simulations and data processing jobs uses AWS Batch to manage their compute resources. By using Batch, they are able to easily manage and scale their compute resources, without having to manage the underlying infrastructure. This allows them to focus on their research, rather than worrying about managing compute resources.
- EC2 Spot Instances – A machine learning startup uses EC2 Spot instances to train their models at a lower cost. By using Spot instances, they are able to take advantage of spare EC2 capacity at a reduced price, which allows them to run more training jobs and iterate faster. Spot instances can be interrupted with two minutes’ notice, but by using techniques like checkpointing, the startup is able to minimize the impact of these interruptions.
- Fargate – A healthcare company that needs to process sensitive patient data uses AWS Fargate to run their containerized workloads. By leveraging Fargate, they are able to run their workloads on a highly secure and isolated platform that meets strict compliance requirements. Fargate provides a fully managed environment for running containerized workloads, which allows the healthcare company to focus on delivering better patient outcomes.