Docker gives PODA or Package Once Deploy Anywhere. It simplifies software delivery by making it easy to build and share images that contain your application’s operating system, i.e. application code and infrastructure together, managed as one component. These images are then used to create runtime containers, provided by Docker. These images can be distributed using Docker Registry. Each Docker container is a self-contained microservice that provides isolation, resilience, decoupling, and many other benefits.
This talk will provide a quick introduction to Docker images (build time), containers (run time), and registry (distribution). It shows how to take an existing Java EE application and package it as a monolithic application as a single Docker image. The application will then be refactored in to multiple microservices and assembled together using orchestration. Unit and integration testing of such applications will be discussed and shown as well. Design patterns and anti-patterns that show how to create cluster of such applications will be demonstrated and discussed.
Arun Gupta is a technology enthusiast, avid runner, author of a best-selling book, globe trotter, a community guy, Java Champion, JavaOne Rockstar, JUG Leader, Minecraft Modder, NetBeans Dream Teamer, Devoxx4Kids-er, and a Red Hatter.