< session />

Pkl: Safe and Maintainable Config for Java Apps and Infrastructure

Fri, 25 April

Configuration is often one of the most error-prone aspects of application and infrastructure management, where small mistakes can lead to catastrophic failures. The new Pkl configuration language offers a safer, more maintainable approach to defining and managing configurations for Java applications and infrastructure.

In this session, we’ll introduce Pkl and demonstrate how it can be used to simplify configuration management. Pkl is designed to work seamlessly with Kubernetes, Spring applications, and any environment where you typically use YAML or other unstructured configuration files. By offering a structured, type-safe alternative, Pkl helps you reduce configuration errors, improve maintainability, and make your systems more robust.

We’ll cover:

  • An overview of the Pkl language and its design principles.
  • How to migrate existing configurations from YAML or other formats to Pkl.
  • Using Pkl with Java-based applications, including Spring Boot integration.
  • Leveraging Pkl for Kubernetes configuration to enhance safety and reliability.

By the end of the talk, you’ll have the knowledge and tools to adopt Pkl in your own projects, making your configuration safer, more maintainable, and easier to manage.

Target Audience: This session is tailored for Java Developers, DevOps Engineers, and Infrastructure Engineers who are responsible for managing application and infrastructure configurations. Software Architects looking to improve the safety and maintainability of configuration across complex systems will also find value in learning about Pkl.

< speaker_info />

About the speaker

James Ward

Principal Developer Advocate, AWS

James Ward is a professional software developer since 1997, with much of that time spent helping developers build software that doesn't suck. A Typed Pure Functional Programming zealot who often compromises on his ideals to just get stuff done. Currently a Developer Advocate for AWS.nerd / software developer who shares what he learns with others though presentations, blogs, demos, and code. After over two decades of professional programming, he is now a self-proclaimed Typed Pure Functional Programming zealot but often compromises on his ideals to just get stuff done. After spending too many sleepless nights in data centers repairing RAID arrays, he now prefers higher-level cloud abstractions with appropriate escape hatches. James is a huge Open Source proponent, hoping to never get burned by lock-in again.