While enterprises have realized the benefits of the cloud such as agility and scalability helping them achieve business goals, performance Efficiency, reliability, Security and Cost considerations in the cloud are key decision criteria for Enterprises to move their workloads to cloud.
Post the COVID-19 pandemic Enterprises have seen greater usage of cloud services and consequent increase in cloud cost. In this article we focus on Cost Optimization in the cloud and consider some perspectives from the wide experiences at Canarys designing, implementing and maintaining cloud strategy for our clients.
Cost optimization involves a deep analysis of the design and architecture, cost forecasting, cost modelling and making tradeoffs.
Importantly, Cost Optimization is continuous process rather a onetime activity.
Architecture and Design:
A quick lift and shift of services to cloud is easy to implement but is not always a good approach in the long run. Moving a database to cloud or a server to a VM instance can solve some immediate business issues, cost over-runs are bound to be encountered when these are scaled up.
A complete analysis of the architecture will enable predicting the problem areas for scale, reliability, performance and minimizing the total cost of ownership (TCO) of the system.
Shifting an app from on premise to be hosted on IIS or NGINX on a VM would be quick and easy but hosting the same on a PaaS App hosting service like Azure App Service is cost effective both as is and in scale.
Another instance would be using Cloud DNS and CDN services instead of using frontend servers on cloud for hosting content dynamic content that does not change frequently.
Our experience has shown many stateful application can be converted to stateless applications by storing the state on a Redis cache instance on the cloud and hosting the App on a PaaS hosting service which is easy to scale and very cost effective.
Only an intimate understanding architecture and design of the system beforehand can aid in making such optimisations.
Forecasting costs is a prerequisite for any business decision making.
When it comes to the cloud, all major public cloud providers have cost calculator tools online which are easy to use to get a good estimate of the cost their services based the required parameters of performance.
Multiple architectures can be evaluated forecasting their cost and TCO be it for cloud native, hybrid or multi-cloud setup.
This allows for allocating budgets to teams and projects – making prioritization of services easier.
Cost Modelling and making tradeoffs
The goal of cost modelling is to estimate the actual overall cost of the organization in the cloud. This involves making tradeoffs based of the organization’s hierarchy and priority.
Cost modelling involves considering cost effective deployment regions, sizing and scale up (vertical scaling) or scale out (horizontal scaling) depending on performance and demand estimates.
Making tradeoffs then become an important step in cost optimization. Features such as multiregional availability, High Availability with Geo Redundancy can be opted out of if not expressly required or have no business justification.
Same goes with strict SLAs, Disaster Recovery, Recovery Time Objectives (RTO) and Recovery Point Objectives (RPO).
Inter-regional data transfer also add to cost and must be considered in multiregional architectures.
Well defined performance requirements, along with greater data and insights into the end use case can help opt for reserved instances of cloud services which can help save costs significantly.
Setting cost and quota alerts, choosing the smallest viable VM and then scaling out rather than scaling up are among many tweaks that are a part of this continuous cycle of cost optimization with changing business needs.