I've moved most companies away from using others stuff

Today we use Hertzner and OVH and roll out our own solution whenever possible.

Running lean and mean.

Depending on such third party services is a trap.

Been there, done that, and I still find value in 3rd party services despite the occasional need to migrate.

Self hosting is the way to go if you need to keep monthly services spend as low as possible but you have extra time to spend, such as with a hobby project.

Whenever I’ve worked on real startup projects, self-hosting became a constant source of little tasks for the engineering team to mix into our weekly workload. There were always little tasks to upgrade this service, investigate why that one server was slow, or to migrate something to a bigger server because we were bottlenecked on some resource. Then we had to manage backups and do our recovery drills, along with changing the backup strategy every 6 months because someone had a better idea.

When we started to add up all of the time spent managing everything it starts to look like spending dollars (of engineer time) to save pennies on SaaS bills.

Probably not a popular thing to say on HN, but I now try to stay away from teams that go to extremes to self-host everything because I just want to get my work done, not also be constantly involved in running the underlying services. I do it for my own hobby projects at home but I don’t want to be doing it at work where we have money to spend to lighten the load. If the cost is the occasional migration to a different 3rd party service that’s not a big workload relative to everything involved in self-hosting.

That is something of a broken promise in the SaaS world; it was supposed to be convenience but instead it became a hundred broken integration points as you struggle to keep up with deprecated APIs and acqui-hires killing off shims you wouldn't have needed if everything had been on-prem to begin with.

What software do you use to run your CI?

Not OP, but to me the answer is:

  - gitea
  - woodpecker CI
  - my own docker registry
  - portainer running on my docker swarm

I then define the docker stack in the git repository, and CI builds the images and pushes to build the new image to the docker repository. The portainer API allows to deploy a stack, with the image tag as a parameter.

not op either, github actions, self hosted runner on bare metal with lxc containers for each runner.

Cost savings are insane and the speed of latest amd epycs are miles ahead of the default ci instances on github and other places.

[deleted]

This is the way.