I work for a 40 year old private enterprise with a large Java 8 micro-service architecture. My current project is to facilitate the migration to Java 21.
As you point out, there needs to be a compelling business reason. In our case, we are migrating to K8s as well, which is easier to make the business case for.
Security helps make the case as well. Any enterprise using Java 8 and Spring Boot is riddled with CVEs.
Spring Boot 3 requiring Java 17 is what allowed the migration in two companies I’ve been, it’s much easier to sell it as security issue than tech debt.
As you point out, there needs to be a compelling business reason. In our case, we are migrating to K8s as well, which is easier to make the business case for.
Security helps make the case as well. Any enterprise using Java 8 and Spring Boot is riddled with CVEs.