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.
Matching moments
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
03:17 MIN
Selecting strategic partners and essential event tools
Cat Herding with Lions and Tigers - Christian Heilmann
04:57 MIN
Increasing the value of talk recordings post-event
Cat Herding with Lions and Tigers - Christian Heilmann
04:49 MIN
Using content channels to build an event community
Cat Herding with Lions and Tigers - Christian Heilmann
02:44 MIN
Rapid-fire thoughts on the future of work
What 2025 Taught Us: A Year-End Special with Hung Lee
03:39 MIN
Breaking down silos between HR, tech, and business
What 2025 Taught Us: A Year-End Special with Hung Lee
04:27 MIN
Moving beyond headcount to solve business problems
What 2025 Taught Us: A Year-End Special with Hung Lee
03:34 MIN
The business case for sustainable high performance
Sustainable High Performance: Build It or Pay the Price
Featured Partners
Related Videos
Our journey with Spring Boot in a microservice architecture
Michael Eder & Philipp Frauenthaler
Kubernetes Native Java
Josh Long
Bootiful Spring Boot 3
Josh Long
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
What's (new) with Spring Boot and Containers?
Eva Panadero & maeddes
Slip Through the Boundaries of Legacy Systems with Kotlin and Spring WebFlux
Lukas Georgieff & Alberto Gisbert
Related Articles
View all articles.gif?w=240&auto=compress,format)



From learning to earning
Jobs that call for the skills explored in this talk.

Akros Ag
Junior
Java
Scrum
React
Spring
Docker
+8

Akros Ag
Junior
Java
Scrum
React
Docker
Angular
+7

Akros Ag
Junior
Java
Scrum
React
Docker
Angular
+7


K2 Partnering Solutions Ltd
Barcelona, Spain
Intermediate
Go
REST
Spark
Kafka
Kubernetes


PrimeIT España
Gijón, Spain
API
GIT
Java
Kafka
Gitlab
+4

PrimeIT España
A Coruña, Spain
API
GIT
Java
Kafka
Gitlab
+4

PrimeIT España
Barcelona, Spain
API
GIT
Java
Kafka
Gitlab
+4