Containers are becoming vital for the development of software applications. While several container technologies are available in the market today to ease the software development process, Docker is leading the popularity race. In an interview with Jagmeet Singh of OSFY, Docker captain, Neependra Khare, highlights the need for the open source container. He also mentions India’s role in the growth of the Docker community. Edited excerpts…
Q) How does Docker make open source software development easy?
With container technology, we confine the application with all its dependencies such that it can run independently on different environments — be it the desktop, virtual machines or the cloud. We just need to have the container runtime like Docker installed on the host system.
Containers have been around for quite some time, but Docker and its tools made them more popular. Docker started a revolution and others joined in as well, which resulted in a very vibrant ecosystem around it. Now containers are becoming a basic unit of development and deployment. The same image from which we run a container is shared at different stages of the software lifecycle. Because everyone from a developer to an operations engineer works on top of the same image, we don’t get complaints such as, “It doesn’t work in my environment.”
Docker has a concept of the registry, which is similar to GitHub. This feature allows us to share images. One can share pre-built images on the registry, while others can consume it with just one command. This is of great help for anyone using Docker, especially developers.
Q) So Docker started a revolution in the world of containers. How can it be a vital tool for developers?
Docker is a boon to developers. It helps them to prototype ideas quickly. Using Docker Registry, developers can easily share their application’s image. With tools like Docker Compose, a multi-tier application can be defined and deployed easily, which hides all low-level details from end users. Developers can simultaneously run different versions of software on the same machine without any interference. This helps them with faster debugging. Docker and other related tools also let developers have a near production-like environment on their computing system that helps them avoid any deployment issues.
Q) What is the Docker community in India like?
In India, we have around 15 Docker groups which meet at regular intervals. Meetups help participants share their knowledge on various topics as well as let them do training sessions and hackathons. The Docker Bangalore group is one of the most active and vibrant around the world.
Though we have a big user base in India, we don’t have many contributors to the project. We hope to see more contributions to the Docker project from India.
Q) Why should one be a part of the Docker community?
First and foremost, it is a great place to learn about Docker and the ecosystem around it. Containers are going to become the default standard for carrying out development and deployments. Sooner or later, one has to learn about them. Being early adopters would definitely help individuals to grow professionally. Also, by being part of the community, one can learn while having fun.
Q) In addition to Docker Captain, you are all set for a new venture. What would it offer for the open source world?
After running the Docker meetup for quite some time and after publishing a book on Docker last year, I realised with Docker is here to stay and would bring a paradigm shift in the way we do development and deployments of applications. With this shift, there would be demand for skilled people who can understand the container technology and helps companies to do the transition.
Keeping that in mind, I left my full-time job at Red Hat in December 2015 and started offering training. I did one-day free workshops in Bangalore, Pune, Chennai, Hyderabad and Kolkata. I also did some paid workshop as well.
In June 2016, I formally launched my company CloudYuga Technologies Pvt. Ltd. (cloudyuga.guru). We provide training and consulting around container technologies, GO programming languages and Linux. Under the company’s brand, we also started a meetup group “CloudYuga Garage”, in which we do community activities like watching videos from different tech conferences and hackathons among others.
Q) You’ve recently co-authored an MOOC based on cloud infrastructure technologies by Linux Foundation and edX. How is its response so far?
The response has been quite eminent so far. More than 22,000 people registered for the course from over 125 countries. The course provides overview different cloud infrastructure technologies like IaaS, PaaS, Container, Container Orchestration, DevOps, Continuous Integration and Continuous Deployment. It also covers how these technologies relate to each other.
Q) Do you think understanding cloud technologies plays a pivotal role for any developer, sysadmin or emerging DevOps professional?
Yes, it does. Basic understanding of cloud technologies is a must for everyone. These days we use apps for booking a taxi, getting a doctor’s appointment and learning online courses. All of these things are possible at scale because of some form of cloud technology. With on-demand and pay-as-you-go models of cloud technologies, companies can address their customers’ requirements faster and at a lower cost. And as a developer or someone from the QA or systems administration teams, one has to have an understanding of recent cloud technologies to build an effective solution.
With the DevOps culture, smaller teams which consist of developers, QA and OPs guys work together. They also need to have a basic understanding of how everyone else in the team uses the cloud and what their pain points could be.