The question that pops up quite often when we discuss cloud computing is, “But how much does it cost?” 🤔 The answer tends to be, “Much less than on-prem,” which is more than misleading. The truth is, in practice, whenever you need to run some serious server infrastructure in the cloud, it is often much more expensive than the current on-premises infrastructure solution. But, as always in life, if you buy cheap, you will probably need to buy it twice. Also, in the cloud, most things are just a few clicks away, while in the on-premises scenario, there could be a few months of planning and deploying before you see the first results.

The fact is, not everything is for everyone, and both sides have benefits and advantages. ✅ Only a crazy person could firmly say that between them, only one is the solution for every problem.

So, let’s try to break the myth and discuss the benefits and advantages of both, and in which scenarios we should choose one over the other. But first! Let’s discuss what could be the benefits of running our own on-premises infrastructure. 💡

1. We control the data. 🔒

Running your infrastructure on someone else’s hardware gives them an opportunity to access any of your data at any point. Basically, if you don’t control the hardware, all your encryption is in vain in front of the one who controls it. Since all encryption keys need to be loaded into memory at some point, the one who is controlling the hardware can also read them at that moment. Of course, all leading cloud vendors will “promise” through some policies that they won’t do it… But keep in mind, promises are made to be broken.

Critical infrastructure actors like government, police, military, banking, and maybe even pharmacy are always at risk of espionage scenarios, so for them, pushing their infrastructure into “someone’s” cloud would be ill-advised. 🚫

2. 99.9(9)% SLA is wishful thinking, but not truly needed in most cases.

What I will say here is highly controversial for most people, but this is the reality. You are not the next Facebook or Amazon and you never will be. Whenever I hear, “Yeah, but if we continue to grow like this – in 5 years we will be the new Twitter!” Yeah, you won’t. And you aren’t. And no, you don’t need a 99.99% SLA. Even the cloud giants rarely achieve 99.99% of anything. It’s a nice thing to have, but it’s also a very expensive thing to have. 💰

Most companies can survive with an SLA closer to 99% without any consequences. Period. Even a 99.9% SLA is overkill for most of them, no matter how important they “feel.” The best proof for this is Office 365! Guess what, Office 365 also sometimes fails, and when it does-it fails miserably, and we lose at minimum half a working day. But the earth keeps spinning, people survive, and rarely does anybody care. 🌍 So, in practice, having a few hours of downtime for an average company is probably more than acceptable in real-life scenarios.

This fact gives us the opportunity to assess and accept risks, which can significantly lower the price of on-premises infrastructure compared to the cloud. It is nice to build for perfect high availability, but it is also nice to save a bunch of money and just go for a coffee when something doesn’t work for a few hours, especially if there are no real long-term consequences for the business. ☕

3. Migration is expensive. 💸

Yeah, you heard it right. Moving to another datacenter with a similar kind of infrastructure was always a risky and highly expensive task, but moving things to the cloud makes it exponentially worse. Finding the right personnel to run your cloud services can be a significant burden for your migration project-not only from the financial perspective, but also from the fact that cloud is “easy” so everyone is an “expert.”. Not finding the right personnel for the task can be an expensive mistake long-term. And in such an environment, if people are cheap, mistakes tend to be even more expensive. 🚨

Sometimes, maintaining the status quo is the cheapest option, no matter what, and if money is an issue, think twice before planning your migration to the cloud. The old IT proverb “If it works, don’t touch it” didn’t come from nothing. 🛑

Now, let us discuss the major expenses of running server infrastructure in our own on-premises environment, without using complex math and philosophy… 🧮

1. IT personnel. 👥

As always, people cost money. And when you need to run on-premises infrastructure, you need many more people than in the cloud environment. If you are running 100 units of mixed services, you will probably need at least four system engineers-two seniors and two juniors. In the cloud, the same result can often be achieved with only two people because you don’t need specific expertise for various storage appliances and hardware overall, and even networking is simplified to the point that anyone with a basic understanding of networking can often configure complex and highly available networks in the cloud. And the larger the on-premises infrastructure, the larger the gap between personnel you need for on-premises vs. cloud infrastructure. 📉

2. Owning a datacenter “burns” money. Serious money. 🔥💸

Hardware, electricity, internet connection… Did you forget something? What is the cost of the annual air conditioning and electric generator service? Cheap, you say? And how about UPS systems? You forgot about them because their life cycle is 10 years? Check the prices for a new one, they aren’t cheap at all and you will need them sooner or later. Also, there is a bunch of other small stuff that adds up over time, like that guy who changes the bulb instead of IT personnel, because, well, “that’s not my job!” And there are always a lot of “that’s not my job!” people around the datacenter environment, but someone must do it. 🛠️

Also, datacenter space is not free even if you own the building. If you rent it, you need to pay for it, and probably not a small amount of money. And if your company owns the building, you are losing money again! Guess what, that space you used for the datacenter, those few hundred square meters could be put to better use. You could put people there who actually earn money for the company, or even better, you could rent the space to another company. There is a significant opportunity cost associated with owning a datacenter. 🏢💰

Now let’s discuss the benefits of the cloud! ☁️🚀

1. Monitoring and transparency. 🕵️📊

Everyone knows about scalability and flexibility overall. But let me put it in another perspective for you. We always think in the direction of scaling up our infrastructure, but guess what-you can also scale down! Yes, scaling down makes sense! For example, initial migration into the cloud is expensive, and just to keep it on the safe side, we always overcommit resources for everything. But one thing that the cloud enables us to do is to monitor anything that we do or run and always downscale to the most optimal point. On the other hand, it also gives us opportunities to scale up ahead of any trouble at any point, and all of that can be completely automated. 📈

Cost transparency also gives us an opportunity to segment costs among divisions inside our company, for example, between development and production segments. This unique opportunity gives us the ability to efficiently measure how much we spend on development in real time with high precision. Usually, on-premises cost division is close to impossible to implement, while in the cloud we can do it on many levels-like subscription, tags, resource groups, service types… 🏷️

Short-term, the cloud may be more expensive, but long-term, with good planning and optimization, it could come on par with on-premises infrastructure costs-with extra benefits, which is a huge bonus. 🎯

2. Ease of deployment. ⚡

Time is money, and losing time today can closely correlate with losing market share in highly competitive sectors such as AI or similar. Cloud environments give us the ability to adjust our business model in just a fraction of the time compared to on-premises infrastructure. And no, I am not talking about scaling; I am talking about the fact that in the cloud you can deploy your services right away, without needing to construct complex infrastructure like a Kubernetes cluster or highly available object storage with GEO replication. 🛠️

While on the topic of Kubernetes, let’s compare it properly to the cloud. Owning a Kubernetes cluster requires you to have highly trained personnel, which is not regularly available on the workforce market. But even if you can cover that part, you will probably struggle to achieve even 99% SLA, while 99.9% SLA will be just wishful thinking-no matter how much money you put into the “fire dumpster” called a Kubernetes cluster. On the other hand, using cloud services like Azure Container Apps or AWS Elastic Container Services can downscale all those problems to manageable levels. From extremely low initial cost to ease of deployment-you are covered. On top of that, Azure Container Apps offer a 99.95% SLA, if that is a “thing” for you. 🏆

To conclude – The cloud is not expensive, we are poor. 😅 For legacy systems, it is often more viable to stay on-premises from a financial standpoint, at least for now. But if we are building things from scratch, for small or medium-sized companies, building their own datacenters and investing money into on-premises infrastructure is probably the worst business decision they can make long-term. 🚫

All that being said, what are your thoughts? What are your reasons to stay on-premises or migrate to the cloud? 🤔👇

Domagoj Piškur
Domagoj

Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *