Does domcloud.io still worthy? (let's talk monolithic vs serverless)
If you compare domcloud.io vs popular rivals like vercel.com or netlify.com, DOM Cloud definitely get squashed up, there's no way to compare a hobby project with some really serious startup companies. Vercel and Netlify have one thing in common: they're abstractions of serverless products from tech giants either it's AWS or GCP.
For the reader: I hope you already know what basically monolithic and serverless is, if not, read here. And you may not know about DOM Cloud, it's basically my own hobby project to host websites, it's run on monolithic architecture just like another hosting business does.
Pros and cons of serverless
Definitely, we can't compare uptime quality between monolithic and serverless websites. Serverless is the winner for uptime and it's load resilient over monolithic no matter how it is set up, but this is also a trade: Serverless is complex, that's why both services exist to make it easy for us.
But still, there are still limitations. Serverless websites are immutable, you can't edit files once deployed, because serverless apps might be already replicated over multiple servers. Also, you can't have a persistent connection (WebSocket) and you have to make sure your server code is really idempotent (aka. identical) no matter how their local files and memory are set up or changed.
This is why it's common to use Node.js for serverless apps because with Node.js you are forced to use an external database somewhere even for simple things like sessions. This is very different than, say PHP. Which you just use
start_session() then forget how it really works, because PHP loves to write things in files, just like ancient times. This is why practically you won't see any serverless apps written in PHP.
There are many other services that help to lift the serverless architecture limitations, like managed databases or authentication that comes from Firebase or Supabase. You can also use Pusher for handling WebSocket notifications. Those services are easy to get used to (I think) and can easily scale up once your project does.
But, at what cost?
With these specialized services, it's easy to get up and running any serverless website. No doubt, probably it's the future. They are also generous with their free plan. But once you go production and scale-up, prices will be unpredictable. Just for a starting point, Vercel + Supabase costs about $45 a month. Okay maybe $45 a month is cheap but this will only go up if usage gets high. And remember, they're behind tech giants like AWS. I heard people can easily get thousands of bills in AWS usage. Why it would be any different if you're behind an abstraction service that also runs on AWS?
Maybe I'm overrating things because these companies must be successful if they had, like thousands of dollar bills in AWS usage. I think this is true if they're a tech company. But many are don't. I work with many people and trust me, they just want their website up and running. You may be thinking because these services are free to start, you just leave them as it is once you lose the freelance contract? You would be a moron, I think. And remember, companies (who are not tech companies) have other bills to pay.
Now, what about monolithic? It's simple as spinning a VM. You can start with a $10 VM instance and pack any software that you want. This takes skill, of course. But many software like Docker should handle this easily. With a monolithic setup, you bear the risk of downtime if there's a misconfiguration or regional downtime. But hey, it's cheaper and the good thing is, you give the company an option if they want to stay in the cloud or going on-premise. This is a big deal that's often overlooked. Because you can't do that with serverless.
I'm maybe biased while writing this but I still have concerns with going serverless and this is it. And I'm not alone.
So domcloud.io still worthy? Yes, as I see it's still useful. Still, it's a no match if you compare it with already hugely successful services like Vercel. But, time will tell as I'm improving it (it's a solo hobby project anyway).