Four-Project Series

Chassis and Template for Production-Ready Microservices you own this product

prerequisites
intermediate Java • basic Spring and Spring Boot • basics of REST • basics of JPA • basics of JUnit
skills learned
implement key observability patterns • secure a service’s REST API using JSON Web Tokens (JWTs) • refactor a service template to extract common logic into a reusable service chassis framework • configure a GitHub Actions-based deployment pipeline that builds, tests and publishes a Docker image
Chris Richardson
4 weeks · 6-8 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you’ll step into the shoes of a Java/Kotlin developer building a microservices-based application using Kotlin. To eliminate duplication and gratuitous differences that arise when developing multiple services, you’ll define a Spring Boot and Docker-based microservice service template and microservice chassis. Together, these components enable you and your colleagues to quickly and easily create production-ready services. Throughout the liveProjects in this series, you’ll develop key features of the microservice chassis and service template including observability, security, and Docker deployment.


These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Configure Observability

In this liveProject, you’ll take on the role of a Java/Kotlin developer tasked with implementing the service template’s observability-related features—key aspects of production-readiness—including a health check API, application metrics, and distributed tracing. Work will be done in Kotlin.

Project 2 Implement Security

In this liveProject, you’ll add security-related features to the service template. In your role as a Java/Kotlin developer, you’ll gain hands-on Kotlin experience implementing authentication and authorization of a service’s REST API using JSON Web Tokens (JWTs) as well as a Security Token Service, such as Keycloak, to issue and authenticate JWTs.

Project 3 Package as a Docker Image

In this liveProject, you’ll progressively enhance a service template, starting with packaging it as a container image. Next, you’ll build and run a service template container with Docker Compose, write component tests for a service, and finally build and test a container image. When you’re finished, you’ll have a Github repository that automatically pushes a tested container image to a Docker registry. This project focuses on Kotlin.

Project 4 Create a Microservice Chassis

Make your Java/Kotlin developer colleagues’ lives easier by enabling them—and you!—to quickly maintain services that were cloned from the service template. In this liveProject, you’ll extract a microservice chassis from the service template project, create Gradle plugins, and publish chassis artifacts and template source code. When you’re done, you’ll have a small service template project that uses a much larger microservice chassis framework. (Your colleagues will thank you!) Work will be done in Kotlin.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Chassis and Template for Production-Ready Microservices project for free

project author

Chris Richardson

Chris Richardson is the author of Manning bestseller Microservices Patterns as well as POJOs in Action, which describes how to build enterprise Java applications with frameworks such as Spring and Hibernate. He’s a developer, an architect, and the creator of Microservices.io, a pattern language for microservices. He is also a Java Champion, a JavaOne rockstar, and the founder of the original CloudFoundry.com, an early Java PaaS for Amazon EC2. He provides microservices consulting and training to organizations that adopt a microservice architecture and is working on his third startup, Eventuate, an application platform for developing transactional microservices. He is a recognized thought leader in microservices and speaks regularly at international conferences.

Prerequisites

This liveProject series is for Java/Kotlin developers who are interested in creating production-ready microservices. To begin these liveProjects you will need to be familiar with the following:

TOOLS
  • Gradle build tool
  • Git and Github
TECHNIQUES
  • Intermediate Java
  • Basic Spring and Spring Boot
  • Basics of REST
  • Basics of JPA
  • Basics of JUnit

you will learn

In this liveProject series, you’ll develop features of a microservice chassis and service template including observability, security, and Docker deployment:

  • Health check API - A service exposes a health check API endpoint, such as GET/health, which returns the health of the service
  • Application metrics - Services report metrics to a central server that provides aggregation, visualization, and alerting
  • Distributed tracing - Assign each external request a unique ID and record how it flows through the system from one service to the next in a centralized server that provides visualization and analysis
  • Implement authentication and authorization of a service’s REST API using JSON Web Tokens (JWTs)
  • Use a Security Token Service, such as Keycloak, to issue and authenticate JWTs Package a Spring Boot application as a Docker container image
  • Run and test a container image
  • Configure a Github Actions-based deployment pipeline to build and test a container image and push it to a registry
  • Refactor a service template to extract common logic and build logic into a reusable service chassis framework

features

Self-paced
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.