Orchestration is the New Black
In 2017, we will continue to see the adoption of DevOps culture, fueled by the “Rise of the Developer.” One of the core tenets of this transformation has been the rise of automation and as applications shift to microservice architectures powered by containerization, the need for orchestration will become paramount.
What Is Orchestration?
When I refer to a container, I will be talking about a Docker container as they have the largest and fastest growing ecosystem. Docker provides a robust CLI to manage the lifecycle of a single container, but when it comes to a complex, multi-service application architecture, there will hundreds, if not thousands, of containers to manage.
When I talk about orchestration, I’m defining it as the process of automating deployment, auto-scaling, and overall lifecycle management of the containerized application. The current ecosystem of container orchestration includes: Docker Swarm, Apache Mesos, and Kubernetes. Each of them has their own set of pros/cons, and selection of an orchestration platform is an exercise left up to the reader.
Orchestrate All the Things
Digital transformation is a strategic imperative that is being undertaken by literally every company that I’ve spoken to. A key component of this transformation is cloud migration, for either existing applications or greenfield development efforts. A microservice based architecture is well suited for these applications, and containers are ideal for the ephemeral nature of this pattern. To ensure isolation and resiliency, orchestration of all the stages of application deployment and operations is required. The build and deploy process must be reproducible to avoid issues such as configuration drift or manual error(s), which often causes a step in the pipeline to be missed. Automated deployments must be orchestrated with respect to updating application components or micro services to prevent any side effects that cause issues and/or downtime for the overall application.
As overall workflows become more complex, orchestration solutions will be required to weave together all the tasks into a well-defined pipeline. Orchestration is not limited to processes, but also will become more and more applicable to cross-functional teams. The cultures of “DevOps” and “DevSecOps” will continue to be adopted across enterprises, with ‘sharing’ being a core tenet of that culture. This means that, as teams grow, orchestration of tasks and communication will become a requirement, not a ‘nice to have’. Orchestration is one of the only ways that we can accomplish more without having to continue to add costly resources.