The convenience of cloud services is undeniable, but companies need to rethink if it’s financially sound long-term.
The cloud has changed the infrastructure of companies over the past 10 years. It has made experimentation and building more convenient and faster than traditional on-prem environments. Having on-demand APIs for an entire virtual data center greatly reduces feedback loops. It allows for experimentation that would not be possible if you always had to buy and set up hardware. But companies have forgotten it’s not cost-effective or performant for long-term usage.
Cloud providers have worked hard to convince customers that the only alternative to the cloud is to build a data center and hire security guards. But data centers aren’t the only option. If you don’t want to eat fast food, your alternative isn’t to plant a garden.
Fast and convenient aren’t always financially responsible in the long term. This applies to many parts of business and life. When you travel, staying in a hotel is extremely convenient and cost-effective. The hotel handles plumbing HVAC, and even makes your bed, but you wouldn’t live in a hotel permanently. The amount of money a hotel costs is more than a much larger apartment or house, and the lack of freedom to change the furniture becomes very restrictive the longer you live there.
When To Leave the Cloud
You’ve seen many reports of companies saving millions of dollars by moving a portion or majority of their workloads out of the cloud. When leaving the cloud becomes financially viable, the price point will depend on your workload, business requirements, and other factors, but here are some basic guidelines to consider.
Big cloud providers have historically made moving all your data out of their cloud cost-prohibitive. Saving millions of dollars on computing will not make sense if it costs millions to move your data.
The European Data Act has forced AWS, GCP, and Azure to offer free data transfer when leaving the cloud. This doesn’t only apply to European regions. Keeping your data “cloud-neutral” does take some planning, so it’s good to keep it in mind no matter where your infrastructure runs.
The estimates below are for an entire year’s projected monthly spend on computing (VMs and block storage). Moving out of the cloud may not be the best option if you cannot predict your spending for an entire year.
$50,000/mo or $600,000/yr
You have moved much of your infrastructure at this price and will probably spend significant engineering time on autoscaling. You may also have teams dedicated to performance engineering trying to squeeze out as much as you can from your provisioned resources.
But at this price, you could save money on your infrastructure by moving out of the cloud. The price per performance and total capacity will be better by renting dedicated servers in a collocation facility, a smaller cloud provider, or buying your hardware.
It’s impossible to calculate exact comparisons between providers, and any on-demand pricing is nearly impossible, but we can compare savings with available pricing.
For an estimate, we can compare a c3.medium.x86 from Equinix to a c6a.12xlarge from AWS. The Equinix instance comes with 1TB of local SSD storage and egress costs that are 45% cheaper. The AWS instance has 30% more memory than Equinix, but without considering network egress, the Equinix compute will cost 25% less ($1.50/hr vs. $2).
Saving $12,500 per month sounds excellent. You could save similar money by aggressively autoscaling, bin packing workloads more efficiently, or utilizing discounted compute (e.g., spot).
Even at small scales, saving can add up. Projects like Zig have found moving off of AWS to Hetzner provided them with significant savings and simpler architecture.
Most companies’ most significant spending doesn’t come from raw infrastructure costs. It comes from the people managing it.
$100,000/mo or $1.2M/yr
At $100,000/mo, you can save significantly on people’s costs. This extensive infrastructure will need multiple dedicated teams to manage it. An organization spending this much every month will likely have a dedicated account management team, infrastructure as code, and probably numerous specialized employees for IAM, network, and load balancing. You may even have a “Cloud Center of Excellence” team to help guide development teams and plan application changes.
Some of those positions exist with on-prem infrastructure, but the specialization and extra training required to do those jobs in a cloud means those employees are likely paid more than their on-prem counterparts. The convenience of the cloud makes it easier to provision infrastructure that often turns into larger, more complex environments that need more people to manage them.
This much spending will require you to cost-optimize your infrastructure and more aggressively autoscale or figure out how to buy more reserved instances and spots. These changes come with more engineering effort and validation, so you can hopefully reduce your spending by up to 40%.
However, cloud computing costs more than 40% more than buying hardware. Buying a server and renting collocation space is 10-30 times less expensive than cloud instances.
You would have to reduce your cloud spend by 90-96% to save as much money as buying hardware. Reserved instances and spots may save money, but never that much. Budgeting hardware and collocation space will be easier to engineer and more predictable for your long-term projected spending.
Spending this much money also means you are likely continuously upgrading based on your cloud provider’s upgrade requirements. You will frequently upgrade operating systems, database versions, Kubernetes clusters, and serverless runtimes. And you have no agency to delay them until it works best for your business.
But saving people’s costs isn’t the only benefit. A frequent phrase when using the cloud is “opportunity cost.” Not being in the cloud will cause you to lose the opportunity to make more money. There’s another tier of saving that can still give you opportunities.
$250,000/mo or $3M/yr
Spending this much on cloud infrastructure and your problems go beyond infrastructure or people costs. When you’re spending this much money, you have significant complexity. You will save money by reducing complexity and increasing speed to deliver business value.
This is a story many people have heard from hey.com’s publicly documented migration from AWS. Their AWS bill was about $3M/yr, and they reduced their infrastructure bill by 66%. They are saving $2M every year.
During their migration, they also reduced the complexity of the process. They moved off of EKS with required upgrades three times a year and onto their own VM and container placement. They greatly simplified how they maintain and run infrastructure and want to move even more things out of the cloud.
When To Use the Cloud
These prices are estimates based on companies we’ve talked to and case studies that have been shared publicly. But this doesn’t mean they apply to everyone or the cloud doesn’t have use cases.
The cloud is still a fantastic place to learn how to do new things. It’s a great way to experiment and extremely useful when you can’t calculate how much infrastructure you need long-term.
It has many high-level services that some companies don’t have the expertise to run themselves. But if you depend on technology, you should know how to use it and how to maintain it. Without the expertise, it would be like buying a car but not knowing how to drive.
Is On-Prem as Hard as They Say?
In the last 10 years, hardware has become much faster and more reliable. Options for where to run it and how much responsibility you need to maintain it have a lot more flexibility. You no longer need dedicated teams to manage hardware.
On top of that, open source software has matured to help maintain infrastructure and applications anywhere. Software like OpenStack and Kubernetes have standardized APIs for VMs, storage, and applications. They’ve created integrations that make it easier to utilize infrastructure beyond compute dynamically.
Moving out of the cloud doesn’t mean you stop using services that add value. Just because you don’t use EC2 doesn’t mean you won’t use Google Workspace to manage your email and documents. Sometimes, paying for convenience makes sense.
At Sidero Labs, we’re big fans of using the right tool for the job. We built Talos Linux to minimize the Linux expertise you need to maintain Kubernetes nodes.
We created Omni to make it easier to manage Kubernetes clusters from anywhere — on-prem or in the cloud. And unlike the cloud providers’ on-prem infrastructure services, we don’t have a motive to get you to move to the cloud.
You need to decide what the convenience is worth for you. How much will you pay for it, and when is it worth taking more responsibility for what you need?
Taking a Lyft is incredibly convenient, but owning a car, getting a driver’s license, and paying for insurance gives you freedom. It’s more work upfront, but long-term pays off for sustained, frequent usage.