Containerizing continuous delivery in Java Docker integration for build pipelines and application architecture - Bryant, Daniel (O'Reilly Media, 2017)
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.
Description based on online resource; title from title page (Safari, viewed March 30, 2017)
Keywords: Application software -- Development -- Automation; Java (Computer program language); Logiciels d'application; Développement; Automatisation; Java (Langage de programmation)