Hi, Spring fans! I'm excited to be keynoting and giving a talk at Microsoft's JDConf this year. There's never been a better time to be a Java and Spring Boot developer. We live in an age of incredible opportunity. Today, it’s commonplace to build scalable applications and services that wield artificial intelligence, and run in minimal form factors and start up instantly using abstractions that cater to your business logic in minimal code…and then deploy to a production environment that scale with your needs. And, all in one sitting!
AI is here and it’s having a huge impact on developers. There's an entire pipeline in AI that our nascent project, Spring AI, supports—from ingesting data and storing data in vector stores,to connecting our LLMs to that data.. Join me at JDConf, and we'll look at how Spring AI makes integrating AI, such as Azure OpenAI, easy and awesome.
A good application is a production-worthy application, and Spring Boot aims to make it as easy as possible to build good applications. However, there are several concerns ("-ities") you'll need to think about before you even think about production: Observability, scalability, and go-vroom-vroom-in-production-ability.
The core conceit of observability is simple: Given an application, tell me what's happening by its outputs. This includes things like logging, distributed traces, and metrics. Here, Spring Boot integrates with the Micrometer.io library to make it trivial to integrate with observability stacks such as those provided when deploying to Azure Spring Apps.
Java 21 is here, and it brings with it virtual threads, which give you the same vaunted scalability —the ability to handle manifold more users at the same time in IO-bound services—like reactive programming without the paradigm-breaking refactorings. Join me, and we'll look at what virtual threads are and how Spring Boot makes leveraging them easy. If you're deploying on cloud infrastructure like Azure Spring Apps or Azure Spring Apps Enterprise, then, of course, it's trivial to scale up and out your applications and services, but what if you didn't need to scale quite so much anymore?
Scalability is only one dimension of production. We also need to think about packaging the application. We want to create as small and optimized an operating system and architecture-specific native image as possible, using the amazing GraalVM project. Spring Boot's AOT engine makes this trivial. Then we need to package the application as an OCI image, or a Docker container, which we can do with Buildpacks.
At JD Conf I'll introduce you to the latest and greatest in Spring Boot, and we'll see, together, why, truly, there's never been a better time to be a Java and Spring Boot developer!
Register and join my session at JD Conf: Bootiful Spring Boot 3
If you enjoyed this blog, I hope you'll subscribe to our YouTube channel, where I have new videos every week in the Spring Tips playlist. And, of course, you can find my Twitter/X, website, YouTube channel, books, podcast, and much more here on Biodrop.
Other fresh new Spring sessions to attend at JD conf:
Spring AI: Streamlining Java Enterprise AI Development and Deployment Mark Pollack, Broadcom
How to Keep Your Spring Boot Projects Up-to-Date Martin Lippert, Broadcom