In 2018, ZDNet posted an article with the sub-title “Many chief financial officers, as well as CIOs, are gasping at the unexpected expenses seen in their monthly cloud bills, survey finds.”
That really sets the tone, it’s becoming common to see organisations spending tens of thousands each month on the “Cloud”. The sales pitch for the cloud was always that it was a cost saver and that you would only pay for what you use. But this is exactly the issue and for most they are completely unaware of what they are really paying for. Recently cloud providers have begun to allow greater insights into your bills in a bid to rival their competitors. Whilst the data is now available to the purchaser it doesn’t always clearly depict areas where an organisation can make huge savings.
In this article we are going to explore the reasons for the unexpected expenses and some of the most common ways to decrease your bill for good! Let’s firstly understand some of the common reasons why costs are much greater than expected.
The first and most easily forgotten is availability. The move to the cloud brings great new powers but ultimately the architectural blueprints remain much the same. Let’s take a basic example, you want to host an e-commerce website. You are going to need web servers, and web servers need to be highly available to ensure your clients can always access them. This means that instead of needing one server, you will at a minimum require two and a mechanism to load balance them. This is where the myths start to get busted. We have seen on countless occasions estimated pricing excluding the ‘high availability’ part, which will over double the price! When you start to dig deeper into this you start to appreciate that if you really need high availability you will likely need to span multiple data centres and maybe even cloud provider. Often these ‘Tweaks’ are submitted as separate projects or business cases and before long the costs have grown out of control and its very complicated to work out why.
To avoid the above, you need to tackle the architecture right from the start. Bolting on parts is as easy as losing track of the reasons why you are doing it! The cloud’s unlimited supply of services, add-ons and modules are designed specifically to target engineers, who are not looking at the bigger commercial picture. Implement tight change controls and ensure that every aspect of your cloud infrastructure is tagged with cost codes and authorisation codes to track your expenditure. Moreover, ensure your permissions are restricted to ensure change controls are followed. Fixing this at the start will save thousands in the long term.
The second reason many are subjected to outrageous bills is poor housekeeping. Upon gaining access to most of our client’s cloud stacks (Azure, Aws, Google Cloud, etc) we see the same thing. Virtual machines, services, storage and much more that was clearly used for testing or development which is no longer required but has been working away in the background for days, months or even years inevitably generating unnecessary cost. Ask yourself when was the last time your team reviewed all of your cloud resources removing anything that isn’t used? Seriously impressive savings can be made from doing the right housekeeping! The more advanced can look to use scripts and monitoring to automate the removal of unnecessary resources.
The third is over-provisioning services, do you remember when virtualisation was first released, engineers went crazy. There was a VM for just about everything. The difference back then was that the only increase was in software licensing. Scalable on-demand pay for services (cloud) at low monthly prices are great until their loads of them underutilised eating away at company profits. Let start to dig into this in more detail. We often look at people’s cloud stacks and see the same thing. Multiple virtual machines running at less than 1% utilisation. You need to question if this makes sense (The answer is of course no). There are a few ways in which you can combat this. The first is automation, look to spin up and spin down resources as they are required. In more advanced implementations you can even script the servers so that they only come on to perform a single job then delete them self’s when completed. You can also look to schedule your resource so it’s available only when you need it, for example just working hours. Resources will then start and stop at scheduled times. The second is moving away from virtual servers and using service-based solutions. A great example of this would be running serverless applications. The final is reserving capacity. Most if not all providers offer the ability to reserve the capacity you require. Doing so will see anything from 10% to a 75% saving, but in return be prepared to be locked into 1 – 5-year agreements.
The final part we are going to cover in this article is the instance type, class or SLA. For the most basic example let’s take provisioning a virtual machine in Azure. Microsoft offers different sizes, tiers and support. The cost differences are extreme. Make sure you select the right packages to suit the project. Most likely production services that are public-facing are going to need the most resource, highest tier and support, but a development or test server really doesn’t need the same. Pick your packages appropriately and see just how much of a dramatic difference that can have.
In conclusion it’s very easy to fall down the cloud rabbit hole and end up with a bill that’s large enough to bankrupt a business, but with some basic principles you can stop this from happening and become an IT Rockstar.
Next2IT is a digital transformation specialist that provides solutions focusing on cloud cost reductions. Find out how our cloud managed services can dramatically reduce your costs and help you keep your cloud the way it was intended.