This was a busy year for IT, and specifically in DevOps where we've seen a lot of traction in:
- cloud migration
- containers orchestration.
Python, Ansible, Terraform and Kubernetes became buzz words that every rookie recruiter have learned to write without a spelling mistake. AI, Big Data and IoT are booming and require automated infrastructure to run on.
Whatever was possible to design in Microservices patterns went AWS Lambda way, with everything else got containerized and managed by Kubernetes.
Microsoft made K8S available as orchestrator in Azure Container Service as early as in March 2017 (first time I noticed), with alternatives being Docker EE and Service Fabric.
And AWS has finally added a managed Kubernetes option EKS, where you don't have to worry about control plane at all.
And for me personally it was the most busy year in my 16 years in IT.
With interesting contracts and a couple of exams passed - Azure and Docker.
So I decided to describe my experience with the latter.
While the biggest ever achievement of my life, of 7-months old, is peacefully sleeping in the same room, I have about 30 min of uninterrupted time.
I reckon last 8 months at least 60% of my working hours were spent on all things Docker.
And when I heard that Docker finally came up with the Certification Scheme, I was very excited and immediately decided to get certified on the very first day of the program: https://success.docker.com/certification
Little I knew
Study Guide (available on the link above) gives 9 sample questions and I've managed to answer 5 of them right. 55% I guessed would not be the passing score, so I went ahead to study all the topic from the same Guide.
I thought 2 weeks would be plenty enough, and so I booked an exam for mid-November. Thank God they had an option to reschedule the exam, which I used quite a few times, finally passing exam only today…
There are options to have Instructor Led Training with failry standard prices, and Self Paced courses: https://training.docker.com/
My way was a mixture of:
- reading official Docker documentation
- community available labs
- and trying everything - on my workplace what was applicable, and the rest on a couple of VMs on my laptop
- … and a lot of notes (just for learning, not cheating)
I knew pretty well and used in my daily work: Dockerfiles, compose, swarm, services and stacks. Which is all available in Docker Community Edition (Docker CE).
I didn't know much Registry, and had somewhat limited understanding of Docker Networking, Security and Storage.
Docker EE focus
What I was surprised to find was that exam quite heavily relied on UCP and DTR both being parts of Docker Enterprise Edition (Docker EE).
Frankly I don't think Docker EE will ever become as popular as Kubernetes, purely from pricing perspective. Which was in a way acknowledged by Docker EE guys adding Kubernetes support to their platform. However it was still interesting for me to learn how clever people design such things.
So I've registered for a great option of 1 month trial of EE: https://store.docker.com/editions/enterprise/docker-ee-trial
Honestly it did shock me with complexity and heaviness of the solution.
But I quite admired very mature Security features like:
- complete TLS encryption of all the communications
- very advanced RBAC model in UCP, LDAP sync
- image signing and vulnerability scanning
Something that will be very welcomed in heavily controlled industries like Government, Military, Aero-Space, that also have enough money to justify the price tag.
However, in majority of the cases I think Docker CE will be more than enough, and is miles easier to use than Kubernetes.
When you install free Docker Engine, you get all these juicy pieces built-in - declarative specification of the image (Dockerfile) and stacks\services (docker compose) and such robust, simple, highly-available and performant orchestrator as Docker Swarm. If you can't live without UI add something like Portainer on top.
IMHO the only popular thing which is probably missing is horizontal auto-scaling.
- Am I glad to have passed exam? - Yes.
- Would I do it again? - Hmmm… I think I should really go now, as I can hear baby crying now :)