Cloud infrastructure: Who is watching the costs?
By Cleo van Engelen
We are well taken care of. The management of the infrastructure is outsourced. There is no longer ownership of the infrastructure; we use Infrastructure as a Service (IaaS) from the cloud (Azure, AWS, or Google), possibly supplemented with IaaS from our management party. This provides us with flexible capacity, and we no longer have investments, but pay based on usage. Never again paying too much, right? That last part is questionable. In fact, without targeted management, that's usually not the case.
IaaS is certainly not always a cheaper solution than in-house infrastructure. Flexibility comes at a price. To truly save money, time and expertise are required. It demands continuous design choices, monitoring, and adjustments to control and optimize costs. And who actually does that? How is the division of tasks with the management party? In this blog, we'll delve into some important aspects to regulate to maintain control over IaaS costs in the management phase. We previously wrote about managing migration costs, which you can find here.
The number of services we can consume from the cloud continues to grow. Within IaaS, the number of options is also increasing significantly. Not only in terms of services, but also in variations. And corresponding costs. In which regions do we acquire services? Which technology? How long do we contract for? Locking in capacity for 3 years is cheaper than paying monthly for 3 years. Are we better off with 3 standard types of virtual servers (small-medium-large), or does customization ultimately save us money? How much cheaper is it to place 2 tasks on 1 large server instead of distributing them over 2 small servers? The website is less busy at night than during the day, but how much can we scale down at night? There's plenty of optimization potential, but how do we harness it?
Division of tasks with the managing party
The first important aspect is the division of tasks with the management party. Who negotiates discounts with the IaaS supplier? Who oversees which aspects of the costs? Who creates a cost design (with options), who is consulted, and who finalizes the design? An important aspect is not only the initial environment but also the expectation of usage in the coming years. And who monitors changes in the IaaS portfolio, license changes, and costs? An IaaS design requires periodic validation to ensure it remains the most cost-efficient solution. Where does capacity management lie, monitoring optimal sizing and usage adjustments? Who monitors the development and test environments and ensures they are decommissioned in a timely manner? Who sets rules, for example, about turning off and cleaning up environments? Who checks invoices and validates the need for environments periodically, either personally or by involving application and process owners? Who reports on costs, and who oversees efficient resource utilization? And holds employees accountable. Who builds scripts for automatically turning infrastructure on and off? And for large environments: who oversees cost-effective zone usage? Document this division of tasks in contractual agreements and have responsible parties report on the work. And don't forget: ultimate responsibility always lies with the owner/client themselves. They must retain control.
A second aspect that is often overlooked are incentives. We have just made clear agreements about the division of tasks. Our management party has been given many tasks. But is executing these tasks well in their interest? An important answer lies in the charging model. Does the bill from Azure, AWS, or Google go directly to the client, or does the management party apply a markup, meaning a lower IaaS bill means less profit for them? Is the management party evaluated on efficient deployment? Is oversizing a logical response to our pressure on the management party for system performance? Ensure that the agreement benefits the management party from good cost control on IaaS! And create a joint plan that clarifies how and when existing costs decrease so that there are no prolonged duplicate costs. This is often forgotten, leading to disappointments about the achieved savings later on.
Make everyone who can influence the price aware
A final aspect is the cultural aspect: ensure that everyone who can influence the price is aware of this and is helped to save and is addressed for unnecessary costs. The developers who find it easy to leave the test environments on at night and who might need those three temporary environments again. The infrastructure administrators who execute requests for new environments for next week today because they have the time now. The infrastructure solution architect who doesn't have the time to compare different (license) options and just chooses the most comprehensive one. The application manager who doesn't have the time to clean the logs and leaves gigabytes of data. And the employees who don't transfer non-active data to archival (low-cost) data stores. Make cost control a sport. Publish the savings figures and communicate positive actions. There's cake because we saved!
Need help in better estimating the costs of a cloud infrastructure?
Self-management or outsourcing remains a current dilemma. Highberg helps organizations as an independent advisor to view this question from a 360-degree perspective, both opportunities and prerequisites. We look at your specific situation. Highberg primarily engages in independent research and assists companies in developing sourcing strategies and setting up ICT governance.