Converting Legacy Applications to Cloud Native in Kubernetes

intermediate Java • basics of Docker • basics of Spring • basics of web development and DevOps
skills learned
refactor a legacy app for the cloud • create REST API with Spring Boot • containerize a Spring Boot application • deploy microservices on Kubernetes
John Guthrie
4 weeks · 6-8 hours per week · INTERMEDIATE
filed under
This title has been retired and is no longer for sale.
Look inside
In this liveProject, you’ve joined up with a company whose intranet is at least 15 years out of date. Your boss wants to update to a modern, microservices-based architecture that runs in the Cloud using Kubernetes. The IT team has kicked off this project with a new UX design for your web applications—but there’s a catch. Those old web apps have business processes built into them that can’t be rewritten from scratch. Instead, you’ve decided to transform these legacy applications into RESTful web services. You’ve chosen the old employee profile Java web app as your first conversion project, supplying a RESTful API that can provide read-and-update capabilities to other services and applications. Your challenges in this liveProject will include reviewing and modernizing the legacy app with Spring Boot and RESTful APIs, Dockerizing the app to run in a container environment, deploying it onto Kubernetes, and then testing that it’s working properly.
This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

John Guthrie
John Guthrie is an engineer at VMware, where he works in the Modern Applications Platform group, helping customers migrate their applications and infrastructure to cloud-native. He has a decades-long career working with enterprise systems and data as an administrator, developer, architect, and technical manager. His current career focuses on enabling customers, through pair-programming and other XP practices, to modernize their software and culture.


This liveProject is for intermediate Java developers, who are familiar with the basics of Enterprise web development. You will need the Java JDK, Maven, and MySQL installed on your workstation. To begin this liveProject, you will need to be familiar with:

  • Basic Java
  • Basic Spring
  • Basic Docker
  • Basics of containerization
  • Basics of DevOps
  • Basics of web development

you will learn

In this liveProject, you’ll learn important technologies for Cloud development and containerization that are in high demand from modern businesses. The skills you’ll develop are easy to transfer to any Cloud Native project that makes use of Docker and Kubernetes.

  • Microservices development
  • Refactoring legacy apps for the Cloud
  • Creating REST APIs with Spring Boot
  • Docker CLI and Kubernetes CLI
  • Containerizing Spring Boot applications
  • Docker networking
  • Pushing Docker images to a repository
  • Deploying on Kubernetes
  • Exposing services and connecting them
  • Managing your deployment with autoscaling


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.