Multicloud


Opportunities and pitfalls of cloud cost optimization
Billing and usage analytics, recommendations and dashboard overviews - cloud cost optimization tools are available and can simplify many things. But to efficiently manage multicloud ecosystems economically, a cross-provider view and automation for cloud financial management is needed.
With the discount models of the providers, you commit to a certain purchase of cloud services or use of cloud instances for one or three years. In return, they receive more favorable conditions for the scope concluded during this period. For anything beyond that, the more expensive on-demand price must be paid.
Over-Commitment
The key here is not to fall into over-commitment, i.e., not to buy too much in advance discounts that are then not used at all. Or the even more common, reverse case: not making any commitments because you can't predict with certainty whether you will actually use them to the full. Tools for cloud commitment management should therefore be able to map the current discount agreements in the company across all providers and support comparisons for follow-up contracts. On the other hand, automated, timely notifications to the responsible parties are important before cloud commitments expire.
There are a number of tools that provide more or less good suggestions for sizing cloud instances so that they are the right size for actual use. The problem is that someone has to implement them. Rightsizing only becomes practical with more far-reaching solutions: First, the cloud billing data should be used to automatically determine the cloud services booked and this should be combined with monitoring data. A special feature of the cloud in comparison to the data center is
Elasticity. It makes it possible to allocate cloud resources tightly based on the analysis of usage behavior and to rely on elasticity for peak loads. For this purpose, it is worth exchanging information with all those involved in the cloud architecture and the business: When are high peak loads to be expected, both technically and for business reasons?
Instead of permanently designing the cloud infrastructure for maximum load, it is better to design the cloud infrastructure for the base load and only increase cloud resources when peaks are expected. Here it can make sense to reserve compute capacities in advance, also known as "capacity reservation" - not to be confused with the discount model "Reserved Instances" from the previous section. Conversely, unused instances can also be switched off, thus saving up to half or more of the costs.
The Autoscaling function can be used to automatically adjust the required cloud capacities based on predefined rules. If there is little computing to be done, low computing capacities are sufficient; if there are computationally intensive tasks, capacity is increased on-the-fly. An autoscaling group defines the minimum and maximum capacity to be made available, which instance types are to be used, and how to scale. Although modern architectures usually allow autoscaling, it must be clarified in each individual case which applications are suitable for this. The application must at least support load balancing, so that the load can be distributed over several compute instances.
Waste management is about identifying unused cloud resources and avoiding unnecessary expenditure. Sounds simple at first - but with typically several hundred thousand cloud resources, it is not possible to find out manually which resources are actually not needed. By comparing billing data with monitoring data, tools can identify potentially unnecessary cloud expenditures. In addition, among all the hundreds of thousands of cloud resources, those that are not needed at night or on weekends can be identified. A distinction can also be made between productive and non-productive environments.
Cost optimization
In addition to all cloud cost optimization, responsible handling of resources in the cloud is required. The first step is to create the necessary sense of responsibility through cost transparency and cause-based allocation. Teams need to understand what costs they are incurring through their type of cloud usage and what the core cost drivers are. The second step is not only to show the costs, but also to charge them to the teams via internal cost allocation. If cost-effective use of the cloud is one of the goals, cloud costs will no longer rise unchecked, but instead investments will be made in cloud services where the business benefits justify the expenditure.
The success evaluation of cloud-first strategies is significantly influenced by public cloud costs. Understanding them better and better and anchoring cloud financial management more and more directly in DevOps teams as well is an important process. After all, their expertise is crucial to creating not only a reliable but also economically viable model for operations with cloud infrastructures.