Mar 21, 2017

AWS How-To: Choosing The Right Instance Size And Pricing For EC2

Paul Painter, Director, Solutions Engineering

Hyperscale public cloud computing comes with the potential of huge cost savings, but can just as easily get out of hand and result in big spend with no measurable results.

Why the dichotomy of outcomes? It all stems from the ease of deploying public cloud services: With virtually no time and effort, IT pros and front-line staff alike can spin up EC2 instances and start working. While this streamlines the process of accessing resources and applications, it can also lead to issues with “wrong-sized” instances — deployments that are too big for your needs and end up costing more than they save — or problems with the wrong pricing model, leaving you on the hook for services or resources you simply don’t need.

Want to avoid possible problems with AWS sizing and spend? Two options: Schedule a free consultation with an AWS-certified engineer at the link below, or learn the old-fashioned way by reading the following reference guide. 

What to evaluate when considering EC2 Instance Types?

Why does the type of cloud instance matter? Since they all fall under the AWS umbrella, aren’t they effectively the same? Not quite. Some offer substantially more memory, a focus on CPU optimization or accelerated GPU performance; while others provide a more generalized set of services and resources.

By selecting a solution based on a specific need rather than generalized cloud expectation, you save time and money while staff will get the best cloud service for their workload. Not sure which of the EC2 instance types is right for you? Let’s take a look:

General Purpose (T2, M4 and M3) — These instance types are designed for small to midsize databases and data processing tasks, for running back-end servers (such as Microsoft SharePoint or SAP), and cluster computing. For example, T2 instances are defined as “burstable performance,” which lets companies burst above the baseline as needed, using high-frequency Xeon processors. M4 and M3 instances are the “next generation” of general purpose and provide a balanced profile of compute, memory, and network resources. The big difference? M3s top out at 30 GiB of RAM while M4s offer up to 256 GiB.

Compute Optimized (C4, C3) — Here, the use case is for front-end fleets, web servers, batch processing, and distributed analytics. They feature the highest-performing processors combined with low price-to-compute performance. C3s support enhanced networking and offer support for clustering, while C4s are EBS-optimized by default and offer the ability to control processor C-state and P-state in the c4.8xlarge instance type.

Memory Optimized (X1, R4, R3) — X1 instances are recommended for in-memory databases like SAP HANA, while R3s offer a lower price per GiB of RAM for high-performance databases. R4s, meanwhile, are ideal for memory-intensive apps and offer even better RAM pricing than R3.

Accelerated Computing Instances (P2, G2, and F1) — Ideal for graphically intensive workloads, P2 instances are designed for most general-purpose GPU apps; while G2s are optimized for GPU-heavy applications; and F1s come with customizable hardware acceleration.

Storage Optimized (I2 and D2) — Running scale-out systems or transactional databases? I2 instances are designed to provide maximum IOPS at a low cost. D2s, meanwhile, are ideal for dense storage of up to 48 TB of HDD-based local storage.

What does it cost to run any of these instances in EC2?

The answer is, “it depends.” It depends on which pricing model you select — choosing the right model for your needs often makes the difference between cloud-as-cost-center and AWS as a bottom-line benefit. There are four basic types of AWS EC2 pricing:

1. On-Demand — The one with which most companies are familiar: You pay for compute capacity by the hour with no long-term contracts or the need for upfront payments. Compute capacity can be increased or decreased as needed. Flexibility is the key benefit here, making on-demand ideal for workloads with fluctuating traffic spikes or app development projects.

2. Spot Instances — In this pricing model, you bid on spare EC2 computing space. The big advantage? You could save up to 90 percent off the on-demand price. The problem? There’s no guarantee — availability varies depending on current server load, making this an ideal fit for apps that make sense in the cloud only with low compute prices or if you suddenly find yourself in need of an immediate and short-term capacity boost.

3. Reserved Instances — Reserved instances allow you to purchase capacity in a specific availability zone; you get the confidence of reserved EC2 computer power at up to 75 percent off the price of on-demand instances. To access reserved instances, however, you must purchase a one- or three-year term payable in full upfront. As a result, this pricing model works best with steady-state applications; cost savings come from consistent use over time.

4. Dedicated Hosts — Here, you purchase a dedicated EC2 server that lets you use existing server-bound software licenses such as Windows Server or SUSE Linux Enterprise Server. Choose hourly on-demand or reservation for up to 70 percent off the on-demand price.

The bottom line when it comes to selecting the ideal mix of EC2 instance type and pricing model? Don’t spend on more than you need; AWS isn’t capacity-limited, meaning it makes more sense to align cloud resources with existing workloads rather than trying to “build in” potential capacity overruns. Need a general-purpose cloud for app development? Opt for M3 and on-demand pricing. Need a more GPU-intensive solution for long-term projects? Consider G2 offerings in a reserved instance.

Spending is easy in the cloud. Leveraging the right resources at the right price point is the hard part.

Explore HorizonIQ
Bare Metal


About Author

Paul Painter

Director, Solutions Engineering

Read More