Costs that hide behind the Cloud

POSTED BY : Principal Architect - OS & AWS CoE
Tuesday, July 12, 2016

When the Cloud burst into the technology world a few years ago, it seemed like an IT manager’s fantasy come true. It brought an ease of accessibility to IT which never existed before. Almost overnight, the stuff that previously took months to procure and setup, was available at the touch of a button (or the click of a mouse). Even better, there was no massive capital expenditure to worry about. The Cloud mantra “Only pay for what you use” seemed to loosen inhibitions and sometimes due diligence was ignored in the process. 

Startups proliferated as the new-found access to IT gave them a level playing field with established players. The large-enterprise world also took notice of the Cloud. Why keep depreciating assets on the books, if the capex could be avoided? 

But over the past few years, the euphoria has given way to a more mature understanding of the Cloud space, and some have learnt the hard way. I have come across organizations that incurred massive costs either due to inefficient design, or because they didn’t evolve fast enough. Let me share with you some obvious and not-so-obvious costs associated with the Cloud.

On-demand instances: One of the most attractive features of the public Cloud is that you can increase or decrease your compute capacity almost instantly (depending upon your design). Such autoscaling can become expensive if you don’t design it well. On-demand instances tend to be the most expensive, so one needs to really dig deep into the workloads to be provisioned before designing a sustainable autoscaling system. This is the only way to ensure that the reserved instance pricing is utilized to the fullest before incurring charges for the on-demand instances. If the applications are architected in the right manner (stateless), spot instances could be used to great advantage as well.

Unused or underutilized capacity: In large scale development environments, 10-15 percent of instances tend to be either incorrectly oversized or worse, left turned on when no longer needed. It’s like turning on your mobile data to check whether your Uber taxi has arrived to take you to the airport – and then forgetting to turn it off until you reach London. From our customer assessments, we have seen that the avoidable cost incurred could be as high as 35%.

Un-optimized Cloud Architecture: At one time, Infrastructure as a Service (IAAS) was the primary offering in a public Cloud. But if one were to really benefit from the public cloud today, even proprietary offerings and services need to be architected to specific needs. If using AWS, for example, combining the PAS DB offering (specifically Aurora) and Server-less computing (Lambda) is a better choice both in terms of cost and performance scaling. Aurora is said to be up to 5X faster when compared to MySQL on similar instance types and costs a fraction of the COTS database offerings. Similarly, Lambda entirely frees the user from the server management “creation-scaling-maintenance”, at a price that is way more efficient in most cases. Unfortunately, most enterprises are wary of getting vendor locked and do not architect their applications to utilize these amazing cost saving features.

Data Dynamics: There are various costs associated with data, be it storage or external bandwidth or traffic passing through the load balancer or NAT, etc. Most public clouds charge for data moving out of the Cloud, even if it is simply being moved to another region of the cloud. Depending upon ones specific use case, an efficiently architected application/solution can really help an organization save tremendously in the long run.

DevOps: Organizations can no longer ignore the speed and agility of DevOps. In order to use the Cloud to its full potential, an organization needs people who are not afraid to script/code and play around with APIs to automate repetitive tasks. In addition, developers too need to embrace the change, be open to understand and dabble with simpler IT functions.  At the same time, previously established IT processes need to be iteratively optimized, and in some cases, even discarded and replaced with more efficient processes that provide agility while ensuring quality. Motivating and re-training IT staff is an uphill and expensive task, but it’s got to be done in the interest of efficiency.   

Compliance: Sometimes even an organization that is agile and future focused, is stumped by the compliance requirements. For example, the HIPPA requirement to use dedicated physical machines for Cloud can upset all plans of cost-saving or using spot pricing or server-less architecture. Special strategies need to be worked out on a case by case basis to optimize returns.

In conclusion, Cloud is an empowering and agile technology which is ready for consumption. A well thought out, clearly drawn up strategy and a cleverly architected plan can help an organization harness the power and agility of the Cloud to increase efficiency, saving avoidable costs and utilizing the Cloud to its full capacity.

Principal Architect - OS & AWS CoE