Live data from Hacker News

Lessons learned from using Docker Swarm mode in production

blog.bugsnag.com

41–50 of 55 posts

Re: Lessons learned from using Docker Swarm mode in production

#41
post #31
post #16

While we're on the topic can anyone recommend a system for rolling out (Java) applications across server farms that doesn't use containers? We have a bunch of shell scripts that are pretty horrible. We could containerize, but we dont need that right now.

NixOps?

[deleted]

Re: Lessons learned from using Docker Swarm mode in production

#42
post #16

While we're on the topic can anyone recommend a system for rolling out (Java) applications across server farms that doesn't use containers? We have a bunch of shell scripts that are pretty horrible. We could containerize, but we dont need that right now.

I don't get it. Containerizing your apps will help with many things including reliable rollouts. It's trivial to containerize a Java app. Do you just not want to learn about containers?

Using a container orchestrator for deployment is pretty much better than using a CM tool in every way... and it's certainly better than trying to half-ass one with bash scripts.

Re: Lessons learned from using Docker Swarm mode in production

#43
post #8
post #6

Earlier quoted context omitted.

The one feature that to me seems to be essential but appears to be missing from all these container orchestrators is the ability to tie a remote volume (Ceph/Gluster/Lustre/etc) to a container so that if a container is scheduled to run on a certain node, the volume will automatically be mounted on the same node. It seems from the mailing list that at least Nomad will have that at some point, but I have not seen much…

we tried using EFS for shared storage but quickly depleted our I/O bursting credits and our throughput dropped to a grinding halt, because our app's worklaod is both disk write and read intensive. No solutions yet

If you need more performance than EFS for your shared filesystem storage, you could give our ObjectiveFS (https://objectivefs.com) a try. We see significantly higher read/write performance, especially for smaller files.

Re: Lessons learned from using Docker Swarm mode in production

#44

I am kind of surprised with negativity about Docker and Swarm. Both of them but UX first and technology second. This is the correct approach to get adoption (and also the reason why they are popular). Getting started with Docker and Swarm is really really simple and it's very hard to dislike simple things. Compared to that mesos and openstack and other tech stacks like that are garaguntan and imo have very bad UX.

Consider that they have different target audiences.

Docker itself is mostly targeted as a tool for developers: you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development process. Everyone else has to just deal with that.

Docker Swarm, meanwhile, is infrastructure, pure and simple. Developers don't touch it; ops people do. And ops people have very different opinions on what makes for a good piece of software than developers do. "Good UX" comes second to things like "stable" and "low overhead" and "predictable failure modes" and "configurable from a central source of truth."

Re: Lessons learned from using Docker Swarm mode in production

#45
post #44

I am kind of surprised with negativity about Docker and Swarm. Both of them but UX first and technology second. This is the correct approach to get adoption (and also the reason why they are popular). Getting started with Docker and Swarm is really really simple and it's very hard to dislike simple things. Compared to that mesos and openstack and other tech stacks like that are garaguntan and imo have very bad UX.

Consider that they have different target audiences. Docker itself is mostly targeted as a tool for developers : you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development…

You have a good point. But startups do not have the luxury of using a separate ops team. It's the dev teams that deploy the code as well.

Re: Lessons learned from using Docker Swarm mode in production

#46
post #44

I am kind of surprised with negativity about Docker and Swarm. Both of them but UX first and technology second. This is the correct approach to get adoption (and also the reason why they are popular). Getting started with Docker and Swarm is really really simple and it's very hard to dislike simple things. Compared to that mesos and openstack and other tech stacks like that are garaguntan and imo have very bad UX.

Consider that they have different target audiences. Docker itself is mostly targeted as a tool for developers : you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development…

In big companies ops trumps devs, and it's correct because they develop for 6-12 months and then operate that sw for 6 or 12 years. Been there, saw that (a mobile phone operator). So if ops says that docker is no-no for deployment, the dev has to work with another technology or convince them that everybody is going to benefit from it.

Startups begin as small companies and small companies have a single team that decide how to develop and deploy. Usually developers deploy and take care of production too. What's convenient for development often trumps what's convenient for production, at least for the first months or years.

Re: Lessons learned from using Docker Swarm mode in production

#47
post #46
post #44

Earlier quoted context omitted.

Consider that they have different target audiences. Docker itself is mostly targeted as a tool for developers : you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development…

In big companies ops trumps devs, and it's correct because they develop for 6-12 months and then operate that sw for 6 or 12 years. Been there, saw that (a mobile phone operator). So if ops says that docker is no-no for deployment, the dev has to work with another technology or convince them that everybody is going to benefit from it. Startups begin as small companies and small companies have a single team that decid…

You're presuming that the same company develops and deploys the software. My company runs many third-party Docker container-images in production—precisely because a Docker container-image is the only format that software comes in.

Re: Lessons learned from using Docker Swarm mode in production

#48
post #47
post #46

Earlier quoted context omitted.

In big companies ops trumps devs, and it's correct because they develop for 6-12 months and then operate that sw for 6 or 12 years. Been there, saw that (a mobile phone operator). So if ops says that docker is no-no for deployment, the dev has to work with another technology or convince them that everybody is going to benefit from it. Startups begin as small companies and small companies have a single team that decid…

You're presuming that the same company develops and deploys the software. My company runs many third-party Docker container-images in production—precisely because a Docker container-image is the only format that software comes in.

I've seen ops accepting to run a couple of services on Windows and Linux at a time they were all HP-UX and Solaris. There were no good alternatives for those services so ops were not happy but had to learn how to operate those servers. Can I suppose you went through the same?

Re: Lessons learned from using Docker Swarm mode in production

#49
post #44

I am kind of surprised with negativity about Docker and Swarm. Both of them but UX first and technology second. This is the correct approach to get adoption (and also the reason why they are popular). Getting started with Docker and Swarm is really really simple and it's very hard to dislike simple things. Compared to that mesos and openstack and other tech stacks like that are garaguntan and imo have very bad UX.

Consider that they have different target audiences. Docker itself is mostly targeted as a tool for developers : you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development…

I have been wondering - whats the business model for Docker itself?

Re: Lessons learned from using Docker Swarm mode in production

#50
post #46
post #44

Earlier quoted context omitted.

Consider that they have different target audiences. Docker itself is mostly targeted as a tool for developers : you, the developer, dockerize your application, resulting in a container-image. Sure, that container-image then has to get deployed by someone (who isn't necessarily you), but the reason it's getting deployed at all is that a developer, at some point, made a decision to use Docker as part of the development…

In big companies ops trumps devs, and it's correct because they develop for 6-12 months and then operate that sw for 6 or 12 years. Been there, saw that (a mobile phone operator). So if ops says that docker is no-no for deployment, the dev has to work with another technology or convince them that everybody is going to benefit from it. Startups begin as small companies and small companies have a single team that decid…

this +100

I (single dev at my startup at that time) adopted Docker 0.4 alpha and i have grown with the docker ecosystem. Today we pay for codeship,etc.

there is zero chance i would have a Docker buy-in if I could not get started then. This is the case with Docker Swarm and k8s today.

I'm struggling with k8s... while the evolution of Docker -> Docker Compose -> Docker Swarm is fairly easy and incremental.

In 2 years time when I have a large devops team... i will spend money on Swarm. Docker Swarm is conquering from the bottom. K8s still has a chance... but it is choosing to compete with OpenStack rather than Docker Compose, which is a big mistake IMHO.

Post reply on HN