Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Top 5 Use Cases for Docker Adoption

DZone's Guide to

Top 5 Use Cases for Docker Adoption

This blog represents top 5 use cases why IT enterprises (product & software-service vendors) should consider adopting Dockers in their SDLC.

· DevOps Zone ·
Free Resource

Do you need to strengthen the security of the mobile apps you build? Discover more than 50 secure mobile development coding practices to make your apps more secure.

  1. Quicker developer onboarding onto projects: We are all aware of development environment setup related issues when taking about onboarding developers. In my recent experience, I almost spent a week getting manually set up for a new project comprising of just 3-4 members. I had to refer to a couple of documents which were last updated a few weeks beforehand, and thus were not up to date. This led to productivity loss. In my earlier experience, I saw the usage of VM images for developer onboarding. This worked very well. However, we all know that VMs are bulky and it would be very cumbersome to set up production-like environments using VMs for every developer, where one many need to have multiple instances of web servers, databases, load balancers, etc. This has been made very easy with Docker containers. One could achieve automated production-like setup using Docker, Ansible, and shell scripting. And, it becomes extremely fast to dump and recreate these environments owing to the fact that Docker is very lightweight.

  2. Consistent and testable application environments from development to testing to staging to production: Owing to the fact that Docker provides isolated environment for application and its dependencies/binaries to run, it becomes simpler and easier to download Docker images from a local repository and run the related container in different environments.

  3. Safely run legacy and new apps on the same server: Given the fact that Docker provides isolated environments for applications to run, one could easily run legacy and new apps on the same server. Take for an instance the example where a web application developed in the past has been tested to run on Java 5 and Tomcat 7. However, as part of business needs, it will have to use Java 8 and Tomcat 8 for new applications. Trying to run these two applications on a server is extremely difficult. One may need two different bulky VMs to achieve this. However, with Docker, it’s extremely fast and easy.

  4. Easier to migrate to SOA over a period of time: When planning to migrate to SOA, Docker is very handy. One can extract microservices from existing bulky applications, create a Docker container for applications, including specific dependencies, deploy on the same (environment isolation) or different server, and allow other applications to access this new service.

  5. Easier management of horizontal scalability and elasticity: It makes it very easy and fast to start new containers on remote boxes using automation tools such as Ansible/Chef/Puppet etc.

Check out tips for blazing the way from agile to DevSecOps with security built into your mobile app toolchain.

Topics:
docker

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}