Cloud Optimization – The Necessary Conundrum

The cloud migration services market was valued at USD 119.13 billion in 2019 and is expected to reach USD 448.34 billion by 2025, at a CAGR of 28.89% over the forecast period 2020 – 2025. Over the past decade, cloud computing adoption is rising, owing to increasing investments from small and medium enterprises. About 21 billion dollars are wasted per year on the cloud spend. There are three kinds of enterprises approach to the cloud – some enterprises are completely public cloud-only companies, some are only private while others use a combination of Private and Public cloud called the hybrid cloud. There is a world of difference between datacentre cost optimization and cloud optimization. Cloud Optimization is a lever that needs to be utilized by the CFOs to make sure optimal-utilization is achieved. Back in the years of data centre, the budget is predetermined. However, the public cloud is something you pay for to use and therefore gives leverage to control the cost.

1. Visibility to the IT Environment
Unlike data centre which is a onetime budgeting exercise at the start of the finance year cost optimization in the cloud is a continuous exercise. This continuous exercise gives the opportunity to reduce the IT costs. The first requirement is a tool that gives complete visibility to the IT resources usage on a continuous basis and their impacts on the billing. All cloud service providers give this visibility and to that extent, the usage of IT resources can be tracked. Real-time spend visualization is a must.

2. Migration with ROI
When you perform the migration from on-premises to data centre have a framework for an ROI-based on the current IT system usage and future business requirements. While cloud avoids the capex costs, the operational costs should be optimized for the best ROI possible. All cloud service providers have different sets of products. The objective is to map every task in the datacentre to be done on cloud but the way we do the task can possibly change, though the outcome has to be the same.

3. Look for Idle resources in your cloud.
Cloud has multiple resources like server instances, idle load balancers, idle containers and so on. Turn off anything that is not utilized. Unused instances make a big portion of the cost for the cloud. Ideally, all cloud service providers give a resource utilization report and any resource not utilized should be turned off.

4. Try and use serverless resources.
Unlike data centres, many applications do not require exclusive resources specifically CPU and RAM. All cloud service providers give serverless options. This avoids provisioning time, and the utilization time is only for the period the program uses the serverless infrastructure. AWS gives lambda and GCP gives cloud which helps in running long-running CRON jobs.

5. Reserve capacity usage
Many cloud service providers give deep discounts when we buy instances after planning the capacity. They are known by different names like reserved instances, in AWS. Avoid on-demand buying of instances as it will cost much higher, and plan for Reserved instances. Unutilized reserved instances is another reason why the spend going up on the cloud.

6. Understand the discount policy of each cloud service provider.
Every cloud service provider is different, and two instances are equal. Understand the discount policy of each service provider. As an example, GCP gives Deep discounts on sustained usage of VM. The more we use the more discount we get from GCP.

7. Look for Product Specific Free Tier Usage
GCP has 90 products approximately and AWS has 169 products. It is difficult to understand each product. Free tiers associated with the product of a cloud service provider should be utilized completely. Utilize the product-specific free tier usage.

8. Use DevOps and Automation
If you are managing a large infrastructure, the DevOps tools chain must be used to maximize the operational efficiency and reduce the usage of resources. DevOps culture should be brought in with cloud migration to take maximum advantage of Cloud resources.

9. Cloud-Native application development
Development organizations need to switch over to cloud-native development to take advantage of the flexibility the cloud offers for containers and container-deployments. Usage of containers can further optimize the license costs and migration costs.

10. Use Multiple Cloud Service Providers
Avoid vendor lock-in with Cloud service providers. Have a minimum of two vendors and ensure that the applications are written to migrate the workload from one vendor to another vendor. GCP offers live migration. Use the best of the multiple worlds of the cloud service provider to do a better managing of the costs.

To Conclude cloud cost management is an engineering problem and it is not a finance or operations problem. A strong engineering team as part of the operations will enable more savings for cloud operations.

Data References: