Live data from Hacker News

Container technologies at Coinbase: Why Kubernetes is not part of our stack

blog.coinbase.com

221–230 of 414 posts

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#221
post #131
post #11

> We would need to build/staff a full-time Compute team This actually was a very real problem at my current job. The data pipeline was migrated to k8s and I was one of the engineers that worked to do that. Unfortunately, neither myself (nor the other data engineer) was a Kubernetes guy, so we kept running into dev-ops walls while also trying to build features and maintain the current codebase. It was a nightmare. If…

I work on a 2-person project and decided to go with kubernetes (through digitalocean) for the cluster. I am managing everything with terraform and I don't have any big problems. I like that I can write everything as terraform manifests, have it diffed on git push and applied to prod if I want to. Sure it had a learning curve but now I just describe my deployments and k8s does the rest, which then reflects back on dig…

if you can run everything on a $10 vm...do you really need k8 ?

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#222
post #11

> We would need to build/staff a full-time Compute team This actually was a very real problem at my current job. The data pipeline was migrated to k8s and I was one of the engineers that worked to do that. Unfortunately, neither myself (nor the other data engineer) was a Kubernetes guy, so we kept running into dev-ops walls while also trying to build features and maintain the current codebase. It was a nightmare. If…

I've found that ECS on AWS works great for similar use-cases. I guess it gets more love than EKS on AWS.

Seems like EKS is great for people to start looking at AWS without vendor lock-in, but then people switch over to ECS and/or Lambdas for compute.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#223
My personal mantra of being a late adopter when it comes to cloud deployment tools has some benefits has served me well. I am even reluctant to integrate docker in my work flow. Git pull, build and deploy bash scripts are serving me well enough for now. Thank you very much.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#224
post #32

Earlier quoted context omitted.

The first iteration (I actually wasn't around for that) was trying to run a cron for every "data ingestion job" -- at some points, we were doing about 50k+ API requests daily (FB/Instagram/Twitter/etc.) and that was absolutely not tenable using k8s cronjobs.

50k/day is less than 1 qps. This is nothing. This is either not the full story or your cluster was setup completely wrong

Depends how spiky the distribution was. 20k a second at 2pm? Gonna have a bad time.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#225
post #206

Nomad has been brought forth in a lot of comments, and it has a feature that nobody brought up yet, I think. It's multi-platform. It currently has official task runners for Docker, Isolated/Raw Fork/Exec, Java, and Qemu. It has several community-based task drivers, including Windows IIS and FreeBSD Jails. Kubernetes supports mostly Linux, although has recently gained Windows node support.

Indeed, if you are coming from a world with a lot of legacy systems but want to make Docker and containers orchestration your golden path, but still streamline all of your deployments, Nomad seems like great choice. At one point you might need more then Nomad can give you, but then you are at least familiar with concepts like raft, declarative CI/CD pipelines for containers, vault and secret handling, canary deployments etc.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#226

Earlier quoted context omitted.

For those missing Heroku: there exists Dokku [1], a small Heroku-like implementation for container management. It uses the same underlying buildpacks and you get the same comfort as with Heroku. And it's free to use. You can't deploy to multiple host machines though. But for small projects that fit on a single host, it's very nice to use. [1] http://dokku.viewdocs.io/dokku/

Tried Dokku, but found CapRover [1] to be a much better / easier option [1] https://caprover.com/

Better for what reason?

It seems Dokku wins at "easier" since in many cases, you can just push the application code you used for development and the required stack is automatically detected. Adding a database is two commands. No need to know Dockerfiles.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#227
post #11

> We would need to build/staff a full-time Compute team This actually was a very real problem at my current job. The data pipeline was migrated to k8s and I was one of the engineers that worked to do that. Unfortunately, neither myself (nor the other data engineer) was a Kubernetes guy, so we kept running into dev-ops walls while also trying to build features and maintain the current codebase. It was a nightmare. If…

You can't make the complexity disappear. Kubernetes just offers a very standardized, stable and relatively polished way to handle it. The other alternatives, like running your own orchestration system, are just as complex if not more so, although you might be more familiar with it since you built it. That being said, many companies don't need any of it in the first place for their scale, and that's probably the bigge…

k8s and even docker are trying to solve a problem not many people will ever face. However, being the sexy new things loads of people get sucked into integrating it into their stack from the word go.

Being reluctant to adopt new technology unless you really really need might be a more sensible thing to do.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#228
post #206

Nomad has been brought forth in a lot of comments, and it has a feature that nobody brought up yet, I think. It's multi-platform. It currently has official task runners for Docker, Isolated/Raw Fork/Exec, Java, and Qemu. It has several community-based task drivers, including Windows IIS and FreeBSD Jails. Kubernetes supports mostly Linux, although has recently gained Windows node support.

I am extremely happy with Nomad, it is one of the best decisions we have ever made in our organisation. We had a thin abstraction layer over Consul + Docker Swarm that we could port to Nomad in a matter of a few hours and it's been rock solid so far.

But sometimes I wonder whether we are hurting our own careers not going down the k8s route. It really seems it has a bright future.

Re: Container technologies at Coinbase: Why Kubernetes is not part of our stack

#229

Earlier quoted context omitted.

It's a pity that docker swarm did not make it. It wasn't perfect but it was a lot simpler to setup and manage than kubernetes. If you can get away with it, vanilla docker hosts running docker compose provide most of the same benefits with a fraction of the cost. For most startups, that's a great way to avoid getting sucked into a black hole of non value adding devops activity. You lose some flexibility but vanilla ub…

> It's a pity that docker swarm did not make it. Sorry I do not understand that statement, in my naive opinion Docker Swarm seems to be a thing. Care to elaborate, please?

It is, but at this point it is unclear for how long Docker Swarm will be supported, see e.g. https://boxboat.com/2019/12/10/migrate-docker-swarm-to-kuber...

We are actually currently in the process of migrating from Docker Swarm to k8s and I am not 100% sure that's a good idea. We will see.

Post reply on HN