Container technologies such as Docker are rapidly changing the landscape of development and infrastructure. Finding practical, achievable ways to start leveraging containerization technologies may seem daunting. Fortunately, there are a few simple and accessible options to start reaping early benefits without requiring an overhaul of your entire infrastructure.
Rapid Technology Evaluation
A subtle barrier to trying new technologies is the step to download, install, and ultimately clean your machine up if the technology doesn’t pan out.
Docker enables technology innovation by providing developers with a quick sandbox to try new technologies. Say you want to try Node.js? Just pull the Node container and start coding. Didn’t like it? Throw out the container a move on. The diversity of official images on Docker Hub lowers the barrier to evaluating technologies, accelerating experiments and spikes.
Consistent, repeatable development environments
The phrase “it works on my machine” should mean something. How much time do developers spend debugging issues that result from having slightly different environments on dev, test, and prod? Docker forces environment parity, allowing developers to focus their time adding value rather than fixing bugs.
Containerizing your dev environment can be as straightforward as adding a simple Dockerfile in the root of your source tree. IDEs such as Visual Studio and IntelliJ are rapidly improving their support for remote building and debugging with containers.
Scalable continuous integration pipelines
An obstacle to scaling a continuous integration system is time spent configuring and maintaining build agents. The phrase “cattle, not pets” was coined by Gavin McCance. Docker makes it easy to have environment parity across build agents.
We’re keenly watching technologies such as ConcourseCI that use containers as a first-class citizens of build pipelines. Adding more developers to your team? Looking for more better feedback through more frequent CI builds? ConcourseCI is the first continuous integration system that easily scales. As each task in the build pipeline is run from within its own container, the build agents themselves do not require specific configuration, making scaling much easier.
Want to learn more?
Come join us at Agile India 2017, 6-12 March in Bengaluru for more talks and demonstrations on containers, Docker and agility.