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
02:26 MIN
Why teams move from monoliths to Kubernetes
Get ready for operations by pull requests
04:26 MIN
The evolution of Spring Boot and container technologies
What's (new) with Spring Boot and Containers?
05:01 MIN
How cloud architecture evolved from monoliths to microservices
Build ultra-fast In-Memory Database Apps and Microservices with Java
03:07 MIN
Challenges of modernizing and scaling monolithic frontends
Web-Fragments: incremental micro-frontends migration approach for enterprise
02:15 MIN
Understanding the challenges of application modernization
Supercharging Static Code Analysis: Konveyor AI & LLMs
02:44 MIN
Integrating Spring Boot applications with Kubernetes probes
What's (new) with Spring Boot and Containers?
03:02 MIN
A DBA's journey to running SQL Server on Kubernetes
Adjusting Pod Eviction Timings in Kubernetes
03:01 MIN
Tools and techniques for Kubernetes development
How I saved 200K/yr in direct costs writing 0 code lines in K8s
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
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
Monoskope: Developer Self-Service Across Clusters
Jan Steffen
Mastering Kubernetes – Beginner Edition
Hannes Norbert Göring
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.

Onlu
Lucerne, Switzerland
€80-150K
DevOps
Docker
Kubernetes

Cosonic GmbH
Remote
€60-80K
Senior
Docker
PostgreSQL
Kubernetes
+2

Akros Ag
Junior
Docker
Jenkins
Openshift
Kubernetes
Microservices
+1

Akros Ag
Junior
Docker
Jenkins
Openshift
Kubernetes
Microservices
+1

Akros Ag
Junior
Docker
Jenkins
Openshift
Kubernetes
Microservices
+1

