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:52 MIN
Why teams move from monoliths to Kubernetes
Get ready for operations by pull requests
00:13 MIN
The evolution of Spring Boot and container technologies
What's (new) with Spring Boot and Containers?
26:30 MIN
Integrating Spring Boot applications with Kubernetes probes
What's (new) with Spring Boot and Containers?
00:09 MIN
A DBA's journey to running SQL Server on Kubernetes
Adjusting Pod Eviction Timings in Kubernetes
10:33 MIN
Tools and techniques for Kubernetes development
How I saved 200K/yr in direct costs writing 0 code lines in K8s
00:22 MIN
Why traditional Java frameworks are slow in the cloud
Microservices with Micronaut
10:34 MIN
Decoupling microservices with event streams
From event streaming to event sourcing 101
00:25 MIN
Understanding the challenges of scaling Kubernetes with confidence
5 steps for running a Kubernetes environment at scale
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
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
Application Modernization and Rabbits
Niklas Heidloff
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
Analista Programador/A Senior spring boot 3
Kenos Technology
Municipality of Madrid, Spain
Intermediate
JIRA
Redis
React
Kafka
Vue.js
+5
Devops Engineer * Kubernetes * Java * ELK * Angular
DC&I
The Hague, Netherlands
Java
DevOps
Gitlab
Angular
Openshift
+3
Solutions Architect - Kubernetes
CoreWeave Europe
Charing Cross, United Kingdom
Remote
€116-155K
Kubernetes
DevOps Developer - Kubernetes/ArgoCD/Microservices/Python - Zurich - 80-100%
ITech Consult AG
Zürich, Switzerland
€166-208K
DevOps
Django
Python
Kubernetes
+3


