Key Points
- AWS offers multiple options for deployment through their Elastic Cloud Compute (EC2) service.
- EC2 instances include General Purpose, Compute-Optimized, Memory Optimized, Accelerated Computing, Storage-Optimized, and HPC-Optimized.
- Memory-Optimized instances are suitable for applications that require improved memory performance.
- Accelerated Computing instances use hardware accelerators for tasks like graphics processing and data pattern matching.
As developers, we have to be knowledgeable not only in coding our applications but also bringing them to the market. This step of the development process is done through deployment.
Many years ago, when you were tasked with deploying your website or software application, you had to either set up your own server to deploy your software assets, or you had to purchase dedicated space with a hosting provider. However, today, we have an array of options available to us through cloud computing.
One of the top providers of cloud computing services is Amazon Web Services, or “AWS” for short, and they offer multiple options for deployment through their Elastic Cloud Compute (EC2) service. You’ll enjoy many benefits when using EC2 to deploy your applications:
- You don’t have to set up any hardware
- Your software can be accessed from anywhere in the world
- Your software will be secure
- You don’t have to pay for any unused resources
- You can easily upgrade your resources when your application needs to scale
- You control your software
However, to enjoy these benefits, you’ll need a bit of background knowledge on the types of instances you can create with AWS. If you’re unsure which type of instance is the best choice for your use case, you’ve come to the right place.
In today’s article, we’ll walk you through the common instance types and the pros and cons of each one. Let’s get into it!
EC2 Instances: General Purpose
AWS offers a general-purpose instance in EC2, which provides developers access to resources designed to give you a good balance of computing, memory, and networking resources.
This type of instance would be ideal for you if you’re deploying a small- to mid-sized application that doesn’t yet have a large database of users. As your application grows, you can identify resources you might be using more to switch to a more focused type of EC2 instance.
Pros and Cons
PROS | CONS |
---|---|
Great starter instance type for new applications with small or medium databases. | Performance may take a hit if you have a large database. |
Ideal for small web servers because you will have an equal need for different resources. | Likely not ideal for AI-driven applications because you will need more computing power than a general-purpose app or server. |
You have a variety of instances to choose from that allow you to customize how much memory, processing power, and network bandwidth you need. | The total number of instances you can launch in a specific region is limited, and some general-purpose instances have stricter limitations than others. |
However, some developers complain that these pay-as-you-go pricing structures are more expensive than some other platforms | The total number of instances you can launch in a specific region is limited, and some general-purpose instances have stricter limitations than others. |
Use Cases
- Financial applications
- Application servers
- Simulation modeling
- Gaming
- Mid-Size data stores
- Application development environments
- Caching Fleets
EC2 Instances: Compute-Optimized
If you have a new development project you started with a general-purpose instance, you might want to upgrade it at some point. If your project is a success, it’s likely your app will eventually scale enough that you need more computing power.
This will allow your application or project unlimited room for growth as you add more users and features to your project.
This is where the Compute-Optimized instance comes in. It’s designed to give you the option of having more processing power if your needs extend beyond what the General-Purpose instance offers.
Pros and Cons
PROS | CONS |
---|---|
Uses DDR5 memory that can give you 50% more bandwidth when you compare it to DDR4. | You are limited on how you can configure your EC2 instance, so it’s important to understand what you can and can’t do with it. |
Features custom-built AWS Graviton3 processors with 64-bit cores. | AWS’s pricing models aren’t as simple as they sound. Using a compute-optimized instance can add up when you have to pay for several additional things over your hourly rate. (IP addresses, support, etc.) |
Up to 200 Gigabytes per second of network bandwidth. | This instance has a lower ratio of CPU to memory resources, so if your application has a huge need for memory, it might not be an ideal choice for you. |
Delivers up to 3x higher packet-processing performance compared with current generation x86-based instances. | Some developers complain that it’s impossible to know exactly what hardware their instance is running. This is a huge disadvantage to a dedicated server that has much more transparency about its components. |
Use Cases
- Batch-processing workloads
- Media transcoding
- Medium-performance web servers
- Scientific modeling
- Dedicated gaming servers
- Machine learning interference
EC2 Instances: Memory Optimized
While this next instance — Memory-Optimized — allows you to increase your computing power, it also allows you to improve the memory performance of your instance. If you’re developing an application that deals with processing a large data store, this would be an ideal AWS instance for you.
One great example of one reason you might need this is if your application relies heavily on regularly processing data in your SQL database. Without the proper amount of memory allocated to your machine, the database will bog down your entire application.
Pros and Cons
PROS | CONS |
---|---|
Uses DDR5 memory that can give you 50% more bandwidth when you compare it to DDR4. | The Memory-Optimized instances available at AWS give you access to a high number of vCPUs. This can cause some issues if the operating system it’s running on has limitations on that. |
Features custom-built AWS Graviton3 processors with 64-bit cores. | Some Memory-Optimized instances don’t support Windows Server 2008 SP2 64-bit AMI. |
Offers increased cryptographic performance through the latest Intel AES-NI feature. | Some instances have more limitations on the total number of instances you can run in one region, so we recommend reading the documentation to find out which specific Memory-Optimized instance is the best choice for your project. |
Most Memory-Optimized instances support enhanced network features, such as increased network speeds for data transfer. | As is the case with other instances, you should be mindful of the additional resources you purchase if you’re operating on a tight budget. |
Use Cases
- Applications that rely heavily on SQL and NoSQL databases
- Real-time big data analytics
- Electronic design automation workloads

©Sunshine Seeds/Shutterstock.com
EC2 Instances: Accelerated Computing
If your application requires even more computing power, you might benefit from using an Accelerated-Computing instance.
These instances engage hardware accelerators and coprocessors to boost the instance’s performance when you’re dealing with more complicated tasks, such as large computations on floating-point numbers, graphics processing, or data pattern matching.
If you’ve never worked with hardware accelerators before, they are quite easy to understand. They essentially offload some tasks onto dedicated hardware, so your software doesn’t need to do all the work.
Pros and Cons
PROS | CONS |
---|---|
Uses graphics processing units, field programmable gate arrays, and AWS Inferentia for hardware acceleration. | It can take up to 20 minutes to load bare metal instances because the server goes through a strict hardware verification process upon booting. |
The GPUs have thousands of compute cores that allow you to accelerate scientific, engineering, and rendering applications for better performance. | Some instances have more limitations on the total number of instances you can run in one region, so we recommend reading the documentation to find out which specific Accelerated-Computing instance is the best choice for your project. |
Some Accelerated-Computing instances are built specifically to optimize machine learning. | The learning curve can be a bit high in these types of instances if you don’t have a background in hardware and software configuration. (However, AWS offers a great certification course if you want to streamline your learning process.) |
Ideal for live broadcasts and video teleconferencing if you have a primary need to execute these functions. | As is the case with other instances, you should be mindful of the additional resources you purchase if you’re operating on a tight budget. |
Use Cases
- Molecular modeling
- Machine learning
- Speech recognition
- Self-driving vehicles
- Seismic analysis

©Gorodenkoff/Shutterstock.com
EC2 Instances: Storage-Optimized
While some applications might work fine with a minimal need for increased read and write speed, you might eventually have a need to improve your I/O performance. This is where the Storage-Optimized instances do their best work — both with relational databases and on-disk storage.
For instance, if you were building an application that needed to search through large amounts of data continuously, this is the instance that would give you the best performance.
Pros and Cons
PROS | CONS |
---|---|
Most Storage-Optimized instances support enhanced network features, such as increased network speeds for data transfer. | The Storage-Optimized instances available at AWS give you access to a high number of vCPUs. This can cause some issues if the operating system it’s running on has limitations on that. |
Features up to 30 TB of storage with AWS Nitro SSDs. | Some instances have more limitations on the total number of instances you can run in one region, so we recommend reading the documentation to find out which specific Accelerated-Computing instance is the best choice for your project. |
Optimized to deliver up to tens of thousands of low-latency I/O operations per second. | The learning curve can be a bit high in these types of instances if you don’t have a background in hardware and software configuration. (However, AWS offers a great certification course if you want to streamline your learning process.) |
As is the case with other instances, you should be mindful of the additional resources you purchase if you’re operating on a tight budget. | As is the case with other instances, you should be mindful of the additional resources you purchase if you’re operating on a tight budget. |
Use Cases
- Distributed file systems
- Search engines
- Data warehousing
- Data analytics
EC2 Instances: HPC-Optimized
If you haven’t found an instance type at AWS powerful enough for your needs yet, it’s likely that an HPC-Optimized instance might be well-suited for your next project. This type of instance will provide you with even more and enough memory to handle your complex application.
This instance doesn’t have as many configurations available because it’s considered to be an instance family rather than a clear-cut category of instance like the others mentioned above.
Pros and Cons
PROS | CONS |
---|---|
Supports enhanced network features, such as increased network speeds for data transfer. This family of instances offers a bandwidth of up to 200 Gbps. | The learning curve can be a bit high in these types of instances if you don’t have a background in hardware and software configuration. (However, AWS offers a great certification course if you want to streamline your learning process.) |
Features up to 64 cores of processing power and up to 1024 GiB of memory. | As is the case with other instances, you should be mindful of the additional resources you purchase if you’re operating on a tight budget. |
Use Cases
- Computational fluid dynamics
- Weather forecasting
- Molecular dynamics

©asharkyu/Shutterstock.com
AWS EC2 Instances: What Should You Choose?
Now that you know the various EC2 instances, you might be wondering: which type is right for your project?
It depends on what type of application you’re building. For many software developers (or start-ups), the General-Purpose instance is enough for what you want to do with it. However, as your product scales over time, you may have a need for improved performance.
We recommend analyzing your needs and performance regularly so you can best determine whether your current instance is enough for your needs. However, here is a quick guide that can help you determine what you might need:
What are your needs? | What’s the appropriate EC2 instance? |
---|---|
You need an equal amount of computing, storage, and processing resources. | Choose General Purpose. |
You need to run a web server that exceeds the bare minimum in processing power. | Choose Compute-Optimized. |
You need hardware acceleration for a complex scientific or engineering application. | Choose Accelerated Computing. |
You have a medium to large relational (or on-disk) database that needs improved I/O performance. | Choose Storage-Optimized. |
Your use case is based on scientific or engineering computations that need a higher-performance system. | Choose an instance from the HPC-Optimized family of instances. |
The image featured at the top of this post is ©Yu Chun Christopher Wong/Shutterstock.com.