4 ms·
I completely agree. My team has spent the last several years building software we then deploy with Docker and Kubernetes, and looking back I think that our sof
by zeveb 7y ago
I completely agree. My team has spent the last several years building software we then deploy with Docker and Kubernetes, and looking back I think that our software would have been much better deployed as statically-linked binaries on simple Linux servers.
We're writing in Go, which means we already have the statically-linked binaries, which means we have a single file which needs to get deployed. What does Docker buy us? … a single file which gets deployed. We could get the same effect of Docker Hub by just scping versioned binaries.
Kubernetes is far worse, of course. It is an amazing ramshackle collection of disparate, ill-fitting parts which make everything 'easy' but nothing simple. It does buy us some useful things, but I don't think they are worth the cost.
A bunch of EC2 nodes running Debian, with a few dozen-line shell scripts to copy binaries around, would completely replace our usage of Docker and Kubernetes and drastically reduce the complexity of our system. We just don't need a lot of what Kubernetes does (no doubt others do), but we have to pay for it in complexity anyway.
I really do believe that in the future we will see a few companies be very successful by foregoing Docker + Kubernetes + Helm (yo dude, I heard your YAML was giving you problems so here's some more YAML to YAML your YAML into YAMLy submission!), and then a few years later we will all look back at this mess a little bit like people look at the Pet Rock craze.
- ex_amazon_sde 7y agoAmazon (and other FAANGs) use OS packages and do not use Docker nor Kubernetes or anything with all that complexity. This is a deliberate choice, at least in Amazon.
- busterarm 7y agoFire and Motion.[1] [1]:https://www.joelonsoftware.com/2002/01/06/fire-and-motion/ https://www.joelonsoftware.com/2002/01/06/fire-and-motion/
- notacoward 7y agoMaybe you know how it is at Amazon, but your statement is definitely not true for two other FAANGs. It's well known that Kubernetes is the open-source version of tools that already existed within Google, and Kubernetes itself is part of some public-facing products. I work at Facebook, and we most definitely do have our own equivalent of Kubernetes. It's awful in all of the same ways IMO. We also build fat binaries (and I believe the same is true at Google) but that's orthogonal. So one point for your claim, two against. Maybe someone else can fill in the blanks for Apple and Netflix.
- skube 7y agoThat's a lie. Was Borg replaced by kubernetes?
- ex_amazon_sde 7y agoI'm familiar with different implementation in FAANGs. (I cannot disclose the names.) They are hardly as bloated and vulnerable as Docker+Kubernetes. > It's awful in all of the same ways IMO. > So one point for your claim, two against. It's awful but at the same time it's a claim against... interesting.
- notacoward 7y agoThat's not the least bit inconsistent. You claimed that FAANGs do not run anything with the complexity of Docker or Kubernetes. The best thing I can say about that claim is that your information is clearly outdated. Some might call it a lie. Facebook and Google, at least, do use something with equivalent complexity, and the very thing that makes them awful is also the thing that refutes your claim. Don't claim to speak for all companies when you clearly don't know anything about more than one.
- shadowgovt 7y agoIf you can keep the use-case constrained to that, I agree. If you ever find yourself having to couple those Go binaries with someone else's Python or node code, Docker making it simple to bundle all those binaries into a standard packing infrastructure will be nice-to-have.
- mristin 7y agoYou can use PEX for Python. At my previous job, we used a python script to rsync files -- very, very simple. I think it would have been much more difficult and error-prone with Dockers.
- mixmastamyk 7y ago> with a few dozen-line shell scripts to copy binaries around, Sounds like you're looking for Ansible.