DevConf.CZ 2025

Ludwig Steindl

Ludwig is a Software Architect with a passion for building sustainable software. Specializing in modern Java architectures, he helps development teams design flexible, scalable systems that evolve with changing requirements.

At Gepardec IT services, he explores ways to automate software maintenance, ensuring applications remain reliable, secure, and easy to maintain—allowing development teams to stay focused on innovation.

Beyond his daily work, Ludwig shares his experiences at conferences, meetups, and in open-source communities, exchanging ideas and continuously learning from others.


Company or affiliation

Gepardec IT Services GmbH.

Job title

Senior Software Architect


Session

06-14
12:30
35min
Automated Java Upgrades: From Pain to Productivity in 30 Minutes
Ludwig Steindl

Keeping large Java applications up to date is a constant challenge. Manual dependency and runtime upgrades are time-consuming, error-prone, and often pushed down the backlog because they lack immediate business value. Meanwhile, outdated dependencies introduce security risks, technical debt, and compliance concerns—especially with new regulations like NIS2 and DORA, which make timely software updates a legal requirement.

But what if upgrades could happen automatically?

In this hands-on session, I’ll demonstrate how to fully automate Java dependency upgrades using Renovate, OpenRewrite, and GitHub Actions. Through a live Quarkus 2 → 3 migration, you'll see how:

  1. Renovate detects outdated dependencies and automatically creates pull requests.
  2. OpenRewrite applies automated code fixes for breaking changes.
  3. Red Hat Developer Sandbox provides a pre-configured environment for manual adjustments—eliminating the need for local setup.
  4. SBOMs (Software Bill of Materials) are generated and sent to Dependency-Track, ensuring compliance with NIS2 and DORA while making security improvements visible to decision-makers.

By the end of this session, you’ll have a practical, repeatable strategy to automate dependency management—keeping your Java applications secure, compliant, and resilient with minimal manual effort and zero disruption to development.

DevOps and Automation
E104 (capacity 72)