Enterprises Reassessing the Cloud vs On-Premises
In fact, even staunch cloud advocates admit it – crunching the numbers just doesn’t make sense financially and it requires heavy mental gymnastics to make it so. But, as economic pressures shift, even heavily cloud-invested companies are rethinking their strategy and choosing to go back to on-premises again.
From the start, the cloud has been a fundamentally disruptive architectural change that sought to shift the burden of locally-managed systems from in-house data centers to service providers hosted “somewhere.” The whole premise resided on you not even having to know exactly where – it just existed somewhere you could access and that’s it, similar to how you simply open the tap and get running water even if you don’t know where the water processing plant or the spring is actually located.
Twenty years ago, managing a local datacenter meant that you’d face a series of challenges that were traditionally difficult to overcome. Scaling services was not simple, the networking bandwidth had remained the same for years prior and was hitting its limitations, and dedicated external connections were very expensive.
As an unintended consequence of the rise to prominence of the cloud, those concerns have been addressed. Now, you can get high bandwidth hardware and connections at a much lower cost for your on-premises systems because the hyperscalers’ growth enabled those technologies to exist.
Solutions like containers, bare-metal deployment and provisioning, high availability, service management tools, and monitoring are all easily replicated locally, now. In fact, the main argument for those tools is that they can be used either on the cloud or locally, and you’re not even supposed to be able to notice the difference.
So, it begs the question: is it still worth it to do it in the cloud at all? Basecamp, and others, are not so sure anymore. In a bid to reduce costs by 60% annually, they will be migrating their extensive cloud infrastructure back home. Dropbox did the same to massively reduce its spending.
But how does that make sense? Isn’t part of the cloud’s appeal having just the right amount of resources needed at just the right time?
The truth is that this elasticity is far from perfect. Sure, you can accommodate explosive growth if you really need it, but – in reality – how many companies actually need a 100 fold capacity increase at a moment’s notice? Very few, if any. And scaling back down, even if you can mostly automate it, is not perfect either, as massive bills seem to show. All it takes is one forgotten service instance still running to rack up an enormous bill in a matter of days.
Sure, you can’t (usually) simply order 100 new servers and have them arrive a couple of hours later. But you’ll find that this situation hardly ever arises, and if it does, it’s mostly from poor planning rather than from a sudden unexpected spike in sales.
So, let’s consider another aspect often touted as being a cloud advantage: security. This one is almost self defeating – the number of “leaky buckets” making the news and companies having their cloud infrastructure breached and ransomed is staggering.
A system is a system is a system, regardless of where it is located. And people are still the weakest link in the cybersecurity chain, not the technology itself – so claiming better security if running out there somewhere rather than in a server downstairs needs better arguments.
I am purposefully ignoring the fact that you can have dedicated security teams in a cloud infrastructure that you can’t have in-house (from lack of availability, high costs, high demand… the list goes on) – but you can always get some contractor to manage the servers for you if you want to have that assurance anyway. And managing your own servers gives you the ability to use the right tools for your use case rather than a catch-all solution that ends up not being good enough for the majority of situations.
And then there is control. By hosting your systems and services in the cloud, you are relinquishing control: the control to upgrade the systems when you want, the control to optimize at the hardware level rather than service level, the control to manage your operations as you see fit, etc. Whatever best practices are followed by your cloud provider don’t necessarily have to align with the best practices you need to follow for your own organization – and in the cloud you lack the control to change those.
Does this mean you should rush out and buy servers for the sake of it? Probably not.
Just like migrating to the cloud takes considerable effort, resources, and time, migrating back does too. But there are hybrid approaches that will help you regain control over your infrastructure while reducing costs, by bringing back services that have no reason to exist outside your organization. And, if you’re also going to pay less while doing it, you should really consider it as a valid option.