4 ms·
How many people are actually orchestrating a fleet of containers vs. pushing simple apps to a single box or two with Capistrano, Maven, or Fabric? I don't under
by johnwheeler 10y ago
How many people are actually orchestrating a fleet of containers vs. pushing simple apps to a single box or two with Capistrano, Maven, or Fabric? I don't understand the popularity of Kubernetes and Docker relative to the aforementioned simpler technologies. Certainly some organizations have use for container orchestration, but are startups beginning with that vs. just simple deployment scripts in hopes of scaling up? What's going on? Why are these in the news so much?
- nine_k 10y agoContainers are also about development and testing, afaict.
- zwischenzug 10y agoI work for a 100K+ company and we are doing that, though far from google scale. I talk about this here: https://www.youtube.com/watch?v=Yj5I-yOaDao https://www.youtube.com/watch?v=Yj5I-yOaDao and blog on related things here: https://medium.com/@zwischenzugs https://medium.com/@zwischenzugs but I do understand your skepticism - the hype is far from reality.
- discordianfish 10y agoSomething really simple like capistrano works usually only for a small subset of your services. With Kubernetes, you can run everything in there. And you can automate it to a very high degree: Imagine pushing a branch not only deploys it to some test system, but it actually bring up depending databases, a queue and a load balancing layer which then gets load tested. This is partially possible in the cloud as well, yet it requires building machine images which is slow. And you end up with a provider specific solution especially if you try to integrate it very well. But in short: It makes sense very soon if you run on bare metal (and arguably makes it more feasible option to run on bare metal) while it makes only sense much later if you're running in the cloud. I'd say you should have at least more than one team deploying more than every few days.
- johnwheeler 10y agoI'm not super familiar with Capistrano, but you can provision systems and databases with Fabric. I'm still very doubtful of the utility of these more heavyweight technologies relative to the simpler ones for all but a very small subset of organizations. To me, it reeks of people trying to make simple things much more complicated. I haven't used Kubernetes. I tried docker and never understood why people would use it over an ordinary VM and some reusable deployment scripts.
- gtaylor 10y agoKubernetes isn't just about deploying. It comes with central config store, secrets store, service discovery, load balancing, routing/ingress, health checks, rolling updates for your software, auto-scaling, a powerful storage volume system, and a bunch of other things that you don't have to do a crappy job reinventing.
- duaneb 10y agoIt doesn't make deployment easier, per se. It gives you sane, scalable ways to solve deployment, credentials, logging, autoscaling, infrastructure provisioning, etc etc so you don't have to solve them yourself. Overall I'd say it doesn't solve anything that was unsolved before, but it solves a common problem in a palatable way.
- deleted 10y ago[deleted]
- morgante 10y agoPart of it is that there's a feedback loop: as Kubernetes + Docker become more and more popular, the tooling around them gets better and better. Also, I find Docker a lot easier to work with than trying to manually maintain parity between my dev environment and production hosts. Having previous "pushed simple apps to a single box or two" I'd never go back, even for the simplest of apps.
- deleted 10y ago[deleted]
- djsumdog 10y agoI work for a company that has one team which just has 20 nodes, all running a docker daemon and they push stuff to it using Capistrano .. mainly really old Perl containers. Our team uses CoreOS and we're slowly moving over to Mesos/Marathon. Our team also has really streamlined unit testing, integration testing and deployment. When you need to deploy an app that may need 4 or 5 nodes, and the rest of the company also is deploying microservices that need anywhere from 2 ~ 20 notes, having a system like Mesos or Kubernetes is essential. They are big systems. They can be difficult to maintain. I've been trying to setup my own mini Kubernetes in Vagrant and have struggled quite a bit. This post really goes to show a large amount of the complexities too. It really depends on your scale. If you start growing, investing in people to maintain a container infrastructure is pretty key.
- sandGorgon 10y agocould you talk about how you are using capistrano to push to docker ? i thought you had to go the whole continuous-deployment complexity to do any such deployment.
- catmanjan 10y agoI don't think many are using it now, but with the out-of-the-box Docker web app projects coming in VS2017 I bet that number will go up. It's a much better proposition than WebDeploy.
- deleted 10y ago[deleted]
- manigandham 10y agoI agree that this is a lot of complexity and seriously doubt the popularity of it in real use, especially with all the quietly productive companies out there. Putting a binary on a VM works just fine and is perfectly repeatable and scriptable already.