The Azure public cloud platform offers huge benefits for our ISV, SaaS and Enterprise customers using Azure to get to market, but the ability to provision anything with the simple click of a button also requires great responsibility.
In my experience, any organisation which starts using any public cloud without some form of governance and management in place will end up with bill shock.
There are three key reasons for bill shock: turning services on and forgetting about them, scaling up services without fully comprehending the cost impact, and errant applications wreaking havoc!
We had an example where a prospective customer had spun up a whole lot of services without considering the cost implications. While Azure services are billed on a monthly basis - so the worst case is you’ll incur a month of consumption - you will incur costs from the moment it's turned on and there are objects within public clouds that can cost thousands of dollars a month.
Another situation we see fairly frequently is companies scaling objects up without fully understanding the impact.
You might have a database which at its lowest tier can service a few concurrent requests for data. That same object can be scaled up to cater for tens of thousands, or even hundreds of thousands of concurrent requests. Unsurprisingly, the cost differential is enormous – you could be talking $10 a month at the low end, to $20,000 or more a month at the high end.
We've also seen a few occasions where a customer might push a new build in to production that causes a high volume of errors. This can cause autoscaling resources to scale up to handle the increased load, as well as costs for log ingestion increase.
But managing cost and ensuring there isn’t bill shock is not that hard with a little governance and management, including having policies around who can spin up new services and so incur costs. Those people need to be made fully aware of the significance, and consequences, of any decisions they make.
Azure has a good cost management tool called Azure Cost Management, which helps to understand costs, set budgets, and alert. At a bare minimum any Azure consumer should spend some time getting familiar with it.
While that has its benefits, it’s not a panacea: If you set a budget for a department for the month and the department hits 80% of it you'll get an alert - if that consumption occurred within two days you’ve still got a problem if they’ve chewed through 80% with 28 days left in the month!
Here at Parallo, we put a lot of focus on cost management, including automated spend tracking. If someone turns on an expensive object, we’ll alert on it. We also track daily spend, comparing it with three- and seven-day averages, and if your company’s spend changes significantly, we alert on it, giving you a chance to rectify the situation quickly.
But it’s not just about making sure you know what’s being spent. There are a lot of cost saving opportunities within Azure that just aren’t being utilised by Kiwi companies.
Take automated scaling and scheduled scaling. We often see companies who are only using a test server, for example, Monday to Friday between 8am and 5pm, but leave it running 24/7. If you turn it off from 7pm to 7am weeknights and during the weekend it’s only running 30% of the time – and you’re only paying 30% of the cost you were previously.
Azure’s platform-as-a-service components are also scalable and it’s possible to automate the scale of those objects. So, similar to the above example, you might have an application being used by one geography, which has very little load on it overnight. That means the big database needed to power the application during the day doesn’t need to be so big overnight. On a heavily utilised application, the database might cost you $2,000/month at full power, but you might be able to scale it down to $20/month overnight, creating a massive cost saving opportunity.
We've recently implemented scaling solutions that scale minute by minute to really take advantage of this paradigm.
It’s a simple cost saving opportunity, but one many companies aren’t harnessing, whether that’s because they don’t know how to do it, or they’re worried about performance impact. Yet with a bit of effort it’s not difficult to work out where the load comes and where it drops off, enabling you to scale it to suit.
To give you an idea of how worthwhile it could be for you, one of our clients has seen a 20% reduction in their monthly costs adding up to around $50,000 per year, after putting our processes in place. That’s a saving well worth having.
Through ensuring you’ve got the appropriate policies and governance for Azure in place, ensuring those who have authority to turn things on are informed of the consequences of their decisions, having automated spend management and alerts in place and dashboards that visualise spend you can avoid bill shock.
Here at Parallo, we’ve been managing Microsoft Azure since 2014, so we have some deep experience in optimising cost savings and at guiding companies through the governance and management practices needed to ensure they have the right foundations in place to ensure bill shock never happens, while ensuring security, performance and availability are always optimised.
If you need a hand with managing your Azure costs, reach out to our team.