As organisations in the region mature their multicloud strategies, moving more and more of their workloads into the cloud, they often find themselves in an uncontrollable situation of budget overruns and this is ironic, as one of the reasons for transitioning to the cloud is its superior cost efficiency with the on-demand, pay-per-use nature of the public cloud.
Cloud costs are unpredictable, unlike traditional IT infrastructure. In a Platform-as-a-Service, PaaS public cloud, a single application stack could be made up of many different services and resources—each with its own pricing model. Costs for compute, storage, network, or other services can vary by vendor, resource type, levels of service, and usage.
Cloud costs are unpredictable, unlike traditional IT infrastructure.
On top of that, provisioning of cloud services is usually distributed across the enterprise, so managing and controlling costs in a multicloud environment can quickly get out of hand.
Below are tips to gain back control and optimise cloud spending:
#1 Understand cloud vendor pricing
The starting point before moving forward with a cloud vendor, is to make sure you understand their pricing model, including all the hidden costs for various API calls and other transactions so you can make a fair comparison and choose the best vendor for your use cases.
Once you start using the cloud, identify those services that are the highest contributors to your monthly spend. Rationalise usage to either justify costs or identify opportunities for optimisation. Over-utilisation of a service could be due to a coding error in an application.
Also, since cloud services are available at the click of a mouse, some services may have been provisioned and forgotten about. These orphaned or unused resources can waste thousands of dollars. Identifying them can deliver a quick cost-savings win.
Since cloud services are available at the click of a mouse, some services may have been provisioned and forgotten about.
#2 Clean up unused resources
After identifying unused resources, it is time to clean them up. Make sure key resources are backed up before deleting anything. Based on the usage patterns you have identified, slowly begin to scale down resources to the next smallest size to ensure you do not impact application performance. Continue with this incremental reduction until you reach a point where the workload runs at the desired performance with the minimum infrastructure size.
Archaic data can be deleted or moved to lower-cost storage tiers. This will not only reduce immediate costs but moving data from primary to archival storage will also save you money on your ongoing backup and disaster recovery costs. Initiating a data management lifecycle policy will help to ensure that the issue doesn’t bubble up again.
For non-production workloads, consider limiting access to on-demand services. Automating start stop workloads based on your developer’s needs will help clamp down on unnecessary or unauthorised service requests whose costs can add up quickly.
Lastly, since most cloud providers offer volume discounts, consolidating multiple accounts with the same provider is an easy way to collect on free money.
#3 Workloads and budget responsibility
A good best practice is to assign workloads to the business unit or other functional area that is responsible for them. This will not only enable you to chargeback for services, but the business unit can help with more accurate forecasting.
Budgets can be created based on the business knowledge and requirements of the teams that are using the services. Business unit owners can be made accountable for ensuring that resources remain optimised and within budget.
#4 Establish better capacity planning
Now that you have optimised existing services, it is possible to get a baseline for your infrastructure requirements. Based on your usage patterns and the purpose of the workload, segregate them into categories such as stable, variable, long term, and short term.
Identify performance requirements within each category. You may have workloads that need to scale out to meet certain performance metrics. You can identify such workloads and their capacity requirements by having your engineering teams perform load and performance testing.
Once you have identified stable workloads for each of your environments you can plan for reserving the correct level of capacity. Reserving long-term capacity can usually save you substantial money. If you have workloads running across multiple accounts on-demand in different time zones, it may be worth looking into reserving some capacity for dynamic workloads.
#5 Define cost governance policies
You will want to deploy a suitable cloud management platform to help automate much of this analysis and optimisation activity, as well as other routine tasks that can help further reduce costs.
For example, by leveraging the tagging capabilities of a cloud management platform, you can easily identify all non-essential” services and set them to automatically shut down during off hours.
Most cloud management platforms enable you to send cost summaries and billing alerts. Set up your system so that business unit owners receive a cost summary daily. Set budget alerts to notify them when spend is getting close to their allotted budget to avoid overages.
Share your cost governance policies so that each business unit owner knows what actions to take for proactive cost control. Define all necessary usage, spend, and other customised reports required by your organisation, and develop a practice of reviewing them and taking action.
Cloud cost management and control can be an overwhelming and time-consuming task. By following this analyse, eliminate, optimise, reserve and repeat model, you will be set up for success from the beginning to keep cloud services optimised for cost-effective business agility.
Cloud cost management and control can be an overwhelming and time-consuming task.
To truly stay ahead with the best technology at the least cost—and avoid cloud bloat syndrome—make sure to re-evaluate your architecture, technology stack, and your vendor partner relationships on a regular basis.
By Aaron White, General Manager METI, Nutanix.