Aleksandr Kalikov
Microservices: how to get started with Spring Boot and Kubernetes
#1about 4 minutes
Understanding the complexity of microservice adoption
Microservices offer scalability but introduce significant complexity in distributed systems, requiring higher engineering expertise to manage.
#2about 6 minutes
Selecting a container orchestration and local environment tool
A comparison of orchestration tools like Kubernetes, Mesos, and Nomad leads to choosing Kubernetes for its maturity and Minikube for a developer-friendly local setup.
#3about 1 minute
Choosing a familiar Java framework for microservices
Spring Boot is selected over alternatives like Micronaut or Quarkus due to existing team familiarity and a wider talent pool, reducing initial adoption risks.
#4about 8 minutes
Building and containerizing a Spring Boot application
A new Spring Boot application is created, packaged as a fat JAR, and then containerized using a multi-stage Dockerfile that leverages Spring Boot's layered JARs for efficient image builds.
#5about 6 minutes
Deploying a containerized application to Kubernetes
The application is deployed to a local Minikube cluster by defining essential Kubernetes objects like Deployments, Services, and Ingress controllers in YAML files.
#6about 4 minutes
Externalizing configuration with Kubernetes ConfigMaps
Application properties are externalized using Kubernetes ConfigMaps, which are accessed by the Spring Boot service via the Spring Cloud Kubernetes library and appropriate RBAC permissions.
#7about 13 minutes
Implementing observability with Prometheus and Grafana
Observability is added by integrating Spring Boot Actuator and Micrometer to expose metrics, which are then scraped by Prometheus and visualized in a Grafana dashboard.
#8about 1 minute
Configuring JVM memory for containerized applications
To prevent out-of-memory errors, JVM memory settings like heap percentage and metaspace size are explicitly configured in the Kubernetes deployment to respect container resource limits.
#9about 3 minutes
Setting up Kubernetes health and readiness probes
Kubernetes liveness, readiness, and startup probes are configured using Spring Boot Actuator's health endpoints to automate application health monitoring and traffic management.
#10about 11 minutes
Ensuring graceful shutdown during rolling updates
A combination of Spring Boot's graceful shutdown feature and a Kubernetes preStop hook is used to prevent dropped requests during rolling deployments by allowing network changes to propagate before the pod terminates.
#11about 6 minutes
Security best practices for containers and Kubernetes
Key security practices include scanning Docker images for vulnerabilities, using minimal base images, and configuring Kubernetes with least-privilege principles to reduce the attack surface.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
Kubernetes Native Java
Josh Long
Our journey with Spring Boot in a microservice architecture
Michael Eder & Philipp Frauenthaler
Bootiful Spring Boot 3
Josh Long
Development of reactive applications with Quarkus
Niklas Heidloff
Mastering Kubernetes – Beginner Edition
Hannes Norbert Göring
Microservices with Micronaut
Moritz Kammerer
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Slip Through the Boundaries of Legacy Systems with Kotlin and Spring WebFlux
Lukas Georgieff & Alberto Gisbert
From learning to earning
Jobs that call for the skills explored in this talk.


DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)


Full Stack Engineer - Springboot Angular Kubernetes
Onlu
Lucerne, Switzerland
€80-150K
Java
Scrum
DevOps
Docker
+4
Software Engineer - Cloud - Kubernetes Who we are: The role: Who you are: What you'll get: How to leap onboard
Solvism
Utrecht, Netherlands
Remote
€4-6K
Senior
API
GIT
.NET
+6
Golang & Kubernetes Software Engineer
K2 Partnering Solutions Ltd
Barcelona, Spain
Intermediate
Go
REST
Spark
Kafka
Kubernetes
DevOps Developer - Kubernetes/ArgoCD/Microservices/Python - Zurich - 80-100%
ITech Consult AG
Zürich, Switzerland
€166-208K
DevOps
Django
Python
Kubernetes
+3





