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