Containers are the vehicle for modern microservices architectures; the use of containers provides not some wild and imaginative advantages when coupled with microservices and N-tier architectural styles, but workable production-ready solutions. In many ways, the use of containers to implement a microservices architecture is an evolution not unlike those observed over the past 20 years in web development. Much of this evolution has been driven by the need to make better use of compute resources and the need to maintain increasingly complex web-based applications. For modern application development, Docker is a veritable and forceful weapon.
As we saw, the use of a microservices architecture with Docker containers addresses both these needs. We explored example environments designed seamlessly from development to test, eliminating the need for manual and error-prone resource provisioning and configuration. In doing so, we touched briefly on how a microservice application can be tested...