Stop Wasting Money on Cloud
(This is the first in an ongoing series of blogposts on the ways in which proper Cloud Governance enables enterprises to optimize their cloud spend. This series will review various issues related to cloud management and provide recommendations for dealing with those issues.)
Enterprises are moving their hosting to public cloud (primarily Amazon Web Services, Microsoft Azure, Google and Alibaba Cloud) in increasing numbers. The reasons given most often for this migration are that cloud offers more agility which in turn can lead to more innovation. Cloud’s “pay as you go” model also promises significant cost savings but for many companies, those savings have been elusive. In fact, many companies find they are noticeably exceeding their cloud budget – and often don’t understand why!
One of the most popular types of cloud computing is known as Infrastructure as a Service, or IaaS. With IaaS, cloud vendors provide the basic compute resources (CPU, memory, storage, network) which are then managed by the user. Gartner estimates that the worldwide market for IaaS in 2019 will be more than US$40 billion.
Given the rapid growth of cloud over the past ten years, that number is not surprising. But what is surprising is that Gartner also estimates that out of that $40 billion, perhaps as much as $15 billion will be wasted.
There are many reasons for this. One of the most fundamental reasons starts with how a company procures cloud resources. In the past, when an IT department needed a new server, it was either purchased and paid for in advance (at a cost of thousands of dollars) or leased (for hundreds of dollars per month). It was a Capital Expense (“CapEx”) and, depending on how your company was managed, it might require getting several levels of approvals that could take days or weeks to obtain.
With cloud computing’s pay-as-you-go model, compute resources are priced by the hour or the minute, sometimes even by the second! A VM (Virtual Machine) from AWS can cost as little as $0.025 per hour. It is now considered an Operating Expense (“OpEx”) rather than CapEx, and anyone with the right access to the cloud account can create new cloud resources with just a few clicks of a mouse – resources which start accumulating charges immediately.
That may not seem like a great expense but that’s just the smallest size virtual server and only the CPU and memory. Move up to a larger server and start to add on other services – disk storage and back-ups, network, firewall, etc. – and multiply that by the number of people in your IT organization creating environments for production, development and testing. Add in options such as multiple global sites to service a global customer base or disaster recovery - you can see how the charges can really start to accumulate.
There are various ways to properly manage this to keep things from getting out of control. The most stringent method is to restrict resource creation to just a few trusted members of your organization and combine this restriction with a strong change control policy.
This approach won’t work for every type of company, especially those companies that have active DevOps teams and are looking at CI/CD (Continuous Integration/Continuous Delivery). Your projects and teams will slow down if roadblocks are put in the way of their agility. That doesn’t mean that they should have a totally free hand – DevOps engineers never seem to consider the cost of the things they’re doing. The major cloud providers offer hundreds of different products, with dozens of variations on each product. You can establish a “catalog” of products to be used in your organization and consider having “budgets” or limits on what people can and cannot do in terms of resource creation.
If you’re going to allow your DevOps teams some degree of freedom as described above, you will need a method of ensuring compliance with the policies that have been set. There are a number of excellent third-party governance tools that have the ability to set different alerts tied to a variety of events that correspond to the custom policies you have set. Some of these tools also offer the option to take a variety of actions when a policy has been violated, running the gamut from notifications up to shutting down the non-compliant resource.
Another area where companies consistently waste money on cloud has to do with the size of the resources that are being provisioned.
In the old days, when you purchased a server for your data center, you knew that server had to last for three to five years. And you also knew that it was practically impossible to forecast the demand that would be placed on that server years in the future. This meant that most people simply bought the largest server they could reasonably afford. Once installed, if it was only using a fraction of the CPU or memory, that was okay because surely it would get “hungrier” with the passage of time.
Today, many people take a similar approach when deciding on cloud resources. One of the most common ways that companies overspend on cloud is by using VM’s that are larger than necessary. With AWS, reducing your EC2 instances by just one size will result in a 50% savings! This is often referred to as “right-sizing.”
Thanks to the elastic nature of cloud, should you find a need to resize your cloud servers in the future, it can be done with just a few clicks and no down time (depending upon your architecture).
How can you know that your cloud servers are too large? There’s a great selection of third-party software that can provide this information for you. These tools can gather information from your logs and report back to you on the resource utilization (CPU, memory, network – minimum, maximum and average usage) of your cloud servers, make recommendations for changes (which should be manually validated before being acted upon) and even show you your predicted savings in advance. The newer generation of software is using A.I. to make more accurate predictions about resource utilization and your predicted monthly spend versus your budget.
Inventory Management and Right-Sizing are just two of dozens of governance methods I have used to help enterprises understand the current state of their cloud and ensure that their usage is optimized and that their budget is maintained.
If managing your cloud spend is a priority for you and your company, Velocity Technology can help you establish a Cloud Governance Program customized to your enterprise’s requirements. Please feel free to write me at Steve.Schechter@Velocity-Solutions.com to discuss your cloud infrastructure and governance needs.
Steve Schechter has more than 30 years’ experience in Information Technology, with his past seven years focused on cloud operations and governance.