By: Scott Sellers, Co-Founder and CEO of Azul
From the beginning, the cloud promised to help companies scale their architectures in seconds, run their applications faster, never reject a transaction, and save money through economies of scale. How could any CIO or application manager resist the call to the cloud when companies began sharing the enormous successes they were having with their overall digital migrations and transformations?
Now, more than a decade later, business leaders recognize the benefits that the cloud offers, but struggle with the inflated costs of the cloud. Andreesen Horowitz coined the phrase Cloud Paradox in a 2021 article, which posits that the pressure the cloud puts on enterprise margins may begin to outweigh the benefits over time.
The Azul 2023 State of Java Survey and Report, an independently conducted study of more than 2,000 Java users, found that 90% of companies with applications built in Java, the leading programming language used to create enterprise applications, are deploying in a public environment. private or hybrid cloud environment. Almost all of these organizations (95%) took action to reduce cloud costs in the previous year (2022-2023).
Naturally, organizations want to deliver a seamless experience to every customer, because ultimately customer satisfaction dictates the state of operational success. But achieving this goal often results in overprovisioning cloud instances and paying for rarely used compute instances.
“Organizations with few or no cloud cost optimization plans are rushing to invest in cloud technology,” according to Gartner. “They end up spending more than 70 percent on cloud services without getting the expected value from it.”
Resolving this dilemma is a challenge. Each company is different depending on its industry, its available resources and its needs. The State of Java Survey and Report revealed that organizations are already employing a number of tactics to address rising cloud computing costs, including right-sizing resources (48%), using a high-performance Java platform that use cloud resources more efficiently (46%) and redesign applications (41%).
Below are four steps to make the most of cloud computing resources economically.
1. Assess your needs
In our State of Java survey and report, the top reasons participants chose to run their applications in the cloud include:
- Scalability (52%)
- Flexibility (48%)
- Productivity (47%)
- Agility (46%)
- Elasticity (40%)
- Reliability (29%)
For less business-critical applications, where scalability, flexibility, and elasticity may not be as essential to business success, application owners could run some of their systems on-premises, where they can more easily manage costs. Which resources should move to the cloud requires business and IT leaders to fully understand how they spend their money and what they get in return.
2. Explore established cost-saving methods first
For many years, organizations have tried to reduce their cloud bills without changing their applications or infrastructure. Before refactoring applications or redesigning them to be cloud-native, organizations should first follow some more basic paths.
When asked in the State of Java Survey which actions they have taken to reduce public cloud costs in the last year, respondents responded:
- Right-sized resources (48%)
- Use a Java platform that uses cloud resources more efficiently (46%)
- Redesign code and services (41%)
- Repatriate workloads from public cloud to on-premises environments (33%)
- Negotiate lower prices with cloud service providers (32%)
- Migrate to less expensive public clouds (30%)
Other steps that are often considered and/or implemented include optimization of compute instances and spot and reserved storage types. Overall, these steps have not been sufficient for many organizations, leading cloud stakeholders to seek additional avenues.
3. Limit over-provisioning of cloud computing resources
Overprovisioning of cloud computing resources due to business requirements It is almost universal as organizations need to meet SLAs and ensure customer satisfaction. However, business leaders must ask themselves whether meeting these requirements is being done cost-effectively. Overprovisioning due to unpredictable workloads represents the greatest savings potential. To curb over-provisioning of cloud computing resources, CPU utilization levels for each compute instance must be increased, but in a way that is predictable and does not sacrifice SLAs.
Companies should start by fully understanding the computing utilization levels of existing workloads. What they often find is that utilization levels are significantly lower than expected. With this understanding, they can set higher utilization thresholds to do more with the same compute capacity or, alternatively, handle the same workload with fewer compute instances required. Some over-provisioning is expected, but more than 40% of participants in the State of Java survey reported using less than 60% of the cloud resources they pay for. That’s a lot of wasted spending!
4. ‘Do more with less’: use fewer cloud computing resources
Enterprises are always looking for various ways to improve application performance and often do so by using faster and more efficient CPUs for their cloud computing instances, not only to improve application performance but also to reduce the amount of computing resources required to run a given workload.
The math is simple: fewer cloud computing resources = lower cloud costs.
For example, Arm platforms, such as Graviton3 offered on AWS, are gaining popularity because they are attractively priced, energy efficient, and have the flexibility to perform well in the cloud. According to Gartner®, “by 2025, Arm-based server shipments will account for about 20% of infrastructure-as-a-service (IaaS) capabilities worldwide (excluding China) and 55% of platform-as-a-service (IaaS) capabilities.” service (PaaS) from hyperscale service providers. .” (Gartner, Forecast Analysis: Arm-Based Servers, Worldwide, Kiyomi Yamada, Adrian O’Connell, Alan Priestly, and Uko Tian, November 2021)
Since the preponderance of enterprise applications deployed in the cloud are based on Java, using a higher-performance Java runtime can also improve application performance and reduce the compute instances required.
The math is again simple: faster Java = fewer cloud computing resources = lower cloud costs.
A higher-performing Java runtime can improve load capacity at higher utilization levels without sacrificing SLAs. This is achieved by reducing the load on an application’s underlying operating system and hardware to increase utilization of that hardware and perform more work with the same resources or shut down/use fewer instances. In the latter case, your cloud bill can result in immediate savings. A more performant Java runtime also brings additional benefits, such as eliminating latency outliers, improving application setup times, and avoiding continuous tuning efforts.
Reducing cloud waste and optimizing cloud costs are critical to gaining a competitive advantage in the cloud. It’s a complex challenge, and smart business leaders leave no opportunity unexplored. Depending on the circumstances and needs, there are many options. For businesses using Java, a higher-performance runtime can use cloud resources more efficiently, improving application performance and reducing costs.
To learn more about how fast Java = lower cloud costs, click here.