Categories: Virtualization

5 Reasons Why Every Developer Must Adopt Dockers

This blog represents my thoughts on why every developer must adopt dockers for their day-to-day development purpose.

I got introduced to Dockers technologies a couple of months back and trust me, I have started wondering on how I have been developing/coding prior to that.  Honestly speaking, I am floored. Here are some of the top reasons why you should also give a shot to Dockers.

Bring up Dev Environment in No Time

One of the issue that I faced in the programming/development experience is living with same Dev environment through out the entire development cycle for months all together. At times, due to installation of software updates, the environment used to get corrupted and lot of time was spent on rectifying it. Also, due to configuration changes from time to time, the Dev environment moved or drifted from one state to another. And, I always wished if there was some way I could bring up Dev Environment in very quick time. This is where Dockers help. Based on the Dev environment requirements, one could create an image, and commit it. From next time onwards, one could quickly create and run the containers running the Dev environment.

Dump Dev Environment in No Time

In my development experience, I often felt the need to uninstall/delete the software and start afresh. Also, I wanted to experiment with different configurations while keeping my baseline configuration intact. And, the way I used to do it is create copies of different configurations while testing with one of them. With the Dockers, it has become so very easy. I could have a base image created and I could then create containers using this base image and test my configurations simultaneously. And, once done, I could easily dump my containers using command such as “docker rm containerName”.

Test Simultaneously across Different Dev Environments

Many a time, I wanted to have access to test my code in different environments comprising of different platforms/OS, configurations etc and I could not do it primarily due to several reasons such as availability of machines (physical/VMs) etc. All of this have changed after I have started working with Dockers. I could now test my application on different platforms by starting appropriate containers and testing the applications.

Test Simultaneously across Different Software Versions

Many a time, I wanted to test my application across different software versions. For example, I wanted to test my application across different Java versions. Traditionally, this could be achieved by installing software of different versions and setting environment variables such as PATH, CLASSPATH variables appropriately. With dockers, it has become as easy as creating and running containers (which takes no time) with different software versions and testing your applications on each of these containers.

Easy-to-create Dev, QA Environments

With dockers, gone are the days, when one would call out extra time and effort to create Dev, QA Environments. It virtually takes NO time. In fact, one could create Dev/QA images and developers/QA engineers could get hold of these images, start the containers and get their work done absolutely hassle free.

Above are top reasons that I could comprehend based on my experience of Dockers within last couple of months. There are other utilities which are specific such as creation of automation environments, high-availability (HA) environments that becomes very easy to achieve using Dockers about which I would write another blogs. In the mean time, please feel free to sight other reasons that you feel are important why every developer should/must start using Dockers.

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Share
Published by
Ajitesh Kumar
Tags: docker

Recent Posts

Agentic Reasoning Design Patterns in AI: Examples

In recent years, artificial intelligence (AI) has evolved to include more sophisticated and capable agents,…

2 months ago

LLMs for Adaptive Learning & Personalized Education

Adaptive learning helps in tailoring learning experiences to fit the unique needs of each student.…

2 months ago

Sparse Mixture of Experts (MoE) Models: Examples

With the increasing demand for more powerful machine learning (ML) systems that can handle diverse…

3 months ago

Anxiety Disorder Detection & Machine Learning Techniques

Anxiety is a common mental health condition that affects millions of people around the world.…

3 months ago

Confounder Features & Machine Learning Models: Examples

In machine learning, confounder features or variables can significantly affect the accuracy and validity of…

3 months ago

Credit Card Fraud Detection & Machine Learning

Last updated: 26 Sept, 2024 Credit card fraud detection is a major concern for credit…

3 months ago