The Doppler Quarterly Spring 2018 | Page 55

It is no secret that development teams are excited about the positive impact container technology can bring to their applications, but not everyone knows how to get started. Shifting from virtual machines to Docker containers allows developers to deliver changes in a fraction of the time. And once an app is in a container, it’s portable. So the team can move it freely from AWS to Azure to Google Cloud, back to on-premise, optimizing the benefits of a hybrid environment. Problem is, development teams aren’t always clear on how to get started with containers. They know the benefits, but have questions about how to contain- erize their application. This article outlines a particular use case as a primer on the steps involved in modernizing an application from running on a Virtual Machine to a Docker container-based deployment. Although this piece highlights one specific best practice, keep in mind that there are other ways to containerize apps that may be better suited in other situations. Ideally, this story will serve as a reference on the benefits you can expect as you consider moving your applications to containers. Before Modernization Our example is a traditional three-tier Java Spring Boot application using Maven for build and dependency management. The user interface is built with React.js and the REST-based JSON API is built with Spring MVC. It uses MySQL as a relational data store. This client-facing application is critical to the busi- ness. The front and back ends are built into a single application jar which con- tains embedded Tomcat and depends on JDK 1.8. SPRING 2018 | THE DOPPLER | 53