The cloud with all of its ease and convenience is slowly eclipsing the racks and racks of machines that defined it. There are many practical reasons driving this movement away from the data centre as a hallmark of information technology.
Cloud service providers continue to roll out amazing products and time-saving services that make it simple to stand up amazing code. The convenience is wonderful. The economic forces driving the consolidation are strong and probably getting stronger.
But for all the undeniable reasons driving the transition to the cloud, there are a few arguments that don’t fit the narrative, a few rationales for bucking the trend and keeping a data centre running. Maybe not for all of the workloads, but for some of key, targeted tasks.
In the DIY spirit of Emersonian self-reliance, here are 10 reasons why CIOs are keeping some of the code running on-premises in a rack that is theirs, all theirs.
1 - Local speed
The cloud is a great asset for a company spread across the globe. It’s a good fit for supporting people working remotely or at home. But if the workforce is coming into the same campus, hitting the same servers, then there are notable downsides to having these servers a long way away, with all those leaving the property, travelling halfway across the country to some distant cloud-based machine in a Zip code they don’t even know.
Local servers are faster than ones parked somewhere else. Moreover, fewer network hops mean fewer points of failure. If the bits never leave the building, users can get by with a smaller internet pipe. All of these are good reasons to keep the servers close to the action. If the workforce is concentrated in one place, put the servers they need near them.
2 - Technical tradeoffs
Some people love the cloud because the invisible cloud workers take care of all the grief of running the servers, buying the machines, and installing the software. There’s no doubt that the cloud can be liberating in taking that burden off CIO shoulders.
But sometimes it can be more comforting to have all those responsibilities in-house. Really? It depends. If it’s a task that’s not essential and CIOs are willing to be happy with the cloud company’s approach, it can be worthwhile to just let the cloud vendor do its thing and adjust IT around this.
But if they have their own way of doing things, the friction might not be worth the time savings that comes with moving to the cloud.
For example, one of my projects used some legacy code that required an old version of Python. The cloud company, however, used the latest version of Ubuntu and that version used a newer version of Python. I could either wrestle with different versions or install my favourite version of Python on the machine in my lab. It was simpler to just buy my own machine than rewrite the code.
3 - Neighbours
Cloud companies need to make all their customers happy. CIOs are not the only one who will be buying the service. Signing up for a cloud service isn’t the same as joining a cult, but it’s also not the same as living on your own private island. Users just have to get along with their neighbours.
In the most extreme cases, neighbours in the cloud can be malicious. Scary attacks such as Rowhammer make it possible for nosy neighbours to break into other users on the same hardware.
Are they a serious problem? Are active hackers attacking other cloud instances often? Probably not. But one of the big advantages of CIOs paying for their own hardware is not worrying about their neighbours in the data centre.
4 - Control
Modern contracts aren’t written in stone. They’re usually not even written on paper. When trouble arises, it’s not uncommon for companies to just cut users off with some ambiguous claim of violating some unspecified clause in the Terms of Service.
The email discussion lists are full of sad stories from developers and companies that ended up getting a Dear John email from their service provider. Sometimes the cloud company doesn’t even send an email. Everything just stops working.
Maybe CIO lawyers are good. Maybe their business flies under the radar and they don’t need to worry about cancel culture. Maybe they think all these stories are overblown and happen to other people. The odds do seem long that cloud businesses would behave irrationally and just toss away good revenue. But there’s no doubt that controlling the hardware reduces the legal points of failure.
5 - Power
Cloud companies are often accused of having spotty service. Some seem to deliberately have no public phone number. Some never seem to respond to emails. For every great story of a cloud company employee that went the extra mile, there’s another rant on a bulletin board about nameless, faceless leviathan.
When the data centre reports to a CIO, it’s much easier to get a response from them. Yes, there are plenty of angry stories about disappearing IT staff. Yes, sitcoms love to joke about rare sightings of in-house tech support as if they were endangered species. But having power over someone’s salary is one way to get better service.
6 - Price
The latest hardware is always the most expensive. If work depends on pushing the envelope, then relying on the cloud may make the most sense. But if work is a bit more boring and predictable, then users can save plenty of money by making do with servers that are several years old.
There are potential hidden costs, of course. Older machines break more often. Can workloads handle some unexpected downtime? Can staff fix the machines? If they're able to make do, using older, less-hip hardware is often dramatically less expensive.
7 - Steady loads
The companies that do the best with the cloud are those with wildly variable but generally predictable computing loads. Streaming video services, for instance, do most of their computation on Friday and Saturday night. They spin up the machines for a few hours and then shut them down as soon as everyone goes to sleep. For the other 150+ hours in the week, someone else can pay for them.
If a company is the opposite, though, then running their own data centre can make more sense. Paying for a cloud machine for 24 hours a day, 7 days a week gets expensive, even after the discounts. It’s much easier to pencil out a budget for a local data centre that’s cost competitive if their machines are going to run constantly.
8 - Extra real estate
The pandemic has really shaken up the world of commercial real estate and some companies have extra space they can’t easily shed. Perhaps businesses own the building. Perhaps the lease won’t run out for years.
Part of the cost of a cloud machine is the building that holds the hardware. If the cost of real estate is low or maybe even nonexistent for a CIO's company, putting a few racks in some empty space could be a good deal for the budget.
9 - Cheaper local power
The cost of electricity is a big part of running a data centre and in many cases the price of power is greater than the cost of hardware. One of the stranger corners of government is the way that some states or municipalities try to attract local business.
Some use tax breaks but some find a way to indirectly subsidise new companies by cutting the price on local power. Amazon Web Services (AWS) is just one example of a company that negotiated sweet electrical prices. Maybe the company is already getting a great price on electricity and that means their in-house data centre could be cheaper to run.
It doesn’t even need to be a special deal. Some parts of the world have cheaper electricity. Some parts make renewable energy easy because of ample wind or endless sunshine. The reason for the low price doesn’t matter. If a company happens to get a good rate on electricity, they could save quite a bit on cloud computing by hosting their own machines.
10 - Local talent
Some companies like to cut staff to the bare minimum. Others, however, value human capital. One company I worked for liked to overhire so it would have talent available when it needed it, which usually occurred at unpredictable times. When the emergency hit, the company was ready.
Staffing their own data centre can be expensive and it can be one of the hardest costs for a CIO to justify. But maybe their business can split the time for the people managing the data centre? Maybe there are other roles they can take on effectively while also running the data centre?
If they want the local talent, if they like having some smart staff down the hall, then it might make sense to use some of the budget for computing to keep people on board. Some cloud company isn’t going to tell good jokes at the water cooler, plan the July 4th picnic, bat clean up on the company softball team, or do any of the other things that human capital can bring to an enterprise.