Cloud computing costs are like small pebbles. Each individual resource seems financially minute, but add enough together and you’re left with an unruly mountain of cost. Controlling Cloud computing costs is critical to maintaining Cloud infrastructure. Many organizations experience steadily increasing cost curves after they adopt the Cloud as their primary compute platform. Cloud computing’s automated nature can lead to expensive service overuse that many companies are not prepared for. However, with efficient monitoring the Cloud can be an immense business asset. Here are Dev9’s top six tips for controlling spend in any Cloud platform.
1. Leverage Cloud Autoscaling to Rightsize Infrastructure
All Cloud platforms provide auto scaling mechanisms to handle growth in loads. These systems work by detecting changes in the amount of network traffic trying to access the load balancer, and by adding new server capacity. Scaling works both ways. Set lower limits closer to minimum running computing capacity to keep compute instances rightsized for your needs.
2. Find and Eliminate Unused Instances
A common problem with Cloud computing is teams creating servers for development, testing, and proof of concept applications. These instances are often sized to handle temporarily high workloads that require more costly compute instance types. If teams forget to terminate these instances, costs continue to accrue for their lifetime. We recommend creating automated processes that review the performance monitoring for servers and flag instances with low load for removal.
Alternatively, you can tag instances that need to stay alive, and terminate anything that is not tagged on regular schedules. This practice allows teams to spin up workloads without worrying about orphaned servers.
3. Create Resource Schedules
It is very common for computing needs to be attached to a schedule. A development team may only need build resources Monday through Friday from 7:00am to 7:00pm, or a set of batch jobs may only run between Midnight and 3:00am. Cloud time is billed by the hour or minute, and time where the services are not needed is money wasted. Luckily, Cloud infrastructure is entirely configurable, meaning it can be automated to make computing resources available when needed, and remove them when not. Determine if you have resources that are only needed for limited times and shut them down when they are not needed.
4. Containers for Density
Cloud virtualization allows you to rightsize your computing infrastructure using instances that are sized to needs. There are many cases that individual virtual machines are still leaving a lot of computing resources idle. Containers are the newer approach to maximizing usage of resources in both the data center and the Cloud. Acting as a wrapper for a small unit of computation or storage that is needed in a larger system, containers are easily moved between machines and provide flexibility in systems setup. In addition, multiple containers can live in the same virtual machine, maximizing the amount of resource utilization. The more computing you can pack into each instance, the fewer instances you need and the lower your computing cost.
5. Delete Unnecessary Storage
Make deleting unnecessary storage a priority to mitigate Cloud spend. There are two common areas of storage that can consume cloud spend: unattached storage and aging snapshots. Unattached storage is like unused instances because it was provisioned at some point, but it is no longer attached to compute instances. This unattached storage is consuming cost by simply existing in the cloud infrastructure and providing no value to the company.
While snapshots are an easy and fast way to backup data and configuration, the ease of use can lead to large amounts of snapshots being taken over time. Each individual snapshot is inexpensive, but hundreds or thousands add up quickly.
6. Leverage Long Term Storage
Most organizations have rarely accessed data that is retained for long periods (i.e. former employee records, compliance logs, etc.). Storing this data in the primary cloud storage services can be expensive. Take advantage of Cloud mechanisms to store rarely accessed data - all three major Cloud providers offer cheap storage solutions that is more expensive to access for this type of data. This trade off makes perfect sense for rarely accessed data and can reduce cloud spend.
With these approaches, you can minimize your cloud spend and ensure that it does not increase unexpectedly over time. Some of these items can benefit from 3rd party tooling to monitor resource usage, while others require new processes and approaches to development and deployment of infrastructure. Regardless, it is important to consider how to manage your cloud resources to keep cost in line with value.
On Tuesday, April 18th, Dev9 CTO, Gabe Hicks, delivered a seminar on Cloud cost optimization. Watch our seminar video to learn more.