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
03:28 MIN
Shifting from talent acquisition to talent architecture
The Future of HR Lies in AND – Not in OR
06:51 MIN
Balancing business, technology, and people for holistic success
The Future of HR Lies in AND – Not in OR
06:04 MIN
The importance of a fighting spirit to avoid complacency
The Future of HR Lies in AND – Not in OR
06:10 MIN
Understanding global differences in work culture and motivation
The Future of HR Lies in AND – Not in OR
05:10 MIN
How the HR function has evolved over three decades
The Future of HR Lies in AND – Not in OR
06:59 MIN
Moving from 'or' to 'and' thinking in HR strategy
The Future of HR Lies in AND – Not in OR
03:13 MIN
How AI can create more human moments in HR
The Future of HR Lies in AND – Not in OR
04:22 MIN
Navigating ambiguity as a core HR competency
The Future of HR Lies in AND – Not in OR
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
Microservices with Micronaut
Moritz Kammerer
Mastering Kubernetes – Beginner Edition
Hannes Norbert Göring
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
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
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.


Fusonic GmbH
Remote
€60-80K
Senior
Java
Kafka
Spring
+5


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


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

WeMatch GmbH
€65-90K
Java
Vaadin
Kotlin
Microsoft SQL Server

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

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