Every cloud has a silver lining. This old adage has been proven true once again during the course of the pandemic. The disruption has forced businesses, irrespective of their industry, size, or nature, to reassess their business continuity strategies. So far, such plans were designed to protect businesses from natural disasters like cyclones, floods, fire, or physical damages inflicted by a raging mob. Hence, the focus was on the loss of data centers. Not for once, had someone pictured a situation that would prevent people from running those servers. Let alone run, even physically accessing those servers for months at a stretch was practically unthinkable unless COVID-19 happened.
As the disruption exposed the massive pitfalls in the traditional age-old resiliency planning, businesses rushed to migrate their operations and workloads to the cloud. cloud resource provisioning seemed not only the most efficient way to resiliency but also the best way to achieve flexibility during a highly fluctuating market condition.
As the pandemic progressed, several industries faced a huge surge in business. Demand for online retail, video calling, telemedicine, online banking, pharmaceutical manufacturing, e-learning skyrocketed like never before.
To deliver on the demand and prepare for peak times, businesses scaled up their cloud usage, mostly without proper planning. According to the Flexera 2020 State of the Cloud report, almost 59% of enterprises expected higher cloud provisioning than what they had actually planned. Respondents have also seen an average of 23% overrun of their original cloud budget which is expected to rise to 47% in the coming twelve months.
But how accurate were they in predicting the surge in usage is the key question here. As per the Flexera report, the wasted spend is 30% whereas another report indicates that almost 40% of cloud spends was wasted due to over provisioning.
So what is overprovisioning?
In computing, over provisioning means stocking up storage, capacity, or bandwidth to allocate more resources in order to meet any unforeseen spike in demand and ensure smooth business operations without any disruption. Let’s take a look at the two graphs below to understand the issue of over and under-provisioning.
Enterprises often end up paying for unutilized or underutilized resources such as volumes, database warehouses, relational databases, instances or VMs, or hosted caching tools, without realizing it. For example, someone can spin up a virtual image to carry out a testing job on Friday and forget to spin it down. Over the weekend, that one open virtual image ends up shooting up your bill and cloud costs for the month. The good part is that in the last couple of years, the conversation around the cloud has witnessed a shift from security to cost optimization. The recent economic downturn and global disruption have massively fuelled the concern forcing businesses to consider optimizing cloud costs as their top cloud initiative, for the fourth year in a row.
The issue of over-provisioning or wasting budget on unused resources can be eliminated by rightsizing provisioning resources to match the business applications. Another way is to identify and turn off particular workloads at night or during weekends. Apart from turning off unutilized/idle resources, here are six more effective ways to optimize your cloud resources provisioning and therefore, costs.
1) Choose the right type of instances/VMs
Different cloud provisioning offer different instances and VM types, which are nothing but a varying combination of memory, storage, capacity, etc. Not having clarity over different types of instances/VMs (such as General Purpose, Compute Optimized, Memory Optimized, Storage Optimized, etc. ) available can often result in enterprises choosing the wrong instances for their business applications. Hence, it is crucial to understand the different instance types and choose the right mix of resources that are appropriate for your application to avoid any over-provisioning and consequently, unplanned cloud cost overheads for the organization. Use tools such as Pricing Calculator (Azure, AWS, GCP - all of them provide pricing calculators), to find out how many instances/VMs and what sizes you will require to run your workloads.
2) Harness the power of serverless services
One of the many benefits of serverless computing services such as AWS lambda is that they eliminate the need to configure or manage instances/servers. The cloud provisioning developers are only required to write the code and these services automatically allocate the required compute resources, runs the code in response to a set event, and scales precisely as per the size of the workloads. That not only saves your developers and other IT staff a great deal of time but also significantly reduces your costs as you pay only for the compute time you consume. Thus eliminating the probability of paying for any over-provisioned infrastructure.
3) Leverage Reserved Instances or Committed use discounts
Make optimal use of Reserved Instances, Spot Instances, and Committed user discount programs when you have predictable workloads and full-time usage planned. Reserved instances or committed user discounts can significantly reduce your costs, as most of the cloud resource provisioning give you discounts up to 70%. You will have the option to reserve VMs, DB instances, etc. for 1 year or 3 years but be aware of the costs that are not covered under these discounts. You can get recommendations based on usage from Google Cloud Console Recommeder, Azure Advisor etc., and you can either pay upfront or monthly. Most of the cloud providers also provide an option to exchange it or cancel it anytime you want.
4) Change the enterprise mindset
Last but not least, the mindset businesses have carried forward from the on-premises era often acts as the biggest roadblock towards managing over provisioning resources. With the switch from the CapEx model of on-prem setup to the OpEx model of cloud setup, comes the necessity to view OpEx from a different perspective. In cloud, most of the expenses come under the operations head while the IT and other teams continue to perceive it as Capital expenditure. In today’s environment, it is more than necessary to alter this mindset and reevaluate resources in order to prevent overprovisioning.
Take necessary steps such as policy enforcement that guarantees to stick to a set budget, allocate budget among teams, and set alerts to know when you or your team is reaching your spending limits. Thereby making everyone aware and part of your organization’s cost optimization culture..
A Cloud partner like Cloud4C can constantly monitor the cloud resources, identify cost leaks and take measures to eliminate and avoid cost anomalies in the future. To know more about Cloud4C’s Cost Optimization services, click here. You can also get in touch with our cloud experts to understand more about overprovisioning and cloud cost management and optimization.