Cloud computing has changed the way many business view their IT structure: moving from seeing IT as a Capital Expense (CapEx) - meaning something to be purchased and the value amortized over time - to an Operation Expense (OpEx) - something that can effectively be rented and shut off when it's no longer needed. Over the years Amazon has abstracted servers into both storage and computing, and those services have been further specialized.
Types of Cloud Computing on AWS
Today (2022), Amazon views their cloud computing resources/services to be divided up into the following five major categories:
- Virtual Machines or "Instances"
- Edge & Hybrid
- Cost-managed resources
1. Virtual Machines or "Instances"
By far the most well-known, virtual machines or "instances" in AWS-speak are virtualized computers that provide computing power. They are generally paired with one or more storage services (like S3) to approximate servers and they can generally replace the 1u or 2u machines commonly found in co-location racks. At some level, these compute resources are all backed by physical machines, but their virtualized layer is advanced enough that the physical nature of the machines can largely be ignored.
Within the category of virtual machines, Amazon provide the following types:
- Amazon Elastic Compute Cloud (EC2) - Secure and resizable compute
- Amazon EC2 Spot - Run fault-tolerant workloads for up to 90% less cost
- Amazon EC2 Autoscaling - Automatically add or remove compute capacity to meet changes in demand
- Amazon Lightsail - Small turn-key cloud instances that offers you everything you need to build an application or website like Wordpress or Drupal
- AWS Batch - Fully managed batch processing
The workhorse and by far the most common of the virtual machines is EC2. It's been around since the very beginning and provides a reliable, cost effective alternative to racking physical machines. It's always on and is generally best purchased with yearly commitments to see the best value for your money.
If you are conducting a lift-and-shift cloud migration, EC2 should be your go-to cloud compute resource. And if you'd like help with the analysis or architecture we can help!
If you or your IT team is concerned with portability and avoiding vendor lock in, Containers are for you. Unlike some of the other specialized compute resources like EC2 or Lambda, Containers are designed to be interoperable. This provides cross-cloud provider capabilities where workloads can (in theory) be moved from AWS to GCP to Azure without affecting the services they support.
While this sounds great, it does come at a cost in terms of complexity of management and actual costs charged by the various cloud providers. The specific services within this category at AWS are:
- Amazon Elastic Container Service (ECS) - Run containers on AWS infrastructure
- Amazon ECS Anywhere - Run containers on customer-managed infrastructure
- Amazon Elastic Container Registry (ECR) - Easily store, manage, and deploy container images
- Amazon Elastic Kubernetes Service (EKS) - Fully managed Kubernetes service
- Amazon EKS Anywhere - Create and operate Kubernetes clusters on your own infrastructure
- AWS Fargate - Serverless compute for containers
- AWS App Runner - Build and run containerized applications on a fully managed service
At Metal Toad we tend to shy away from Containers as an overall strategy, but they can be a truly viable solution if the IT team implementing them is willing to invest the ongoing time and energy required. Along with hybrid they tend to be a fit for very large enterprises.
TRIVIA: 84% of all Kubernetes workloads in the cloud run on AWS!
First launched in 2014, serverless infrastructure has had a radical impact on the tech industry globally by literally changing the way software can and should be built. Unlike previous generations of compute (EC2, etc.) serverless compute (AWS Lambda) is not always on. It is only used when and if it is needed, which can result in radical changes in cost.
As of today, compute cycles on AWS Lambda can be purchased 1 millisecond increments. That's 1/4 of the time it takes a bee to flap it's wing. Importantly in my article on when you should use AWS Lambda, we talk through a thought exercise where migrating software from traditional servers to AWS Lambda could result in monthly costs dropping from $3.3M per month, to $55 dollars per month. That's not a typo, and hopefully, that's food for thought.
If you'd like to dig into the opportunities for cost savings on converting your application over to AWS Lambda we'd love to talk to you.
4. Edge & Hybrid
One of the newest offerings within the AWS space is the area of edge and hybrid, where some compute lives in customer managed co-location facilities, with a strong backbone or more finished data is transferred to AWS facilities. The services within this space are:
- AWS Outposts - Run AWS infrastructure and services on premises
- AWS Snow Family - Collect and process data in disconnected edge environments
- AWS Wavelength - Ultra-low latency application for 5G devices
- VMware Cloud on AWS - vSphere workloads to rapidly extend and migrate to the cloud
- AWS Local Zones - Run latency sensitive applications closer to end-users
As their names and descriptions indicate, most of these workloads are highly specialized and are largely targeted at large enterprises.
5. Cost-managed resources
The last cloud computing category are for cost conscious buyers who will see returns on large purchases at scale. The services include:
- AWS Savings Plan - Flexible pricing model that provides savings of up to 72% on AWS compute usage
- AWS Compute Optimizer - Recommends optimal AWS compute resources for your workloads to reduce costs and improve performance
- AWS Elastic Beanstalk - Easy-to-use service for deploying and scaling web applications and services
- EC2 Image Builder - Build and maintain secure Linux or Windows Server images
- Elastic Load Balancing (ELB) - Automatically distribute incoming application traffic across multiple targets
In the case of Elastic Load Balancing (ELB) instances, we at Metal Toad consider this more of a "standard issue" instance, but the web applications we typically architect can see significant amounts of traffic.
How does AWS compare to the competition?
When selecting the cloud computing resource your company will use, it's nice to have as clear a picture as you can see in the following magic quadrant on cloud infrastructure. Not only is Amazon Web Services called out as a leader in their ability to execute, but they also lead the pack in vision as well:
As a professional services provider working in the cloud space everyday, we can personally say this is a magic quadrant that we believe Gartner has gotten just right.