I’ve been working for a startup for the past few months, which has been a (mostly) delightful experience compared with corporate hell. We use Azure every day of the week to deliver best-in-class data gathering and insights in a fairly niche market. This cloud experience has been a great eye-opener.
It takes a fair amount of time to create and wire up 3 VMs in a virtual network and peer them to MongoDBAtlas. This is just to serve up a website, let’s forget about an enterprise API server offering multi-channel content for now! If this was a home-project, there’d be no API, no managed DB instance. Everything would sit on one machine, a majestic monolith, so to speak.
This got me thinking – developers like complexity – who doesn’t like complicating simple problems to stave away the boredom of another CRUD app? We like complexity so much so that we create micro-services just so we can’t access our DBs directly. Of course we’re going to reach for the cloud at every opportunity – it’s shiny!
Now shared hosing might be a dirty word, but I’ve learned to embrace it. All my hobby applications are running on one (1) shared hosting package. This costs me £35 per year. Try to beat that cost per month for anything but the cheapest cloud options.
Plus I’ve got unlimited options for subdomains and unlimited Let’s Encrypt SSL certs. The only downside is my server back-end is tied to PHP, but with PHP 8 just arrived I’m not too unhappy about that. On the other hand, if you want a fancy React or Vue App then what’s the difference between an API written in Python or PHP anyway?
What we need is less complexity. I’ve been making random stuff for around 2 years now. From a ebay/gumtree crawler to find lost bikes to a bunch of calculators for my uni work. Sure, these are all lightweight applications, but any one of them might be useful to someone in their current state. All of these are hosted in my single package.
Forget about Cloud, go Shared and save a ton of money!