<story><title>Instead of containers, give me strong config and deploy primitives</title><url>https://abe-winter.github.io/blues/2017/04/27/config-vs-containers.html</url></story><parent_chain><item><author>shitloadofbooks</author><text>As an Ops guy, I preach Ansible + systemd all day everyday, but so many of our Devs (and Ops) have drunk the containerization Kool-aid.&lt;p&gt;Unfortunately, the same culture which fucked modern web design (a new JS framework every 6 months) is starting to creep into Ops; some REALLY smart people make a tool which promises to be X but with X&amp;#x27;s main problem solved. They do the easy 80% and then abandon the project when the hard 20% needs to be fixed (and forget documentation).</text></item><item><author>erulabs</author><text>So... systemd + Ansible?&lt;p&gt;I really disliked SystemD before I got my hands dirty with it. Assuming you&amp;#x27;re developing with any modern language, the language itself probably wraps OS differences anyways (Node &amp;#x2F; Golang &amp;#x2F; Rust &amp;#x2F; Ruby &amp;#x2F; Python &amp;#x2F; anything-libUV-based to name a few), not like you can convince developers to change their habits anyways.&lt;p&gt;People act like Docker makes builds reproducible by magic, then go on to not pin any Golang deps or curl internet resources or not generate lockfiles for NPM, ad infinitum.&lt;p&gt;There is and never will be a shield operations people can put around their developers. You just need good developers. If you want SoA scaling or automatic cloud configuration, why not just use the most established tools available? Linux&amp;#x27;s init system and kernel _already do_ resource management, even outside of LXC. People act like a &amp;quot;cloud scheduler&amp;quot; is the only thing that lets multiple processes work together.&lt;p&gt;This whole idea of isolation is also really inane. Each app will have different disk, io, network, cpu requirements. I also dream of the day Kubernetes can do this &amp;quot;sorting&amp;quot; better than an experienced operations team can, but that day is _far off_ (and I will die before I put redis&amp;#x2F;mysql&amp;#x2F;postgres&amp;#x2F;cassandra&amp;#x2F;any-other-mature-datastore behind docker and iptables)</text></item></parent_chain><comment><author>_pmf_</author><text>&amp;gt; They do the easy 80% and then abandon the project when the hard 20% needs to be fixed (and forget documentation).&lt;p&gt;That&amp;#x27;s a nice summary. The 2nd level ignorance of those people is astounding.&lt;p&gt;Oh, sure, write the 618th package manager, I&amp;#x27;m sure you&amp;#x27;ll be the one who finally gets it right.</text></comment>
<story><title>Instead of containers, give me strong config and deploy primitives</title><url>https://abe-winter.github.io/blues/2017/04/27/config-vs-containers.html</url></story><parent_chain><item><author>shitloadofbooks</author><text>As an Ops guy, I preach Ansible + systemd all day everyday, but so many of our Devs (and Ops) have drunk the containerization Kool-aid.&lt;p&gt;Unfortunately, the same culture which fucked modern web design (a new JS framework every 6 months) is starting to creep into Ops; some REALLY smart people make a tool which promises to be X but with X&amp;#x27;s main problem solved. They do the easy 80% and then abandon the project when the hard 20% needs to be fixed (and forget documentation).</text></item><item><author>erulabs</author><text>So... systemd + Ansible?&lt;p&gt;I really disliked SystemD before I got my hands dirty with it. Assuming you&amp;#x27;re developing with any modern language, the language itself probably wraps OS differences anyways (Node &amp;#x2F; Golang &amp;#x2F; Rust &amp;#x2F; Ruby &amp;#x2F; Python &amp;#x2F; anything-libUV-based to name a few), not like you can convince developers to change their habits anyways.&lt;p&gt;People act like Docker makes builds reproducible by magic, then go on to not pin any Golang deps or curl internet resources or not generate lockfiles for NPM, ad infinitum.&lt;p&gt;There is and never will be a shield operations people can put around their developers. You just need good developers. If you want SoA scaling or automatic cloud configuration, why not just use the most established tools available? Linux&amp;#x27;s init system and kernel _already do_ resource management, even outside of LXC. People act like a &amp;quot;cloud scheduler&amp;quot; is the only thing that lets multiple processes work together.&lt;p&gt;This whole idea of isolation is also really inane. Each app will have different disk, io, network, cpu requirements. I also dream of the day Kubernetes can do this &amp;quot;sorting&amp;quot; better than an experienced operations team can, but that day is _far off_ (and I will die before I put redis&amp;#x2F;mysql&amp;#x2F;postgres&amp;#x2F;cassandra&amp;#x2F;any-other-mature-datastore behind docker and iptables)</text></item></parent_chain><comment><author>roryrjb</author><text>I&amp;#x27;ve been exploring Docker lately, but I&amp;#x27;ve just launched a small project using Ansible and systemd, much much simpler to setup and deploy updates.</text></comment>