Developing Spring Boot Apps for Kubernetes

General info 

This is a two-day training course. Select the desired start date at the top right of the screen for practical information regarding the training (location, price, registration, etc.).

Course overview

Kubernetes is the industry approved platform for growing a Cloud Native strategy. Spring (Boot) has always encouraged developers to leverage the tools/technologies that best solves their business use cases.

In this training, we will bring both worlds together so that you as a Spring (boot) developer can take ownership of your code from development to production. We will look at some best practices/patterns on how to containerize your Spring Boot application & run it on a Kubernetes cluster. We will also look at how you can integrate your Spring Boot app with Kubernetes.

This is an intensive, hands-on training, every student will get access to a Kubernetes cluster to complete the labs.

By the time the training is over, you will have a good understanding of how Spring Boot & Kubernetes work hand in hand and you will have bridged some of the gaps between Dev & Ops.


Who should attend this training

Spring Application developers who want to learn best practices & patterns for containerising Spring Boot Applications with Docker, and integrate them in the Kubernetes platform.


Course Objectives

By the end of the training, you will have learned the following:

  • Design principles of Cloud Native apps
  • Why is Kubernetes the industry approved platform & how does Spring Boot fit in?
  • Containerize Spring Boot applications
  • Deploy Spring Boot applications on Kubernetes
  • Spring Boot configuration in Kubernetes
  • Spring Boot application lifecycle in Kubernetes
  • Visibility & Observability


Prerequisites

  • This training requires you to have good knowledge of Java & Spring boot (Spring Core/boot training is recommended)
  • Basic knowledge of Docker/containers & Kubernetes is recommended
  • This is a BYOD (Bring Your Own Device) training. Please bring your own laptop to the course. Please make sure the following software is installed:
    • This training has an interactive hosted environment. You will only need an internet browser (preferably Google Chrome)


Course Content

Introduction

  • What is Cloud Native?
  • Cloud Native design principles
  • Cloud Native Journey
Building containers 
  • Container introduction (why)
  • Docker introduction
  • Containerize your Spring Boot application
Going beyond Dockerfiles
  • Best practices / optimizing containers
  • Jib
  • Pack / Buildpacks
  • Building containers with Spring Boot
Kubernetes Introduction
  • Kubernetes Architecture
  • Main building blocks:
    • Pod
    • Deployment
    • ReplicaSet
    • Service
    • Ingress
  • Using kubectl imperative commands to generate definitions
  • Manually deploy your spring boot application on Kubernetes
  • Organizing resources
Spring Boot configuration on Kubernetes
  • External configuration
  • Spring Profiles
  • Spring Boot Cloud Platform config
  • Kubernetes Env Vars / ConfigMaps / Secrets
Managing application deployments
  • Deployment strategies:
    • Rolling upgrade
    • Recreate
    • Blue-green
    • Canary
  • Rolling back deployments
  • Rollout considerations
Health checks and probes
  • Spring Booth Health Indicators
  • Creating a custom health indicator
  • Liveness and Readiness Kubernetes probes
  • LivenessState and ReadinessState
  • Graceful Shutdown
Observability I: Logging
  • Logging challenges in Cloud Native apps
  • Logging in Spring Boot
  • Logging Architectures
Observability II: Metrics
  • Metrics and Monitoring
  • Metrics in Spring Boot
  • Custom metrics
  • Prometheus and Grafana
The cloud is the limit
  • Kubernetes Resources
  • Requests and Limits
  • Scheduling




Related events:
Contact
+32 472 58 74 86
hello@thecampus.be
GENERAL INFO

This training will be held in English unless all attendees speak Dutch.

SHARE

Find out what people see and say about this event, and join the conversation.