Hacker News new | ask | show | jobs
by moondev 2326 days ago
> With Go I can create a single binary, produce a DEB or RPM and deploy it using Ansible. If I need to update the software I make a change and push it through the CI/CD stack, resulting in another binary, then another DEB/RPM, then an updated set of servers. I then restart a service... so hard /s

What's so hard about sticking the binary in a container? That way you don't need to worry about installing it or generating debs/rpms, everything it needs is in the image.

> If I need to run micro services, then, you know, just run them? They're all statically linked, singular binaries on disk. If I need to run 500 of them, then I just run them. Each gets whatever port it can find and registers its self with (something like) Consul and just like that, I'm DNS query or an API call away from knowing what services I have, where they are and what port to talk to them on.

So finding a free port and registering itself with Consul would need to be built into every service you run. Just run them in containers and let k8s handle the service discovery.

I see what you are saying, but k8s really makes the pattern you are describing easier. It also standardizes it so every company is not managing home-grown ansible and consul mash-ups.