Comment by maccard

2 years ago

Because I can go from main.go to a load balanced, autoscaling app with rolling deploys, segeregated environments, logging & monitoring in about 30 minutes, and never need to touch _any_ of that again. Plus, if I leave, the guy who comes after me can look at a helm chart, terraform module + pipeline.yml and figure out how it works. Meanwhile, our janq shell script based task scheduler craps out on something new every month. What started as 15 lines of "docker run X, sleep 30 docker kill x" is now a polyglot monster to handle all sorts of edge cases.

I have spent vanishingly close to 0 hours on maintaining our (managed) kubernetes clusters in work over the past 3 years, and if I didn't show up tomorrow my replacement would be fine.

If you can do all that in 30 minutes (or even a few hours), I would love to read an article/post about your setup, or any resources you might recommend.

I spent zero hours on a MySQL server on bare hardware for seven years.

Admittedly, I was afraid of ever restarting as I wasn’t sure it would reboot. But still…

  • You still need to get mysql installed and configured though. On AWS, it's 30 lines of terraform for RDS on an internal subnet with a security group only allowing access from your cluster.

    For that, you get automated backups, very simple read proxies, managed updates of you ever need them. You can vertically scale down, or uo to the point of "it's cheaper to hire a DBA to fix this".

    • There was no AWS, and there was no Terraform. I did have a shell script that would install what was needed, compile my own version of Mysql, configure it, and go.

  • You better invest some time in migrating away from your 5.7 (or earlier) in that case, because it's EOL already ;)

You'll need to touch it again. These paid services tend to change all the time.

You also need to pay them which is an event.