Container frameworks are emerging as a superior choice to create, manage, and run distributed applications in a scalable and secure fashion. Docker’s growth is testimony to the fact. There are 100 million downloads of the Docker Engine, 75,000 Dockerized applications, 770 contributors, and 50,000 third-party projects on GitHub using Docker in less than two years.
The State of Containers 2015 Docker Adoption Survey found that more than 70 percent of respondents are either using Docker or evaluating for future use. Given Docker’s overwhelming popularity, here are three trends that DevOps teams should prepare for:
1. Agile Infrastructures
Containers will be a driving force for infrastructure agility at an enterprise level. Although we will continue to use virtual machines, agile and flexible development environments will require containers for frictionless deployment.
Enterprises have stopped asking “Why Docker?” and are embracing containers across critical workloads. DevOps should examine the flexibility of current deployment models to accommodate application requirements.
Containers help you deliver low cost and instant scalability throughout the application lifecycle. Gartner analyst Rich Watson has a great post on Docker use cases and when to consider them.
Developers are using microservice architectures to create innovative applications. Unlike monolithic applications, microservices are small, manageable services that can be efficiently reused and quickly scaled for a richer user experience. Containers offer an unparalleled environment for creating and deploying microservices with lower overhead and higher efficiencies.
Microservices offer developers greater flexibility and the ability to deploy quickly in smaller, discrete units. For DevOps, microservices means more things to manage. Make sure that you have the ability to monitor and report on container performance and advise on what’s working and what’s not over time.
3. Immutable Server
The adoption of public cloud infrastructure and containers have ushered in the concept of immutable server that’s never updated or patched once deployed, but simply replaced as needed. This allows for easy environment replication that is a hallmark of rapid deployments in DevOps.
When faced with an incident, system administrators can use the best known configuration to bring up a new instance or server instead of troubleshooting problematic servers. With containers, admins can build loosely coupled containers with the same configuration in seconds without worrying about infrastructure dependencies. DevOps teams must automate the deployment and end of life of containers and constantly update containers even without new app development.
Containers will have a transformational impact on IT. Developers want applications workloads to run anywhere without worrying about the underlying stack. To succeed in the container era, take a strategic approach by incorporating container management into your DevOps framework.
About the Author / Varma Kunaparaju
Varma Kunaparaju is CTO at Vistara and a seasoned technologist with over 20 years of experience leading engineering teams to deliver enterprise software. Reach him on Twitter @varma1