Docker for sysadmin. VM or container?

TL;DR: You can skip to "Question".

I've recently switched field to a backend dev role (yes..I'm no more a sysadmin by contract, by I'm one by heart) and the new company told me to learn Docker.

From a developer perspective it makes sense since a container encapsulate:

  • frameworks/libraries
  • compiler/interpreter
  • configurations (args, env. variables., config files ...)

(more easy to develop, maintain, distribute your internal application)

From a Sysadmin perspective I'm finding difficult to find the right use of it. I'm thinking about:

  • Move a DB or a website from a machine to another without losing configurations.
  • Load/balance a webserver (with containers orchestration like Kubernetes).
  • Isolate an old web application so its eg PHP v.2 doesn't collide with new web application PHP v.4
  • Don't create a VM for all above tasks (less expenses due to less licences)

In my "Sysadmin point of view" the above positive examples are not worth the learning curves of Docker (which requires days of tests and theory to fully understand basic aspects like volume types, storage drivers, how to deal with backups...).

For me, implementing Docker would be a dangerous choice against a safe VM.

Question

Is it worth to learn Docker for a sysadmin, keeping in mind that deploying a VM could be more "user-friendly" (GUI like a normal machine), manageable, flexible and less restrictive (you can deploy a VM with XP to run an old local application. With Docker you can't. )?

Considerations about this post

I know that licences costs could be a big deal, but for me they remain a "not enough good" reason to switch from a VM to a container.

Deployment time of a VM is huge compared to a single command in Docker. I'm discussing the fact that, to arrive to "that single command" you have to really focus on Docker for days, and the final result could be less manageables and so suitables than a VM...

Posted Sep 23, 2022, 3:37 PM UTC

43
Loading comments…