The cloud offers unique opportunities to reduce operational costs by cutting capital expenses and building a computing architecture that can seamlessly scale with demand. Yet in spite of this, the long history of IT projects going over budget persists. Many enterprises believed that their overspending problems would all but disappear as they migrated to the cloud, but budget overruns have continued for many. In some cases, the total cost of ownership (TCO) has even increased when compared to the on-premises environments they depended on before.
A recent study comprising feedback from 750 technical professionals from a cross-section of industries found that an average of 30% of cloud spend is wasted. The primary cause of this is the fact that many organizations lack ongoing monitoring and management for cloud costs. The lack of a proactive governance process, or the necessarily skills and tools to enforce one, inevitably leads to cloud instances and storage systems going unused or underutilized. Also, some cloud transactions are unnecessarily convoluted, leading to further consumption.
The Role of Rightsizing in Cloud Cost Optimization
Rightsizing is the process of matching instance types and sizes to the particular performance, capacity, and availability requirements of a given workload, ideally at the lowest possible cost. Although the term is most commonly associated with AWS, the concept applies to any cloud environment. In fact, rightsizing is a fundamental part of cloud cost optimization and FinOps.
Not only does rightsizing directly save money; it also helps you better understand cloud needs and makes your cloud infrastructure easier to manage. In the context of FinOps, of which cost optimization is just a part, rightsizing revolves around configuring your cloud assets in such a way that they deliver maximum value to your business.
Rightsizing recommendations encompass performance- and cost-based recommendations. In AWS, they’re a native feature of Cost Explorer, which helps you identify potential cost-saving opportunities by downsizing or terminating unused licenses in Elastic Cloud Compute (EC2). GCP provides a similar functionality by way of its vCenter Web Client user interface.
Rightsizing recommendations in AWS or GCP are algorithmic and based on past data about your cloud usage on a weekly basis. They automatically identify which resources are unused or underutilized by tracking CPU and memory usage on all running virtual machines to provide visually presented insights that help cloud practitioners make informed predictions concerning future resource consumption.
Tools like AWS Cost Explorer and GCP Recommender offer a better way to make informed decisions about cloud cost management and optimization. Recommendations are typically specific to a single product or resource type, such as SQL database instances or Kubernetes containers. That said, while the data and algorithms are broadly reliable, recommendations should be thoroughly reviewed before any action is taken. After all, some changes can have a major (and sometimes undesirable) impact on your infrastructure and your organization.
The limitation of these solutions is that, while valuable within their environments, is that they’re limited to their respective vendors. AWS provides no visibility into GCP, and vice versa. The ability to monitor, manage, and optimize individual transactions involving third-party data lakes and warehousing platforms is also limited. Given the rising complexity of cloud environments, and the fact that more enterprises are adopting a multi-cloud strategy, these native, platform-specific tools only play a relatively small part in implementing a complete FinOps strategy.
How to Rightsize your Cloud Environment Correctly
Rightsizing is a largely automated process, regardless of which cloud platform you’re using, but it pays to know how it works in order to better understand the recommendations and act on them appropriately. The process consists of three main steps:
- Analyze: Rightsizing involves continuously tracing metrics like memory, network, disk, and vCPU usage across your volumes, instances, and virtual machines.
- Verify: Analytics data must be verified against a predefined performance benchmark to determine whether or not resources are being underutilized.
- Optimize: The final step is to downgrade or terminate cloud resources based on these results and your performance and cost-efficiency targets.
Rightsizing should be based on usage patterns, which typically become more predictable over time, thereby facilitating continuous improvement and optimization. As organizations monitor performance, they can get a better idea of their usage patterns. For example, some workloads might remain at a steady state over a given period of time, making it easier to forecast future usage. Other workloads are variable but predictable. For example, ecommerce businesses might experience predictable spikes in demand during holiday seasons, for which they might need to temporarily provision additional resources. Cloud resources used for back-office workloads, on the other hand, are often only consumed during office hours, in which case they can be automatically turned off during evenings and weekends.
The optimization stage begins with choosing the most suitable resources for a given workload. EC2 instances are the foundation of AWS environments, while Compute Engine instances are the same in GCP. In any case, these virtual machines can be provided on demand or reserved for more regular and consistent long-term use.
Reserved instances in AWS or Committed Use Discounts in the case of GCP, are ideally suited for more predictable workloads, as well as those that are mission-critical and cannot be taken offline. Unsurprisingly, these options cost significantly less per hour of use than on-demand ones, giving them an important role in cloud cost optimization and, by extension, FinOps. Pricing for reserved instances is calculated by region, platform, instance type, and tenancy. In AWS, you can get larger discounts in return for higher upfront payments. However, given the greater commitment, you must be especially mindful of rightsizing.
Another option are AWS spot instances or, in the case of GCP, spot VMs. Spot instances work like on-demand instances, the difference being that they allow you to bid on unused capacity in the cloud provider’s data center. They provide discounts of as much as 90% compared to regular on-demand instances, but they come with a caveat – there are no guarantees around availability or reliability, and the provider reserves the right to turn them off at any time, should they need to reclaim capacity for regular on-demand instances. That said, spot instances are well-suited to high-performance computing workloads, such as rendering or batch processing, provided the workloads aren’t time-sensitive or fault-intolerant.
Why You Need Visibility Over All your Cloud Spending
As helpful as tools like AWS Cost Explorer and GCP Recommender are, not many businesses function solely in the closed environment of one vendor. Even if they do, these tools provide limited visibility into areas like unit economics, and they can’t comprehensively address the question of how much value each service or cloud user brings to your business. Furthermore, there are some use cases for which rightsizing recommendations aren’t available. For example, GCP’s recommendations are of limited use for instances that use ephemeral storage or other resources, and they aren’t available for instances designed with Kubernetes or Dataflow.
When looking to optimize your overall cloud usage, particularly in a multi-cloud environment, you need to have a complete picture spanning all the platforms you use. This should ideally take the form of a single pane of glass and a single source of truth (SSoT) for all cloud usage and spend. Most cloud spend can be attributed to virtual machines and block storage assets, but given the sheer scope and diversity of instance types and their use cases, it’s important to have a comprehensive and granular view that allows you to drill down into real unit economics.
Having access to this information as you work across different branches, departments, and users with different access privileges is essential for gaining visibility into your cloud costs and building a mature value-driven FinOps strategy.
Finout gives businesses total cloud cost observability in minutes with a single source of truth for your cloud spend. Book a demo with our specialists today to begin your FinOps journey.