‘7 Must Check’ to save your cloud cost

SukYeon Jung
6 min readMay 4, 2021

Companies migrating from an on-premise to cloud believe that such migration will save their IT infrastructure costs significantly. However, when they receive their bills, the companies are often taken aback by higher costs than expected. Since you pay for what you use in the cloud, planning and managing the costs are essential. This guide will introduce the areas and approaches you are expected to follow to cut your cloud costs briefly. Each numbered item needs to be checked and studied further individually before applying it to your cloud environment.

1. Terminate idle instances

Idle instances are infrastructure components that are provisioned in your cloud environment once but are not currently used in any operation. In other words, idle instances are resources you are paying for even though you are not using them.

You might wonder where idle instances come from. A common reason is human error. In the cloud, infrastructure constantly changes according to a user’s needs, and this is one of the most important reasons we use the cloud. However, during the constant changes, once provisioned instances are no longer in use and forgotten to be turned off.

Follow the guideline below to turn off idle instances.

1) Identify idle instance: Check whether there are any instances running but not in use

2) Evaluate the necessity: Check whether they will not be used in the future

3) Isolate: Check the connectivity of the resource and isolate their environment so that the termination of the instance does not affect other resources

4) Make a copy: Take a snapshot or back-up for an unexpected future usage

5) Terminate: Terminate the instance

2. Schedule your resources

Turn on the resources when you need them, and turn off them when you do not. For most resources, you are billed based on (Resource Type Hourly Cost) * (Number of hours you use) * (Number of instances you use). Therefore, decreasing the number of hours can decrease the amount you pay directly.

As an illustration, suppose that your team is working on the development of an application. The resources your team uses for the development project are only used for development purposes and are not shared with other teams in your company. Your team works from 9 am to 6 pm during the week and do not work during the weekend. In this case, you can set your instances to turn off automatically based on the schedule. This alone will decrease your bill by 62.5% without changing anything else.

Find out the instances that do not need to be run 24/7 and turn off them based on the timetable. Often these scheduling methods generate the largest cost savings and the easiest to apply.

3. Upgrade to the latest generation

Newer versions of instances are released by AWS every few years. With the latest version, better compute performance with the same unit price, and additional features including enhanced networking come along. The chart below demonstrates an overview of C-type (general-purpose type instance) instances with generation upgrades. With the latest generation, you can achieve more functions at a better price.

Source: Amazon Web Services

Let’s take a direct comparison on one type (C3.2xlarge vs. C5.2xlarge). With the latest generation, you can achieve better performance with 20% reduction in price. No reason not to use it, right?

Region: US East (N.Virginia)

Unless you have a concrete reason not to upgrade your instance, upgrading to the latest generation should be executed on every instance.

4. Rightsize your resources

Efficacy of cloud computing comes from “Use only what you need”. In an on-premise environment, users have to project their usage and purchase IT infrastructures based on peak usage expectations. Because of this, IT infrastructures are over-provisioned during a normal business time and wasted. In contrast, in a cloud environment, users do not have to purchase IT infrastructures based on long-term projections. They can adjust IT infrastructures on a near-real-time basis as their usage changes.

However, in many cases, cloud resources are provisioned larger than they need to be. This means extra costs. The typical resources over-provisioned include Elastic Compute Cloud (EC2) and Elastic Block Storage (EBS). For EC2, more CPU power than it needs to be. For EBS, more volumes.

Utilize AWS tools such as Cloud Watch (use Cloud Watch Agent for RAM usage check) to gather information on CPU utilization, Disk utilization, etc. Based on those figures, rightsize your cloud resources.

5. Utilize reservation & spot

AWS offers a discount if users reserve and purchase instances for over a one-year period. Although the discount rates differ significantly depending on the types of plans, payment terms, etc., users can save up to 75% of their on-demand pricing with the reservation.

There are a few decisions you need to make before you make the reservations and purchases. You need to decide on 1) which resources you are going to apply for the reservation, 2) what types of reservation plan you are going to purchase, and 3) terms such as payment term, purchase amount, etc. Depending on the choice you make discount rates span from 30~75% generally.

Using spot instances is another way to save your costs outstandingly. AWS provides discounts up to 90% for its unused resources. Users can use them but, the workload on spot instances can be interrupted and shut down with 2 minutes’ notice. Spot instances are ideal for various non-mission critical and fault-tolerant workloads. General use cases of spot instances include test & development workloads, high-performance computing, etc.

As your cloud environment gets bigger, combining on-demand instances, reserved instances, and spot instances become important more and more. Identify what to apply for where for each instance and environment. Applying the right instances for the right situation will drive your costs down.

6. Adjust S3 with lifecycle management

Simple Storage Service (S3) is most commonly used among different storage services. In S3, there exist different types of storage classes. Depending on the features, costs differ largely. Therefore, choosing the right storage class based on your needs matters a lot to save your costs.

The table below demonstrates the features & limitations for each class beliefly.

Source: Amazon Web Services

As you can see, when you need to retrieve items frequently (in a month), you are supposed to use the S3 standard. As the retrieval becomes more and more infrequent, you need to move your objects to lower class storages. Refer to the flowchart below if you are not sure still.

7. Delete following items (EBS, Snapshots, Elastic IP address)

If not managed tightly, organizations experience many unused resources which result in increased bill sizes. Among many, unused EBS volumes, outdated snapshots, and unmatched Elastic IP addresses are typical items that can get out of control easily.

There is no super easy way to monitor and control these costs easily. You need to do manual review regularly or set-up an automatic review process using AWS or 3rd party solutions.

This paper introduced 7 basic steps to save costs. There is much more to explore to save costs. Cost Optimization for the cloud is an important topic but not an easy one. Careful planning and monitoring with implementation are all required. Also, automating cost saving procedures becomes important.

--

--

SukYeon Jung

Writes about cloud computing, company cultures, and finance