Updated 15 Feb 2022
If you are running a business where IT plays a large part in revenue generation (e.g., you deliver your product to clients via a SaaS model), cloud infrastructure is the best way to go. The simplest way to decide whether you should use cloud services or not is to consider this: If you don’t, your competition will, and you will eventually find yourself as an underdog.
If you tried to identify the three main reasons for businesses switching to the cloud from the isolated on-premise model (which is still necessary in some cases), the following three are likely to come up:
A startup gets its infrastructure up and running in no time at all these days. Everything works as if you just needed to plug it in, like an iron and there are sockets everywhere. There’s no waiting for hardware delivery, no negotiations, no reviewing of SLAs, and no time spent estimating capacity (yet). You just focus on building your product, and the cloud makes sure clients will have access to it. Knowing what a pain infrastructure can be at the kick-off stage, the maturity of cloud services is probably the single biggest reason for the billions in revenue cloud providers now earn annually.
However concerned we are with the margins and profits of AWS and the likes, cloud services are definitely more cost-efficient than any hybrid/on-premises alternatives. Yes, it gets more difficult to manage as your business grows, and if you are not vigilant with your infrastructure expenses, this may become a real burden. But, if you start with a frugal approach, you won’t have to worry about this for a long time – long enough to “cross the chasm” and make your business operational.
This is where the real treat starts. Not only do cloud providers give you infrastructure via a “pay as you go” model (as if you were buying extra cellular traffic from your telecom provider), they also offer you native services.
What kind of services? You name it. OCR, video processing, authentication and 2FA, notifications, file storage – whatever you may need to complement your product’s core features, you’ll likely have access to it.
So, when you start using cloud infrastructure, these services will be readily available to you. Moreover, it all starts working surprisingly quickly, resulting in a very happy team, which brings us to the second part of the journey.
Any successful business model has two sides, and cloud services are not an exception. Profits must be coming in, so clients need to spend, ideally, as much as they are willing to and not less. So where does the trouble come from?
Last year, the total number of services Amazon provided in the scope of their AWS infrastructure was over 150. Today, it already exceeds 200 and counting. The same approach (though slower pace) applies to other large cloud players, such as GCP and Azure.
Does your business need this many services? No. Is it easy to pass up these readily available offerings as time goes on? Absolutely not.
It’s like finding yourself at the premium buffet. You are not that hungry, but a plethora of delicious food offerings are right there, ready to eat – so you eat. Your infrastructure bill gets inflated frighteningly fast. A couple of zeros can be added to the end of the monthly payment amount in a matter of months.
Cloud infrastructure is an extremely profitable business, partially due to the boom of venture capital, partially due to large players, such as Meta, making it work for themselves. There are various speculations on the actual size of AWS YoY margin, but it is probably safe to assume that it exceeds 65%. Some experts estimate it to exceed 2000% for certain services.
Naturally, such results mean businesses are overpaying, and it is not easy at all to spend less while scaling your business.
This is probably the most dangerous scenario when it is applicable. The more integrated your IT services are into the particular public cloud, the harder it will be to go without.
It is easy to plan for Kubernetes-first environments, which are portable from public to hybrid to on-premises setups, but maintaining such an approach requires discipline. Each additional cloud service must be reviewed, and the question must be asked: what if we move off this provider later? How much will we lose in terms of turn-key services and what we will do about it? What are the alternatives?
How do you benefit from cloud infrastructure but stay agile strategically? You need to invest time into it. Infrastructure, security and compliance must be part of the overall business strategy, and alternatives to the quick wins (such as connecting one more public service) should always be considered.
Are we more sensitive to the growth of infrastructure cost as our CPU demand grows? Maybe we should consider services like Civo from day one then.
Are we going to scale fast and need a serverless database that scales automatically? We should plan for DynamoDB or Planetscale then, and maybe not for AWS Aurora.
Are we going to store a lot of platform data in files? Should we then maybe consider Wasabi storage and not S3?
Such questions need to be answered in a timely fashion, but more importantly, these questions need to be asked first. This will allow your business to grow in a controlled environment and not be hit with infrastructure and topology issues when you really need to be focusing your efforts somewhere else.
Our newsletter (you’ll love it):