What do public cloud computing and the 2008 subprime bond market have in common?
Should you use dedicated servers, or should you rely on the public cloud for your website, business applications, and online services you sell to your clients?
All it takes for a developer or admin to spin up a server in the cloud is a credit card and a few dollars. No need for a P.O. or management approval. It is now as easy to deploy hardware as it is to deploy Open Source Software (because the latter is free and downloadable).
It is as easy as it was to buy mortgage-backed bonds from Wall Street in 2008, as easy as it was to secure subprime mortgages with low-credit-scores.
There is another common denominator between the cloud and the subprime market. It has to do with the way the cloud makes money.
The cloud chops up what servers do into components called services*. These services can be used individually or recombined to create tiny or giant virtual computers. In other words, to create scalability and elasticity.
The cloud re-packages and re-brands, just as Wall Street repackaged risky subprime mortgages into AAA bonds.
- The "services" that you get from the cloud are not necessarily the same as what you would get from a server you own. For example, a CPU core in the cloud is not the same as a physical CPU core in a real server. It is merely a CPU thread (of which there are two per physical core). A shared network interface in the cloud is not the same as a dedicated card in a physical single-tenant server...
- The price you pay per "service" is higher in the cloud, and costs rise exponentially when your traffic goes up and you must switch service tier. Paying only for what you use and economies of scale aren't enough to make “Infrastructure as a Service” the cost-leveling panacea it is held out to be.
Cloud computing is not a scam or a bubble, but it is not for every business and every workload either. For midsize B2B businesses, owning or renting servers is generally less expensive and more reliable.
Combining “compute”, storage, and databases in the same server is more efficient and less fraught with lags and risks (security, compliance, etc). You can control the location of the servers that you own or rent and thus control your latency. Your ability to do this cost-effectively in the cloud is limited.
With EPYC processors**, ever-faster ECC memory, and NVMe SSD drives, servers can handle so many simultaneous connections* that the elasticity provided by the cloud is rarely justified. Adding disks, memory or cluster nodes may be all you need for scalability.
Maintaining multiple replicas of your VM's or containers on mirrored-disks in a cluster of three or more physical servers will provide you with the same or better availability and self-healing capability as what you would get in the cloud. (Make this multi-region if need be). Your TCO would be much lower.
Basecamp cut its bill from $266K to 1.3K/month when it left AWS in 2022 (no typo!).
Managing your own infrastructure takes a bit of knowledge and trial and error, but so does navigating innumerable obscure options in the cloud and keeping costs down. It is your present and future workload and the value your business derives from its online activity that will determine the best course of action.
A 2023 PwC report found that 80% of business are still struggling to realize results in the cloud. The majority of the businesses surveyed in 2022 did not meet their targets of cutting costs, improving resilience, and driving new revenue.
According to a Datalink/IDG survey***, "nearly 40% of organizations with public cloud experience report having moved public cloud workloads back to on premises servers, mostly due to security and cost concerns." DropBox doubled its profits when it left the cloud in 2017****. Learn from their experience.
If all you need is to run applications or services exposed to the Internet, and you do not own server, renting VPS’s in the cloud may be your best option.
Cloud magic does not exist. For elasticity and opex, rely on us instead.
* Compute (CPU), Storage (disk space), Memory, Databases, Networking, CDN/Cache, DNS, Firewall, Analytics, VPN, AI, etc
** Thanks to the AMD EPYC Rome 64 core processor HP Enterprise claims it has doubled the number of virtual desktops supported on its servers from 300 to 600.
*** https://searchdatacenter.techtarget.com/photostory/450426111/Five-questions-to-guide-a-cloud-vs-on-premises-debate/2/How-stringent-are-your-legal-and-regulatory-requirements
**** https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/?utm_source=pocket_mylist