Hacker News new | ask | show | jobs
by marginalia_nu 1105 days ago
If your problem is needing to synchronize a complex mesh of services when you upgrade stuff, the solution is to not have a complex mesh of services that needs managing.

I have a dist-directory, in it is a directory for with each release version, and a symlink current pointing to the current release. To deploy a new version, I create a new directory, unpack each service, and then redirect the symlink ... then "systemctl restart service-name".

1 comments

Just read your article: https://www.marginalia.nu/log/09-system-upgrade/

You got rid of a lot but where did the functionality for those tools go? I understand wanting to get rid of containers & Kubernetes, but did you rewrite/bake the functionality in to your app? or maybe not care about monitoring and logs temporarily for now?

I mostly just got rid of the functionality. I do logs with grep and monitoring with vanilla prometheus.

Kubernetes and the surrounding ecosystem can create many of the problems they set out to solve.