Dockerfiles, Buildpacks, Jib and more ... what's the best way to run your Java code in Containers?
Conference (BEGINNER level)
A typical workflow in a modern software dev project often looks like: Build code, put the built artifact into a container image, put the container image into a registry and deploy to Kubernetes. Each step has it’s own requirements and pitfalls alike. The overall goal is most often to bake those steps into easily repeatable pipelines and enable a high degree of automation and standardization.
Dockerfiles seems to be the choice with the highest adoption when it comes to containerizing code artefacts. However most Dockerfiles (and also most sample's of Dockerfiles you find in tutorials) do not exploit it to the full potential.
There are a lot of improvements to be done in how to build and optimize for VM-based applications.
The talk will give deeper insights by comparing (simple and multi-stage) Dockerfiles to Cloud-Native Buildpacks (buildpacks.io/paketo.io), Google’s JIB and jlink under the evaluation criteria of
The examples and live demo will have certain focus on Java-based frameworks (Spring Boot, Quarkus, Micronaut), but coverage of other languages will also be included and highlighted.
Dockerfiles seems to be the choice with the highest adoption when it comes to containerizing code artefacts. However most Dockerfiles (and also most sample's of Dockerfiles you find in tutorials) do not exploit it to the full potential.
There are a lot of improvements to be done in how to build and optimize for VM-based applications.
The talk will give deeper insights by comparing (simple and multi-stage) Dockerfiles to Cloud-Native Buildpacks (buildpacks.io/paketo.io), Google’s JIB and jlink under the evaluation criteria of
- build time
- build size
- standardization
- robustness
- memory configuration
- security
The examples and live demo will have certain focus on Java-based frameworks (Spring Boot, Quarkus, Micronaut), but coverage of other languages will also be included and highlighted.
Matthias Haeussler
Novatec Consulting GmbH
Matthias Haeussler is Chief Technologist at Novatec Consulting, university lecturer for distributed systems, Linux Foundation trainer, awarded ambassador of Cloud Foundry, and meetup organizer. His main focus is enabling people in strategy and technology for the entire cloud-native software engineering lifecycle. This includes guiding clients through hands-on implementation, overseeing deployment processes, skill enablement, and ensuring successful migrations. Previously, he was employed at IBM R&D Germany for over 15 years. He has teaching experience from lectures at multiple universities in Stuttgart. He is also a frequent speaker at various national and international conferences and meetups, including Devoxx (Devoxx Champion 2024), KubeCon, Spring One Platform, Open Source Summit, Spring IO, IBM InterConnect, and WJAX.