News for hackers. Stuff that matters.
Re:Container technologies at Coinbase: Why Kubernetes is not... by nemothekid on Monday June 08, 2020 @05:06PM (#23460810)
One thing that is regrettable about K8s winning the orchestration wars so remarkably, is that it pretty much killed all other solutions. Swarm is dead, Nomad doesn't seem like it has much community support and Mesos feels like it's on life support. Mesos still has a lot of people working on it however, but the perception feels different.

Personally I've found Mesos much easier to manage, secure, and operate than k8s. However, when it first came out all the cool kids were using it, then most of them jumped ship to k8s. AirBnB's Chronos is now pretty much a dead project, Mesosphere's Marathon is now gimped (no UI) and major features moved into DCOS. At the same time, Mesosphere (now D2iQ?), now seems like it's more focused on k8s.

k8s is everything plus the kitchen sink, and managed k8s isn't the killer feature I thought it would be. I don't blame people for not jumping on the k8s bandwagon at all.

Re:Container technologies at Coinbase: Why Kubernetes is not... by michaeldwan on Monday June 08, 2020 @06:08PM (#23461351)
We're using Nomad to manage a large fleet of firecracker vms at fly.io. It's not as robust as k8s, but I think that's a feature. It's well documented, extensible, and predictable. Not a big community, but hashicorp folks are responsive on GitHub.
Re:Container technologies at Coinbase: Why Kubernetes is not... by schmichael on Monday June 08, 2020 @09:44PM (#23462789)
We're working on community! There's an office hours tomorrow: https://mobile.twitter.com/HashiCorp/status/1270126346103132...

There's also https://discuss.hashicorp.com/ and we're discussing (harhar) how else to improve our community relations.

Re:Container technologies at Coinbase: Why Kubernetes is not... by michaeldwan on Tuesday June 09, 2020 @12:21AM (#23463612)
That's great to hear!
Re:Container technologies at Coinbase: Why Kubernetes is not... by mpfundstein on Monday June 08, 2020 @05:18PM (#23460923)
Nomad, Consul + Swarm is still a lovely solution and I prefer it a lot to K8s. K8s is a big monolith and often way too complex for my personal use cases. I hope Hashicorp sooner or later builds a proper replacement for Swarm so that we can have overlay networks without hassle. I know there is Weave, but never tried it.
Re:Container technologies at Coinbase: Why Kubernetes is not... by tie_ on Monday June 08, 2020 @05:56PM (#23461253)
K8s is a lot of things, but a monolith it is not. Quite the opposite - the complexity comes from the large number of relatively simple components interacting in various ways.
Re:Container technologies at Coinbase: Why Kubernetes is not... by kitotik on Monday June 08, 2020 @05:55PM (#23461240)
Which part of Swarm are you looking to replace?

Nomad already does the container part, and Consul Connect is the networking overlay / service mesh. Work is being done to get Nomad better integrated with Connect.

Re:Container technologies at Coinbase: Why Kubernetes is not... by schmichael on Monday June 08, 2020 @09:40PM (#23462767)
Broader CNI and multi-interface networking support coming in 0.12!

Would love to hear what else you miss from swarm: [email protected]

Update: Honestly if you haven't tried out our Consul Connect integration, please do. mTLS with just "connect { sidecar_proxy {} }" stanza and Consul running: https://www.nomadproject.io/docs/integrations/consul-connect...

Re:Container technologies at Coinbase: Why Kubernetes is not... by corford on Monday June 08, 2020 @05:46PM (#23461172)
FWIW, where I work we're going with Nomad over K8S. It gives us everything we want and nothing more (plus it's from a source we trust and love: HashiCorp).

The nice thing with Nomad is, thanks to it's straightforward design/approach, it should be easy(ish) in the future to swap it out and go with something else if we outgrow it (or HashiCorp abandon it for some reason).

Re:Container technologies at Coinbase: Why Kubernetes is not... by jatins on Tuesday June 09, 2020 @12:09AM (#23463551)
I tried using Nomad once after being a little worn out by Kubernetes' complexity. For some reason, the Nomad abstractions didn't click on the first couple attempts. In comparison, Kubernetes' abstractions mapped 1:1 to my understanding of the service oriented architecture.

I'd have probably gotten used to it had I spent more time using it, but it'd have taken some rewiring of thinking process.

Re:Container technologies at Coinbase: Why Kubernetes is not... by lsofzz on Tuesday June 09, 2020 @06:49AM (#23465438)
> I tried using Nomad once after being a little worn out by Kubernetes' complexity. For some reason, the Nomad abstractions didn't click on the first couple attempts. In comparison, Kubernetes' abstractions mapped 1:1 to my understanding of the service oriented architecture.

<3 Nomad. However, Nomad only satisfies a really tiny part of Kubernetes ecosystem which is the ability to pack containers and schedule them efficiently in a cluster; Plus, it scales really well. Kubernetes provides a bit more than that.

Re:Container technologies at Coinbase: Why Kubernetes is not... by whatsmyusername on Monday June 08, 2020 @06:35PM (#23461547)
Swarm being dead is news to me, we use it for our on-prem bits without issue (though we only have a few of them).

We use ECS for the majority of our container orchestration and love it.

Re:Container technologies at Coinbase: Why Kubernetes is not... by p_l on Tuesday June 09, 2020 @05:02AM (#23464980)
I think it's more that Mesos committed suicide by DCOS - which sapped the strength from the community, something that first Google, then CNF work hard at avoiding.

Another thing that might have been just me, but I really couldn't see any structure in Mesos deployments. Yes, you could run X, Y, Z on top of it to get various features, but they all had separate APIs, separate input files, etc.

Having used k8s before that it was a huge blow, since at the time (late 2018) I was used to think that Mesos et al were more mature and advanced, and instead encountered k8s circa 1.2 with less cohesion :/

Re:Container technologies at Coinbase: Why Kubernetes is not... by rtempaccount1 on Monday June 08, 2020 @05:17PM (#23460913)
I'd agree that k8s has a lot of functionality built-in, another important thing to realise is what k8s doesn't do.

In addition to the well-known integration points (Container Runtime/Network/Storage Interfaces), there's things like the lack of a good built-in user authentication mechanism with Kubernetes, which means you pretty much always need some external authentication service for your clusters.

That's not too bad if your on one of the big managed providers (GKE/AKS/EKS) but can get complex for people who want to deploy on-prem.

Re:Container technologies at Coinbase: Why Kubernetes is not... by snuxoll on Monday June 08, 2020 @07:19PM (#23461849)
> That's not too bad if your on one of the big managed providers (GKE/AKS/EKS) but can get complex for people who want to deploy on-prem.

Go spin up Keycloak, join it to your user-directory of choice (or not and just use the internal directory), configure it as your authentication provider, done.

Re:Container technologies at Coinbase: Why Kubernetes is not... by raesene9 on Tuesday June 09, 2020 @03:25AM (#23464529)
Right so in addition to the complexity of running k8s (which is the general point of the post) you now have to learn about OAuth servers and LDAP integration.

In many corporates you also now have the challenges of cross-team/department work, for the k8s team to work with the AD team to get it setup.

And still that won't get you away from the problem that without a first class user / group object in k8s people often end up running into problems with JML processes over time and mismatch between AuthN and AuthZ...

Re:Container technologies at Coinbase: Why Kubernetes is not... by threeseed on Monday June 08, 2020 @08:00PM (#23462179)
Or use Dex: https://github.com/dexidp/dex

Which has the advantage of not needing any external databases.

Re:Container technologies at Coinbase: Why Kubernetes is not... by snuxoll on Monday June 08, 2020 @10:13PM (#23462969)
That works too depending on your requirements. Either way, authentication is not a hard problem to solve.
Re:Container technologies at Coinbase: Why Kubernetes is not... by kissgyorgy on Tuesday June 09, 2020 @06:39AM (#23465386)
LOL. You clearly not worked with SSO or anything a bit more complex. It's a pretty hard problem, there are even companies whose whole portfolio is around authentication only!
Re:Container technologies at Coinbase: Why Kubernetes is not... by abhorrence on Monday June 08, 2020 @05:22PM (#23460962)
Chronos wasn't killed by k8s -- it was killed by Airflow.
Re:Container technologies at Coinbase: Why Kubernetes is not... by gen220 on Monday June 08, 2020 @06:01PM (#23461301)
We‘ve been mostly happy users of Mesos, Apache aurora, and consul. It works pretty well for us (200+ engineers). We have maybe 5 people dedicated to keeping it all alive, and they’d be able to maintain the pieces of it that we use. Aurora configuration kinda sucks, but I think job configurations might just suck in general.

That being said, it has been concerning to us to see the big institutional players move off of mesos and aurora. We wouldn’t like to be active maintainers, but we could.

I think that’s the main difference between Mesos and K8s: with K8s, we wouldn’t want to maintain it, and we wouldn’t be able to (since it’s so large). Somehow mesos and aurora feel more manageable.

Re:Container technologies at Coinbase: Why Kubernetes is not... by harrisonjackson on Monday June 08, 2020 @06:29PM (#23461509)
5 dedicated folks = a lot of dollars. $500k-1M? Do those 5 folks keep things up reliably without burning out?

Honestly curious - never used k8s or Mesos* in production and we have a much smaller team managing a much smaller infrastructure, I am sure.

edit: meant to say mesos but applies to both

Re:Container technologies at Coinbase: Why Kubernetes is not... by gen220 on Monday June 08, 2020 @07:49PM (#23462095)
Yea 500k-1m is probably correct.

But, to be fair, they’re not dedicated to only keeping the lights on, they probably spend 20% (1 eng year per year) of their collective hours fighting fires, so I don’t think burnout is too much of an issue. The remainder of their time is spent maintaining libraries and web interfaces. They’re a pretty standard “platform engineering” team.

In my perspective, it doesn’t matter what technology you go with (K8s or otherwise): a responsibly-managed your platform team requires at least one team with a full on-call rotation (i.e. at least 4 engineers), depending on how wide your golden path is.

Re:Container technologies at Coinbase: Why Kubernetes is not... by ridv on Monday June 08, 2020 @07:45PM (#23462068)
I'm a former Apache Aurora maintainer. Aurora has been (and continues to be) awesome for us and I'm so happy to hear other folks are still using it and it's working out for them.

Funny that you mention the configuration part. At the most recent KubeCon in San Diego, CA, the folks at Reddit gave a talk in which they said they got sick and tired of dealing with yaml. They accidentally went on to recreate Pystachio as the remedy so I think you're right on the money with your statement.

When the Project Management Committee (PMC) voted to put Aurora in the attic we were all super bummed but we just ran out of interested developers :(.

The PMC agreed to kick off an "official" fork but so far it's just me maintaining it: https://github.com/aurora-scheduler/aurora

Re:Container technologies at Coinbase: Why Kubernetes is not... by gen220 on Monday June 08, 2020 @08:00PM (#23462173)
Oh it’s super cool to see you in the wild! To clarify, I had a lot of qualifying thoughts running through my head when I said “kinda sucks” (hence the “kinda”!). :)

I actually think managing aurora configs is way easier than managing yml files, and I agree that I think aurora configs were ahead of the game: having access to python in your config feels like a super power. I feel like we’ll converge on something that compiles aurora configs into yml files, prior to runtime.

That being said, we’ve never been able to get good editor support for things like “go to definition”, with the whole “include” syntax. We have maybe 2-3k aurora config files, of which maybe 100 are shared boilerplate. Do you have any advice on this? I tell vim to treat them like python files, but pylint hates them :)

We were bummed by the PMC decision too. I think some people at my company have considered becoming maintainers over the years, but, for the most part, everything “just works”, so we haven’t felt a selfish need to, so to speak. I actually think it’s a kind of unintuitive credit to your project, that it doesn’t require a horde of maintainers. That being said, I’ll set aside some time this weekend to take a look at some issues. :)

Re:Container technologies at Coinbase: Why Kubernetes is not... by ridv on Monday June 08, 2020 @08:23PM (#23462306)
Oh no worries, no offence taken at all with the comment, configurations files tend to suck in general :).

Pystachio was indeed very forward looking and the folks who worked on this at Twitter at the time deserve all the credit there.

I think what you mention is a general problem I've encountered with IDEs when it comes to dealing with Python (esp. the "go to" issue you mention). Even when I've had to touch the Aurora client code, which is full on Python code, I've come out pulling my hair thanks to PyCharm acting wonky.

> We have maybe 2-3k aurora config files

Those are some big files! The boiler plate stuff is definitely something I've heard before from users but, unfortunately, there doesn't seem to be a better answer.

When it comes to managing job configs, I'm pretty low on the pecking order in terms of knowledge since we ended up creating our own thrift client using Go to use with Aurora. (As a consequence, all our job definitions exist as Go code.)

Stephan Erb (https://twitter.com/erbstephan/) may have better advice in this case. Some of the Twitter folks may have good info too, but they've been radio silent for months.

> I actually think it’s a kind of unintuitive credit to your project, that it doesn’t require a horde of maintainers.

That's definitely a great point and a great compliment to the project. There's a lot of love that went into this project and I'd be ecstatic to get some new contributions, even if it something simple like fixing documentation or bumping up dependencies :D.

Re:Container technologies at Coinbase: Why Kubernetes is not... by random3 on Monday June 08, 2020 @08:03PM (#23462192)
Mesos was great. It was a much cleaner, flexible separation of concerns. Too bad Mesosphere killed it.
Re:Container technologies at Coinbase: Why Kubernetes is not... by djsumdog on Monday June 08, 2020 @05:54PM (#23461236)
I know quite a few startups going the Nomad route. It might not be as mainstream, but I don't think it's going to be phased out any time soon. Rancher was still maintaining their own scheduler for a while (not sure if they still do) because there were a lot of legacy customers still on it. Racher and RancherOS has pretty much moved to a full k8s management shop though.