the tiny little 🐳 that changed everything..

the tiny little 🐳 that changed everything..

portable, disruptive, revolutionary and unified..

What is Docker?

Well, you probably know the answer to this question. Let’s not beat it to the pulp. Succintly, it is a unified framework for all apps. It helps build applications on one unified environment and run it anywhere.

Docker is not very old. It just hit its 1.0 release in May of 2014. Side note, Heroku‘s still awesome, and my Docker enthusiasm is strong. Heroku supports Docker now too.

Since hitting version 1.0 in June 2014, Docker has taken “the cloud” by storm even seeing Google, Microsoft, Amazon, Cisco, HP, IBM, RedHat, VMWare, and others working together to develop a common standard with Docker as the core. That’s a non-trivial debut.

What makes Docker so special? It sounds to me like just another VM.

Well, it might sound that way, but Docker isn’t like a virtual machine. Getting down to the nuts and bolts, Docker allows applications to be isolated into containers with instructions for exactly what they need to survive that can be easily ported from machine to machine. Virtual machines also allow the exact same thing, and numerous other tools like Chef and Puppet already exist to make rebuilding these configurations portable and reproducible.

While Docker has a more simplified structure compared to both of these, the real area where it causes disruption is resource efficiency.

If you have 20 Docker containers that you want to run, you can run them all on a single virtual machine. To run 20 VMs, you’ve got to boot 20 operating systems with at least minimum resource requirements available before factoring the hypervisor for them to run on with the base OS. That is a LOT of resource saving. Here’s a benchmark on how it outperforms VMs by a whopping 26:1 performance ratio.

KVM and Docker LXC Benchmarking with OpenStack
Linux containers (LXCs) are rapidly becoming the new "unit of deployment" changing how we develop, package, deploy and…

Other reasons why Docker is so ground-breaking are its portability and scalability. Combined with Kubernetes, it becomes so easy to balance billions of containers in multiple docker hosts. Google has been using container technology for over ten years, starting over 2 billion containers per week. With Kubernetes it shares its container expertise creating an open platform to run containers at scale.

Back in the Business with Summer of Code

So, that was docker. This week’s Summer of Code comprised of several bug fixes and getting GitLab support for GitMate. It’s been a wonderful week all around, learning new things about GitLab and GitHub, their resemblances, workflow and all. Hopefully, we could have a stable release this month with GitLab™ support.

How did it go?

My phase 1 went better than expected. But, I’m still a bit nervous about the upcoming evaluations next week. Thanks for all the support, Lasse, Fabian and Arkhan. It’d have been a disaster without you guys around.

Burndown chart for the First Phase of Google Summer of Code 2017 for gitmate/coala by Naveen Kumar Sangi