Cloud cost optimization is the process of identifying poorly managed resources, eliminating waste, achieving more discounted capacity, and scaling computing services to reflect actual required capacity—all with the end goal of reducing costs on infrastructure as a service (IaaS).
Public cloud services are famous for their pay-per-use pricing models, charging only for the resources actually used. But the reality is that in most cases, public cloud services charge cloud customers according to resources provisioned, even if those resources are not actually used. This makes cloud optimization a critical process for any organization that uses the public cloud.
A key part of cloud cost optimization is properly monitoring and managing cloud services. This can be difficult, because purchasing decisions may be distributed throughout an organization, and individuals can launch cloud services and commit to costs, with little or no responsibility. A cloud cost management strategy is needed to plan, budget, and control costs.
What Makes Up Your Cloud Costs?
As cloud infrastructure becomes more complex, cloud costs become more opaque and difficult to track. There are many factors that affect cloud costs, and not all of them are obvious in advance.
There are four common pricing models offered by public cloud services:
- Pay as you go—paying for resources used per hour, minute, or second
- Reserved instances—paying in advance for a resource, typically for a period of 1 or 3 years.
- Spot instances—buying the cloud provider’s spare capacity with deep discounts, but no guarantee of reliability
- Savings plans—some cloud providers offer volume discounts based on the total amount of cloud services purchased by an organization
Cost factors include:
- Usage of compute instances (virtual machine instances)—with costs varying according to instance type selected and pricing model.
- Usage of cloud storage services—with variable pricing depending on the service, storage tier, storage space used, and operations performed on the data.
- Usage of database services—it is common to run managed databases on the cloud, with charges for compute instances, storage, and the service itself.
- Other managed services—cloud providers offer a wide variety of platform as a service (PaaS) offerings, each with its own pricing model and charges.
- Network traffic—most cloud providers charge for inbound and outbound network traffic
- Software licenses—software still has a cost on the cloud, even if that cost is incorporated into the per-hour fee of a managed service.
- Support and consulting—organizations commonly pay for support, and may require additional professional services to implement and maintain their cloud systems.
Cost Saving Strategies on the Public Cloud
Here are a few strategies that can help you save costs for your organization on the public cloud.
Schedules can be configured to start and stop according to the workload’s requirements. If no one is using a resource, there is no reason to activate it and pay for it.
To effectively use this strategy, investigate the usage of cloud resources across projects or organizational units. For example, if a certain cloud resource is only used by a group based in Europe, it can be shut down during evenings or weekends on European time.
Leverage Reserved Instances
Businesses that invest in cloud computing for the long term should consider reserved instances. Cloud providers offer discounts of up to 75% for committing in advance to use cloud resources. The extent of the discount depends on the term (typically 1 or 3 years) and your willingness to pay upfront for some of the cost.
Before committing to reserved instances, it is important to analyze your past usage and ensure the resources will really be needed in the long term. Even if you have fluctuating demand, you can use reserved instances for the core application components that always need to run, and use on-demand or spot instances for additional capacity.
Use Spot Instances
Spot instances can save even more than reserved instances. Spot instances represent spare capacity that is being sold at discounted rates by the cloud provider. They are available for auction, and can be purchased at a discount of up to 90%.
However, cloud providers do not guarantee availability of spot instances, and if capacity is required by a customer paying on-demand or reserved instance rates, the instance will be terminated.
Because spot instances can be terminated at short notice, they are not suitable for all use cases. You can use them for batch operations, short-running jobs, or heavily distributed applications that can withstand the failure of one or more instances. Whenever these use cases come up, leveraging spot instances can deliver major cost benefits.
Whenever possible, use cloud automation to install, configure, and manage computing services. Automate tasks such as backup and storage, security and compliance, code distribution, and configuration, reducing manual intervention required. This reduces human error and allows IT staff to focus on higher levels of strategic business activities.
Automation can have two impacts on cloud costs:
- By automating activity, you gain central control. You can decide at a department or enterprise level which resources you want to deploy and when.
- Automation also means you can adapt capacity to current demand. Cloud providers offer advanced capabilities for detecting application load and utilization, and scaling resources automatically based on this data.
Monitor Storage Usage
The primary cost of cloud storage services is computed according to storage volumes provisioned, or storage volumes actually used. For example, Azure Files uses provisioned storage, while Amazon S3 bills according to actual storage. Whichever model your storage service uses, monitor if the stored data is being accessed to see if it is really needed.
It is very common for users to shut down projects or applications, without deleting the data store. This not only wastes costs but also raises security concerns. If data is infrequently accessed, but you need to retain it for compliance or analytics, you can move it to archival storage. All cloud providers have a low cost object storage service with a cold storage tier, which provides discounted storage costs, but also places limits on the speed and frequency at which data can be accessed.
Cloud costs are a substantial expenditure in modern IT and DevOps departments. In this article I covered the basic of cloud optimization, and discussed five strategies for reducing your cloud costs:
- Schedule workloads to times they are actually needed
- Use reserved instances for resources that run in the cloud for the long term
- Use discounted spot instances for short-running resources
- Automate resources on the cloud to gain control and automatically respond to demand
- Monitor usage of storage and shut down unused storage resources
I hope this will be helpful as you plan your strategy to optimize costs across public cloud deployments.
Author Bio: Gilad David Maayan
Gilad David Maayan is a technology writer who has worked with over 150 technology companies including SAP, Imperva, Samsung NEXT, NetApp and Ixia, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership. Today he heads Agile SEO, the leading marketing agency in the technology industry.