Imagine that you receive your monthly cell phone bill, and you are shocked to see how much you’re spending for your family-service plan. A quick check of the bill’s details reveals one especially high-cost element: Your children are streaming a lot of television shows.
Realizing this fact, you might decide to set up a new plan with your cellular service provider that includes more data. A better approach, though, might be to just tell your kids to stop streaming so many TV shows. Or to use WiFi instead.
At a grander scale, this scenario is similar to one faced by companies that subscribe to public cloud services. It’s possible to dissect your cloud services bill and identify ways – say, by reserving instances rather than purchasing instances on demand – to cut your costs. Indeed, there are vendors that do exactly this type of bill analysis, and then recommend cost-reduction strategies.
As with the cell phone example, however, finding cheaper ways to keep doing the same things can miss the bigger picture. What if you’re doing the wrong things to begin with?
We touched on this issue in an earlier post that discussed the ins and outs of reserving cloud instances. As we noted then, it makes no sense to lock yourself into reserved instances without first determining what types of infrastructure performance and capacity your applications actually require.
True, moving your existing cloud operations from pay-as-you-go instances to reserved instances might cut your bills by 30% or so. That might seem like a compelling number, but may actually limit your potential savings.
Before making a decision to reserve instances or not, you should first go through several preliminary steps. The first step, of course, is to leverage workload analysis tools such as those offered by Densify to determine the actual needs of your applications, and the service levels they must support.
With that requisite knowledge in hand, you can then move through several other decision points – each of which can significantly reduce your costs and/or improve the efficiency and performance of your cloud-based apps. Those steps include:
- Right-sizing your cloud instances, perhaps by moving from large instances to medium-sized instances.
- Determining the best instance “families” to match your applications’ characteristics, or possibly purchasing customized instances. As we’ve noted elsewhere, Amazon Web Services offers instance types that are optimized for general-purpose, compute-intense, memory-intensive, and other application types.
- Choosing the proper instance types and sizes for scale groups, databases and other advanced services
- Taking advantage of the option to stack multiple containers within single cloud instances.
Each one of these steps can save from 10% to as much as 80% on some application deployments. Only after these decisions are made should you – as a last step – determine whether it makes sense to also reserve instances for additional savings.
Unless you purchase premium-priced convertible instances, you’ll still end up locked in to reserved instances for the term of your contract. But you’ll be getting the reserved instance savings on top of the other savings you’ve already gained in via your application and cloud optimizations.