Cloud Cost Optimization as a Lever Against Inflationary Pressure

essidsolutions

With staggering inflation being witnessed worldwide, how can organizations leverage cloud costs through optimization measures? In this article, Raj Srinivasaraghavan, chief technology officer at SecureKloud Technologies Limited, explores cloud cost optimization techniques ranging from simple and implementable techniques to complex techniques that may apply to all kinds of organizations, from small and medium companies to Enterprise businesses operating in all verticals.

Since the advent of cloud computing, cloud providers have always been able to reduce resource costs yearly to attract more business towards them. But this year and probably next year (if the trend continues) will be exceptions because of the staggering inflation we are witnessing worldwide. In some regions like Europe and Asia, GCP, for example, is planning to do cost increases in storage and data services (in some cases, more than a 50% increase). Let’s look at cloud cost optimization techniques ranging from simple, disciplined housekeeping to cloud-native design, rightsizing, operational efficiencies, capacity reservations, software automation, forecasting, etc.

The solutions we will discuss below will apply to all kinds of organizations, from small and medium companies to Enterprise businesses operating in all verticals. I will classify these techniques into three types. 

Simple techniques – ones that can be done with little effort, implementable techniques – will take more time, like days or weeks, to implement, and complex techniques – may take a few weeks to months, depending on the size and complexity of the monthly cloud bill the enterprise is getting.

Simple Techniques: (Hours to Days to Implement)

    • The first simple step is to review the monthly cloud bill. Understanding the cost of each item in the statement (mostly displayed according to resource usage) is mandatory. Identify where your organization is incurring high-ticket items. 
    • For most organizations, compute costs, followed by storage and data input/output costs, should be the usual culprits. See whether these costs are justified for the type of projects your company is doing. If not, prevent them.
    • Then please look for any underutilized or idle computing, storage resources, unused snapshots, and unwanted data pull/pushes happening daily from/to the cloud. Eliminate them.  
    • If your organization uses the cloud for various purposes like DevOps, User Virtual Workstations, Production Servers, Etc., across different departments or cost centers, the first prudent thing to do is to establish resource tags or labels with the cloud provider as part of configuration settings. These tags are name/key-value pairs like, for example, “Department” as a key with “possible values of the departments that are using the cloud in your company” as values so that every cloud resource that is getting created can be tracked via these tag values to the actual owner/creator/department from the time of creation. This way, the cloud costs can be granularly segregated and understood for each month precisely across departments or projects.  
    • The next important thing that can be done is to check the size of the resources procured for a service. If we look closely, we can find there would be an overage of at least 30% to 40% on each item’s size due to the generous factor of safety given during the design stage of that resource. Right-size them and re-deploy services in the right-sized resources.  
    • The next thing is to look for reserved instances and spot instances. If your company is constantly provisioning a particular type and number of compute machines over a period of months to years and you are expecting this trend to continue, you can opt for reserved instances that come at almost 30% cost of the actual instance over a year to 3 year’s period. Similarly, requesting spot instances (unused ec2 readily available) could cut costs.      

See More: How to Set Your Cloud Up for Success with the Right IT Infrastructure

Implementable Techniques: (Days to Week(s) to Implement)

    • Thorough Design Review and analysis of your DevOps process most of the time reveals surprises! You could often find unused AMIs, auxiliary databases, temporary storages, unnecessary snapshots, new jump boxes, and temporary compute instances that get created as part of every CI/CD run but never get deleted, even though they are not being used after the run. Incremental accumulation of such resources in unnoticed locations typically adds up a lot in costs. 
    • A cloud developer should be able to write deployable scripts that can detect such resources and delete them on an hourly/daily basis with some logic attached to verifying each resource in question.  
    • Moving to cloud-native solutions like containers is another adjustment that can save costs. Move your VMs, AMI-based solution, application, and infrastructure servers to containers wherever possible. For example, getting ten instances rolled into only two boxes serving five containers each could save 50 to 60% of your costs. 
    • Solutions like Kubernetes also give you the comfort of replica sets. Along with the auto-scaling feature, these replica sets help you to continuously serve your customers 24×7 without compromising on the continuity of your operation, all at lowered costs due to the continuous availability of container pod replica sets vs. pre-provisioned cost-intensive resources.

Complex Techniques: (Weeks to Month(s) to Implement)

    • One effective way to reduce cloud costs over a long period is to identify patterns your organization and each of its cost centers are adhering to in procuring cloud resources.   By looking at the data and plotting your current and past cloud spend for different resources across different categories of projects (like App. Development, Infrastructure Migration, Application Migration, Payload Transfer, and Execution for Data Intensive projects), initial cost patterns will evolve. 
    • Data Modelling with such data helps forecast your future consumption for the next six months. With this budget set, we can ensure that stricter cost controls can be established and adhered to even over a more extended period across different types of cloud projects the organization is undertaking. This model-based approach gives proactive management of cloud costs instead of reactive measures. This cost awareness culture can be instilled into each member of the cloud organization.
    • Another technique is considering the right sizing strategy, well-architected design principles, SDLC, and DevOps automation requirements into a collated design process and developing scripts/software customized for your company/project’s requirements.  This script can then be run at the resource provisioning stage of each project to arrive at the right combination of resources that could result in the optimal cost for the optimal and secure design.

The techniques discussed above could be leveraged based on the needs of your organization, the level of cloud cost optimization you seek and the time span you wish to work with. 

How are you optimizing cloud costs? Have you used any of the techniques mentioned above? Share with us on FacebookOpens a new window , TwitterOpens a new window , and LinkedInOpens a new window .

Image Source: Shutterstock

MORE ON CLOUD COST OPTIMIZATION