Case Study : Docker Mastery - Two Emerging Technology Tracks - DevOps Pipeline and Scalable MicroServices
Docker And The Myriad of Technologies Emerging Around It
Docker is the way to go, which side of the divide are you in? There are myriad of technologies emerging or gathering around Docker. Docker itself is evolving by the month, Docker Service, Docker Scale, Docker Swarm and so on are some of the commands and features getting added to Docker versions. How can an organization keep track of the domain expertise?
It has become inevitable now than ever before to decide, to pick, and to stick to a specific set of technologies and tools best suited to the needs of your company, and build mastery around it.
What are the Major Application Tracks Where Docker Can be Applied to?
Track-1: Scalable MicroServices Using Docker Containerized Applications
First major application track for Docker would be to setup development, staging and production environments. Even if you are wary to go yet on production mode with Docker, you should definitely be able to use Dockerized containers for all your development and staging environments. This will help ensure that the environments stay portable, identical, versioned and repeatable.
If you need to go on a big-scale clustering you must build your skills around Kubernetes and/or Mesos. For smaller scales go you can go for the built-in Docker Swarm.
For container management UI you can choose from a plethora of platforms like Rancher, Docker Cloud, Docker Datacenter/Universal Control Panel, etc.
Tools for Configuration Management (CM) or Single/Multi-Server Remote Management, you can go with Ansible unless your have existing mastery around Salt, Chef or Puppet.
For hosting platforms, here are the leading contenders apart from the dominant leader Amazon Web Services (AWS). They are Digital Ocean, Azure, Rackspace, Heroku, etc.
So, for the MicroServices track mastery should be around the above networking technologies.
There is huge scope, companies and professionals can confidently apply their training resources in the above.
Track-2: DevOps CI/CD Pipeline and Build Automation - For Continuous Testing & Deployment
Docker for build automation is the way forward for DevOps implementations. It not only saves time, but also simplifies the pipeline automation making the continuous delivery affordable and practical.
I would recommend time tested Jenkins for the build and release pipeline automation. There are other contenders worth noting like SemaphoreCI, CircleCI and Codeship.
Apart from Docker and Jenkins, we will needs expertise in
- Ansible for CM (Configuration Management)
- Git and GitHub for version control and pipeline automation
- GNU Make utility to simplify command executions
So, for the CI/CD track, mastery should be around the above technologies and utilities. But if you are using AWS Developer Tools like CodeCommit, CodeDeploy and CodePipeline you may choose to build your mastery around those as well.
DevOps automation is one of the fastest growing and lucrative fields professionals and companies can enter into.