Using containers to package and deploy applications is causing a seismic shift in the way software is developed, and you may wonder how, or if, Java works with this new paradigm. In fact, combining Java with container technology can bring out the best in both. With this report, you’ll learn valuable techniques, methodologies, and advice for continuously delivering Java applications with containers, from both an architectural and operational perspective.
To help you follow the book’s examples, author Daniel Bryant includes a simple ecommerce application that includes three microservices, a Docker Compose file, and a Jenkins build pipeline. You can clone the GitHub repository locally and learn firsthand how the continuous delivery process with Docker works. Much of the advice and patterns in this guide also apply to several other container technologies.
With this book, you’ll explore:
- Continuous delivery basics with Java—and how JAR and WAR files differ from containers
- How Docker impacts a typical Java application CD build pipeline
- The impact of microservices and cloud-native Twelve-Factor Applications on Java architectural patterns
- How containers affect functional testing, and non-functional performance and security testing
- Host-level monitoring, container-level metrics, and application-level health checks
About the author: Daniel Bryant is Chief Scientist at OpenCredo and CTO at SpectoLabs. Acting as a technical leader and aspiring to be the archetypal "generalizing specialist," his current work includes enabling agility within organizations. He does so by focusing on the relevance of architecture within agile development, implementing high-quality testing strategies, and facilitating continuous integration/delivery.
Table of Contents
- 1. Continuous Delivery Basics
2. Continuous Delivery of Java Applications with Docker
- Adding Docker to the Build Pipeline
- Introducing the Docker Java Shopping Application
- Pushing Images to a Repository and Testing
- Running Docker as a Deployment Fabric
- It’s a Brave New (Containerized) World
- 3. The Impact of Docker on Java Application Architecture
- 4. The Importance of Continuous Testing
- 5. Operations in the World of Containers
- 6. Conclusion and Next Steps
- Title: Containerizing Continuous Delivery in Java
- Release date: March 2017
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491959787