Dhathri Vupparapalli

Jul 11, 2021

4 min read

Benefits of using Docker containers in the development team and operations team.

We will see how containers are used in the development team and operations team in software development.

What is a container?

The container is a package that has all the necessary dependencies and working configurations of an application in it.
This package can be easily shared and moved between a team of developers or between a development and operations team. This portability of containers by which it can be shared and moved easily between the team of people gives a great advantage for the development and the operations process.

Read difference between Docker and Virtual Machine to know more about docker.

Let’s see how it’s helping the DEVELOPMENT team.

Before containers:

illustration of development team downloading all the services locally for the project

Suppose there is a team of developers, some of them might be using MAC, Some of them might be using LINUX. All of them are working on a project which is a JavaScript-based web application. To develop this project, all the members of the team have to install certain services onto their systems. Like, Node, MYSQL, etc. The problem with this approach is that the set of instructions to download this particular service will be different according to the OS they are using. The steps for the installation will be more, which might create some delay, and developers might sometimes find some issues with the service while downloading and installing services.

After Containers:

illustration of developers using containers instead of downloading the applications.

Developers now need not install all the services into their machine instead they can just use a command to use a container. For e.g., Instead of installing the MySQL service on their system, they can just use a MySQL container using a single command. These commands remain the same irrespective of the OS they are using. MySQL container will have all the configurations, start scripts needed for MySQL to run on the systems. Now if we need 10 services to be installed, instead of downloading all the services we can just use 10 commands and that’s it, all the services will run in our system with very little effort. We can also run multiple versions of MySQL using containers.

Let’s see how it’s helping the OPERATIONS team.

Before containers:

illustration of operations team downloading applications manually using textual guide sent by the development team.

After the developers are done with the project, They will send the project to the operations team. Developers will send services along with the set of instructions on how to download them and they will also send some databases along with the set of instructions needed to download the database. The major problem here is that there may be some misunderstanding between the developers and the operations team while installing the services because the instructions are in a textual guide. the operations team has to come back to developers for clarification and there will be some communication needed back and forth until the problem is solved. This will take more time and there will be a delay in the project to get deployed.

After Containers

illustration of the development team and operations team working together to package the application in a container.

Now with containers, the process is simplified. The development team and operations team work together to package the application in a container. (Insert Image of the container) Now we just need to pull that container using a single pull command, and this command remains the same irrespective of the OS used. The only setup required for all this docker runtime environment to do the commands.

Key Takeaways

  1. Docker containers increase the ease of using applications without downloading them locally into our machine.
  2. Containers can be used using one single command irrespective of the operating system.
  3. Operations teams can perform their work easily without any back and forth communication from the development team.

Conclusion

Using Docker containers in the software development process makes the process easier and the chances of getting download errors while downloading any application will be reduced. By using containers in the development and operations process the time required to finish the project will also be reduced.