Earlier quoted context omitted.
Go is a very hard language to work on as a team. It does not push a lot of conventions on you, and when it does, they just seem weird and anachronistic. Even the original k8s codebase was notoriously horrible in Go, and that was "from the source". Ironically, HashiCorp has a better Go codebase, and that's where I picked best practices from, not from Google. The problem with Go is that the Googlers fail to challenge s…
> As someone said, Go is the new C, skipping decades of new language design concepts. Well, some are doomed to repeat their errors. In fact C was even crappy for it's own time.
Nomad vs. Kubernetes
331–340 of 369 posts
Re: Nomad vs. Kubernetes
#332Earlier quoted context omitted.
Fun fact: There are formers devs among Ops, and sometimes vica versa. Go binaries are statically compiled usually, no VM or managed. It's a simple language for simple solutions, which is often underrated. Not that versed in Python, but there is CPython. Bash is totally ok in the hands of someone who uses it for good ;) Agree it has too quirky syntax when you need complexity, so not good for large stuff. Footguns are…
Go binaries still include the Go runtime which handles GCing etc., much like Python. They're not VMs, but it's really a semantic difference, if you're comparing it to Java, especially now that GraalVM native compilation is gaining popularity.
Re: Nomad vs. Kubernetes
#333Earlier quoted context omitted.
And what is the replacement for it?
We rearchitected. At one workplace, we built and distributed our own service. At another, we shifted to semi-automated more static lists of servers for roles; those servers were much less dynamic.
The exceptions are the few cases where you know you will forever only need some strict set of features and your own solution can provide them by way more simple means than the in comparison "fat" off the shelf solution.
I'm not sure service discovery in a cluster is one of those cases.
Re: Nomad vs. Kubernetes
#334Re: Nomad vs. Kubernetes
#335Earlier quoted context omitted.
I'm not sure it's a good idea to use Google's "monolithic cloud operation system". Such a monoculture has the same issues as MS Windows had, even for the same reasons. The "Unix Way" of simple tools interacting seems more reasonable. Especially when it comes to lock-in effects.
K8s itself is divided in multiple parts, where you can customize to your own liking, and you can swap parts if you'd like as long as the APIs are similar. It's very much built the UNIX way.
Re: Nomad vs. Kubernetes
#336Earlier quoted context omitted.
You should be ok with consul, ansible and templating your docker-compose files. Might take some time to set it all up, but should be ok.
Thanks for the suggestion. Any suggested starting points for my research? DDG search for "ansible docker-compose" brings up some suggestions like [1] and [2] but I'm curious if you have other suggestions. And just so I understand how these work together - I'd use Jenkins+ansible to push containers to my servers, I'd run consul within docker as well, and ... would Ansible register services with consul as it pushes the…
[1] https://jinja.palletsprojects.com/en/3.0.x/
[2] https://docs.ansible.com/ansible/2.9/modules/template_module...
Re: Nomad vs. Kubernetes
#337Earlier quoted context omitted.
Could you expand a little on your problems with Consul? (I have no experience with it myself).
It's been a while, so I'm fuzzy on some details: * in a legacy system, a server, perhaps with the leader node, filled up disk space and became unhealthy, the consul agent kept reporting it and itself as healthy, and failover and gossip generally wedged * in a dev environment, after we replaced some servers in the cluster, the other nodes noted cert changes and refused to work with the new servers * second-hand, in se…
Re: Nomad vs. Kubernetes
#338Earlier quoted context omitted.
Whoa. I never knew about --prune.
Yeah... I'm not really sure where this idea of not being able to use the tools available out of the box to deploy apps and do networking comes from. I deploy YAML. If I feel like my YAML is too big, I DRY it using kustomize. I can use --prune if I'm worried about stuff sticking around in the cluster. For networking, I... don't do anything? We get DNS built in. Just use the service name. What else is there to do?
Re: Nomad vs. Kubernetes
#339Earlier quoted context omitted.
A lot of the cloud providers don't bill directly for kubernetes management, instead it's just the node resources. Either way, as another comment points out, Rancher and many other solutions make the orchestration of creating your own Kubernetes cluster really boring. We run a few kubernetes clusters on premise, and for the longest time it was just 1 person running some Kubernetes clusters.. we even have other teams i…
Which cloud providers don't? I'm only familiar with AWS and GCP, and they both have a base hourly charge per-cluster.
Re: Nomad vs. Kubernetes
#340Earlier quoted context omitted.
> As someone said, Go is the new C, skipping decades of new language design concepts. Well, some are doomed to repeat their errors. In fact C was even crappy for it's own time.
What are you even talking about? Plenty of languages were around then and C dominated all of them because it let people write great software.