> Realistically I wish someone would just write an orchestrator that runs Go processes and nginx and glues it all together.
Not quite what you're asking for but you can get close, on bare metal, with:
- ssh to set up a systemd service, scp to deploy your binary, then ssh again to restart your service
- dokku (containers are optional) with its cli
For the first option, once you've set up nginx on the server you can easily automate the addition of a new systemd service for a new app with a simple shell script. That done, it is a matter of less than a minute to add a new app and even quicker to update and restart an existing one.
For the second option, it is installed with a single bash command and supports Heroku build packs which means for many systems there's virtually (or exactly) no config needed. Just run the cli from within your app folder. If you do want containers they are automatically found and deployed too.
I've done most deployment methods from the simplest (above) through to complete Terraform builds, and once they are automated all that matters is that the method you choose supports your needs. Go for the simplest option that does that.
I don't agree "container" is marketing-speak; you could say it was appropriated, but I was using linux-containers in early 2000s when it was still a kernel patch. We all knew that bare metal offers a lot and our servers are underutilized most of the time, and VMs were considered a heavier option.
I still think using "container" lose the fact that it's just a process with some tweaks :)
I'm not saying "marketing" as to say it was coined by non technical people, but rather that it's a way to "sell" the feature. Like you go see your manager and say "I'm going to containerize the application" vs saying "I'm going to add some isolation settings to the process"
They practically never do, nothing that you use or would read about it assumes that you do. That makes this response a little pedantic, even though it is strictly true.
> Nobody said you can't operate with old-style VMs and ansible or puppet or whatever, but tbqh yes, you're going to move slower.
To stay in your metaphor, moving faster is not a guarantee to arrive at your target earlier. As long as everything works fine, using k8s is great. When you have to dig deep to solve a problem, a stack with less layers might be a huge advantage.
Sounds like you moved your complexity from machine virtualization to container orchestration. Doesn't sound like you won anything, least of all agility.
Is everything about to move fast? When you read a book, is it a race to get to the last page? When you sing a song, is the goal to get to the last word as soon as possible?
Jeez really? We have like, binaries deployed to machines over here.