Microservices Are Not for You

Microservices are one of those concepts in webdev that has gained a life all its own, and is now considered a best practice by the industry, the preferred way to build new apps. In my experience, this is especially true for NodeJS developers, but it’s definitely not limited to them.

I disagree with this position.

What is a Microservice?

To keep things simple, we’re going to use a simple definition of microservice:

Linkding as a poster child for self-hosting

I recently installed LinkDing on my Nomad cluster, and I am exceedingly pleased with it.

LinkDing is a self-hosted bookmark manager. My setup is using the official Docker container, with a dynamic host volume to ensure the DB doesn’t go poof when I inevitably need to restart the task.

The core features that I care about are:

  • Official container, meaning I don’t need to build my own or rely on someone else to package up the app and build something that might not work properly
  • Documented API, allowing me to fold, spindle, and mutilate my data however I want, with whatever workflows I want now or in the future
  • Tags
  • sqlite database, which simplifies backups considerably
  • PWA for mobile, meaning I don’t need a separate app on my phone

Spinning up the container was extremely simple, and required almost no effort. It’s built in Django, which means if I really need to get my hands dirty, I have the relevant experience to debug and make PRs for it. The Django admin is also nice for fixing low-level data issues, such as “I really should have made these tags properly cased, I need to modify the tag name itself”.

Document Everything

2025-04-15

Document everything.

No, seriously. Document everything. You think you’ll remember what you’re doing right now. You think you’ll remember exactly how machine users should be set up in AWS, because it’s so obvious, how could you possibly forget it? You think you’ll remember exactly where you’re storing that system backup configuration, and how to decrypt it, because it’s the most logical thing you ever came up with. It makes perfect sense, Future You would be an idiot to not remember that.