4 ms·
I am doing blue/green deployments with ansible in 30 seconds from package deploy across 20 nodes. YMMV but docker doesn't inherently make anything faster itself
by hughrr 5y ago
I am doing blue/green deployments with ansible in 30 seconds from package deploy across 20 nodes. YMMV but docker doesn't inherently make anything faster itself.
- stfp 5y agoOut of curiosity, what kind of artifacts are you deploying and how are you building them?
- hughrr 5y agoBuild in Jenkins. self-contained ReadyToRun .Net core apps. Couple of smaller Go apps. I rather like Go. Target package contains one file! Config is inherited from the environment and cloud provider as the targets are Amazon Linux 2 based.
- ecnahc515 5y agoCompiled executables are pretty simple to deploy without containers. The benefit of containers is that it can help standardize that type of benefit to other runtimes like Python/Ruby where it's much more challenging to just ship an artifact. In addition to that, with cgroups and namespaces you get a lot of other benefits, which can be used with eg: systemd/etc but it's nice when one tool handles all of it.
- hughrr 5y agoYes exactly. It's a solution to a problem. My point is it is better to avoid the problem than employ a solution.
- meowface 5y agoIt's not easy when the only way to avoid the problem you describe is to rewrite your whole project(s) in a language like Go. I like Go and have used standalone binaries instead of Docker containers when deploying Go applications, but I don't always work with Go applications. As other posters said, Docker largely exists to help with any situation where you don't have a single binary. These situations are still very common for many developers and devops engineers. And in those cases, Docker can be very helpful.
- PaywallBuster 5y agoeach VM can take 1-2 min to deploy launch vm: 1-2 min config/deploy: 3-5 min (ansible) create image: 2/3 min launch new asg: 2-5 min Containers greatly reduce most of these steps
- hughrr 5y agoWe just leave the instances running. Why burn the universe a thousand times a day?
- PaywallBuster 5y agothat's one of the reasons to pay for cloud providers. You can adjust your paid resources to actual usage. This is one way to do it. (search Immutable Infrastructure) For this application, traffic is quite stable so it doesn't come up often. But once or twice, we had some bug causing performance regressions. They were not visible on the first day, but as usage grew over time the cluster started growing with the problem. So it allowed the application to stay online (at an additional cost) until devs pick up the problem and have a solution ready, probably coming up in the following sprint only.
- hughrr 5y agoyeah aware of that. We do that as well. But scheduled scaling.
- deleted 5y ago[deleted]