Docker and Kubernetes for Java Developers: Scale, deploy, and monitor multi-container applications