In this article, we will share the frameworks employed by organizations that were successful with their digital transformation and cloud optimization journey.
In 2017, RightScale’s (now Flexera) State of the Cloud report listed “Optimizing existing cloud spend” as the top initiative for cloud users (53%) for the first time, replacing the 2016 top initiative of “Moving more workloads to cloud”:
The cost optimization initiative has remained number one in every report since, and in 2020, 73% listed it as their top initiative:
So why do organizations still find cloud cost savings as their top cloud initiative and top challenge? As you probably already know from your own experience, it isn’t as easy as it sounds.
In our previous article, “Mastering Cloud Cost Optimization: The Principles” we covered the main cloud cost optimization challenges and the core principles needed to accomplish a well-architected and continuously optimized cloud environment. Before proceeding, make sure to read it for more details and context.
For years, organizations attempted to achieve cost optimization by focusing on reporting. This included chargeback reports, long excel spreadsheets and dashboards with pretty charts and graphs.
Sadly, this approach rarely works. Staring at data will not reduce a cloud bill, nor will sending reports back and forth.
To be clear, this is not to minimize the importance of cost visibility and reporting — cost visibility is a critical foundation of any organization’s cloud cost optimization strategy and required to establish the needed accountability, but it is not enough. To optimize a cloud environment, you must act and execute actions — but again, this is easier said than done.
To execute actions, one needs to understand what actions to take, when to take them and what the implications of that action will be beyond just cost savings.
We have seen and talked to organizations that created an internal process to identify, analyze and execute cloud optimization actions. Many admitted the process is time-consuming, cumbersome, manual and not scalable, especially in large cloud environments where their efforts had limited impact.
The solution? Automation — the ability to execute optimization actions without any human intervention. From a technical perspective, automation is not hard, especially in public clouds, which offer well documented and robust APIs. The main two challenges with achieving automated cloud optimization are complexity and trust.
The complexity refers to the process of generating an accurate and actionable cloud optimization action, such as rightsizing a virtual machine (VM), Platform-as-a-Service (PaaS) or even a container.
For example, to properly resize a single workload, you first need to observe the utilization of its resources across multiple metrics (e.g., CPU, memory, IOPS, network, etc.), including monitoring application performance metrics like response times and transactions. The next step is to analyze all the data and determine the best target instance type/SKU out of a massive, ever-growing catalog of configuration options (and prices) offered by the cloud vendor. Then, once the target configuration has been identified, additional constraints must be considered, such as organization policies, OS driver requirements and storage type support. This image illustrates the multiple dimensions that should be considered when scaling a workload:
To get organizations to agree to automate actions, you must earn their trust that the actions are accurate, safe and will not hurt the performance of the applications, especially in production.
Trust requires time and a structured approach; it is a journey with multiple stages, and it is closely aligned with the public cloud maturity model:
Since scale actions on the cloud are disruptive, not all workloads can be resized often; some require graceful shutdown of specific services as part of the scaling process. When an application is modernized to leverage cloud-native architectures and PaaS services, it unlocks the ability to take optimization actions in real-time and leverage automation, without any impact on the application.
Therefore, it is critical that organizations — in parallel to their continuous optimization initiatives — invest in application modernization and architect their applications for cost efficiency by leveraging PaaS Services and cloud-native technologies such as containers and functions (i.e., serverless).
Stay tuned for the next article in this blog series, “Mastering Cloud Cost Optimization: Cloud Cost Models & Discounts Overview.” Leveraging the correct cloud cost model for workloads is one of the most effective methods to reduce cloud costs. The upcoming blog post will provide an overview of the available cost and discount models on the cloud and when to use them.
Learn how to contain cost while preserving performance through automatic continuous cloud optimization with IBM Turbonomic.
Start your journey to assuring app performance at the lowest possible cost. Request your IBM Turbonomic demo today.