Go back to all articles

10 Ways to Optimize Cloud Costs

Feb 20, 2023
8 min read

Businesses have been migrating to the cloud for quite a while: according to statistics, 94% of companies use cloud technologies, which accommodate 67% of their IT infrastructure. The cloud computing market reached $480 billion in 2022, and it keeps growing. Clouds have many advantages, which include not only their own hardware and almost unlimited capacity, but also their ability to rapidly scale following company needs and higher safety than on-premise solutions.

Cloud services can reduce the company’s IT budget significantly by replacing the burden of infrastructure capital costs with flexible subscription-model usage rates. However, is not always evident how to analyze and control expenses for the cloud. For this reason, many organizations began to introduce FinOps practices. We have decided to make our contribution and give you some practical tips on how to take control over bills from AWS, Google Cloud, Azure, and other cloud services.

1. Review cloud billing data

Start with structuring your costs and figuring out what exactly you pay the cloud provider for. Usually, they give rather detailed information on what makes up your monthly bill. Moreover, most major providers have special tools to control costs, such as Cost Management from Google and Microsoft, or AWS Cost Explorer from Amazon.

Create a top-down cost structure: first, identify the main accounts that generate the costs, then sort the services within these accounts by descending. The next level of detail is at the particular resources level. In many cloud services, you can identify data for analysis with tags, for example, allocate costs across projects or departments. As a result, you will have a big-picture view of the main cloud cost producers. They have the greatest potential for optimization, so take a very close look at them.

2. Only pay for the compute you need

Having analyzed your most significant expenses, you will surely have found services that you do not use. These can be virtual machines created for a test project, or so-called zombie-instances – old tasks that continue to run and spend computing resources at your expense. File repositories are often overlooked, too. Look at the date of last access to the disk–if no one is using it for a long time, the data stored there may well be no longer needed.

Getting rid of what you don’t need is a process that should be approached thoughtfully, with a cool head, so as not to accidentally lose important information or an important application. This is especially true for virtual machines: before disconnecting them, double-check whether it would affect other related systems.

3. Choose storage classes wisely

One way to optimize the cost of the cloud service is to choose the storage class that is appropriate for your business. These are levels of data availability: the faster the data can be extracted from the storage, the more expensive its cost. Not all files need real-time availability: for example, archival data, backups, and other types of information can be obtained with delay.

Cloud providers usually offer several options of storage classes–from the most expensive quick access to deep archiving with time to recover data of a few hours. Amazon, for instance, has a S3 Intelligent-Tiering that automatically controls the class and price of data storage based on data demand and usage patterns.

4. Optimize cloud computing usage

Are you sure you need all those applications running in the cloud 24/7? Of course, commercial systems and critically important software should always be available. But what about the virtual machines used by developers, or the apps that only a few people in the office need?

Weekends and nights can account for up to 50% of total cloud computing time. Unlike your own server, which is much cheaper even when working around the clock, cloud load is billed by time. To reduce costs, you can configure scheduled activation of some applications and automatic launch and shut down of development environments.

Another way to save money is to specify the exact amount of memory and computing resources available to each application. Default parameters usually include a reserve, so it makes sense to bring them as close as possible to reality and base the numbers on accumulated data.

5. Test your apps performance and autoscaling configuration

The poorly optimized system not only dissatisfies users but also consumes more hardware resources, such as CPU, RAM, network, input/output, etc. And even a cloud service provider will be happy to allocate you higher capacities, be sure you will pay for this. To find out how much resources the application needs, you should conduct scalability testing. Based on its results, you could reveal weak points, optimize the code, and reduce cloud costs.

Another crucial aspect to remember is understanding the four golden signals of SRE, which can provide insight into your app’s performance and help monitor system behavior. Many cloud service providers offer an autoscaling feature, automatically allocating more resources when your app needs them. This seems fair enough: the more resources you use, the more you pay. But how heavy should the load be to trigger such scaling, and how much will the increase be? Incorrect autoscale parameters can cause uncontrolled growth of allocated capacities at a high price. To avoid this, you should test your autoscale configuration with one of the specialized tools, such as the PFLB JMeter cloud load testing.

Want to Learn More About Our Performance Testing Services?
Find out what’s included and how to start working with us.

6. Control autoscaling

One of the advantages of the cloud is its flexibility in scaling: an increase of resources available to the company takes a few moments and can be automated. Automated scaling is marketed by large providers as an option that helps cut costs, as your system receives exactly as many resources as it needs at any given point in time. However, we recommend a differentiated approach to this service.

In some cases, a significant increase in the consumed resources indicates the malfunctioning of the software. Businesses can incur additional costs for critical systems which are needed 24/7, but if the overuse is caused by an app in the testing environment or an auxiliary virtual machine, it should not cost you a fortune.

7. Review support costs

Almost every cloud service provider offers various technical support plans. Check how your employees use the service’s technical consultants’ support over the past few months–you may be paying for services no one uses. For a small business or a young startup, free support should be enough–it works rather well with all the providers.

8. Use spot and reserved instances

When cloud services have no use for free resources, they sell them at very competitive prices. Such spot instances are unpredictable and unlikely to be suitable for critical or resource-intensive tasks, but if you need to run a small batch task, try looking out for a hot offer.

Reserved instances are the complete opposite of spot instances. They are your stock–your prepaid cloud power slots that you have to use in a specified time frame. They usually allow only certain tasks and have limitations on accessibility and the area of use. However, if you regularly run the same load in the cloud, prepaid instances will help to save: discounts can reach 75%.

9. Optimize licensing costs

Since software in the cloud has to be paid for, it makes sense to look for ways to reduce these costs, too. For example, Microsoft Azure has a hybrid licensing program for servers and databases, while AWS offers different versions of Amazon Machine Image licenses through its marketplace.

10. Change your approach to cost management

Technical tools to optimize cloud costs are not the only way: there are organizational measures to be taken, too. The bigger the company, the more employees can run tasks in the cloud and thus influence the bill from the provider. To manage cloud costs, you need to be able to relate them to company departments and specific employees. You can use tags and other attribute tools provided by cloud services. Each task performed should be considered and monitored within the budget available to the responsible staff member.

Cloud cost management should be in the focus of your attention both if you work for a small startup or a transnational corporation. Proactive management of the cloud environment allows you to get the most out of it, effectively using every dollar paid. In this article, we have collected the most obvious ways to optimize your expenses in the cloud, but there is no limit to perfection in this matter. To achieve the best results, study the offers of providers closely, combine cloud services, optimize the load–and approach the process creatively, not dogmatically.

Table of contents

Related insights in blog articles

Explore what we’ve learned from these experiences
14 min read

TOP 10 Best Online Load Testing Tools for 2024

best online load testing tools preview
Nov 7, 2024

In this article, we will go through our favourite features of each of these cloud-based load testing tools, while in the end you will find a parameterized comparison of all of them in one table.

10 min read

Essential Guide to ITSM Change Management: Processes, Benefits, and Tips

Essential Guide to ITSM Change Management
Oct 15, 2024

ITSM change management is essential for managing and implementing IT changes smoothly. It focuses on minimizing risks and aligning changes with business goals. In this guide, we’ll explore what ITSM change management entails, discuss its benefits, and provide practical tips for implementation. Key Takeaways What is ITSM Change Management? ITSM change management is a key […]

7 min read

SRE Roles and Responsibilities: Key Insights Every Engineer Should Know

sre roles and responsibilities preview
Sep 11, 2024

Site Reliability Engineers (SREs) are crucial for maintaining the reliability and efficiency of software systems. They work at the intersection of development and operations to solve performance issues and ensure system scalability. This article will detail the SRE roles and responsibilities, offering vital insights into their duties and required skills. Key Takeaways Understanding Site Reliability […]

11 min read

Understanding Error Budgets: What Is Error Budget and How to Use It

understanding error budgets what is error budget and how to use it preview
Sep 10, 2024

An error budget defines the allowable downtime or errors for a system within a specific period, balancing innovation and reliability. In this article, you’ll learn what is error budget, how it’s calculated, and why it’s essential for maintaining system performance and user satisfaction. Key Takeaways Understanding Error Budgets: What Is Error Budget and How to […]

  • Be the first one to know

    We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed