Hi, Spring fans! Look, it's Monday after the first in-person SpringOne of the 2020's and the first since the pandemic, and, being honest, I'm still utterly wiped out!
I can't even begin to tell you how wiped out I am. Part of it is the sheer fun of SpringOne, of reuniting again with the Spring team and taking in such an epic experience all in one go. Indeed, that's a part of it. And we'll get to that soon enough.
Another part, though, is a bit more intangible. It's the environs – Las Vegas, Nevada – in which the show took place. Vegas is a dizzying, sensational, overwhelming experience, and this time was no different. It was worse because the show coincided with an (extremely rare) hurricane battering southern California (another state!) and whose storms found their way to Vegas. Tons of folks had missed connections, but on the whole, it seems most people made it to the show.
The show was held coincidentally in the same venue and via the same booking with VMWare Explore, one of the world's largest industry shows, and so was set up from the get-go to handle scale. This is good because the SpringOne show surpassed all expectations and needs room to scale.
This overwhelming scale was nowhere more evident than in the keynote, which was standing room only. I don't know what I expected to do in a quick cursory recap of the show – what, dump my notes on every session? That'd be impossible! So, to recap the show best, I'll recap the keynote.
Our very own Tasha Isenberg and Dashaun Carter were the emcees for the event, and it was a pleasure to behold.
During the keynote, the good, the great, the incomparable Dr. David Syer, Moritz Halbritter, and I celebrated ten years of Spring Boot. Yes, it is already ten years old. I can't believe it either! And this year, we also celebrated twenty years of Spring Framework. The astute among you will know that Spring Framework 1.0 didn't come out until 2004, 19 years ago, but there were early releases of Spring Framework that looked and were called like what we know today as Spring Framework. And the doubly astute among, you may remember that Spring Boot came out on April 1, 2014, nine years ago, but there were also early releases in 2013.
Dr. Syer and I revisited the past ten years, looking at the various releases of the technology, including some anecdotes and musing about how things have changed. We did some incredible things. We revived (possibly for a limited only?) the ancient Spring Initializers! Want to generate a Spring Boot 1.0-centric project? Visit start100.spring.io. 1.5? Start150.spring.io. 2.0-ish? start200.spring.io. And, of course, if you want to build a 3.x project, visit the contemporary start.spring.io experience.
Moritz, clad in Lederhosen (you just had to be there…), helped Dr. Syer and me catch up to the latest and greatest in Spring Boot 3.1. The whole 15 minutes was delicious fun, but it was not even close to the only thing we saw that day.
Spring Framework lead Juergen Hoeller introduced some fantastic new opportunities in Spring Framework 6.1 (and Spring Boot 3.2, due by the end of November of this year). He set the table, and follow-up speakers served dessert, bringing us details. For my money, Cora Iberkleid's session was the most valuable minute of any of the sessions. In her session, she introduced (and demystified) the incredible power of virtual threads (Project Loom) in Spring Framework 6.1. She then introduced spring.threads.virtual.enabled=true
, which you'll specify in Srpin Boot 3.2 with Spring Framework 6.1 to enable virtual threads across the supported portfolio projects.
I've long been saying that virtual threads are probably my favorite single feature to have been added to Java. People have left the ecosystem and made do with vastly inferior languages to get what Project Loom promises to bring Java. It's that revolutionary, and I can't wait! Remember, Java 21, which includes Project Loom, is due September 19 September 19, 2023! Do not miss it!
Project Loom promises markedly improved scalability for workloads with blocking IO, but how about startup and performance? Spring has a great story with GraalVM, which has been supported since Spring Boot 3.0 and 2022. The story is only getting better. GraalVM does well at reducing the memory overhead of a given service and improving startup time.
Startup time is critical in all sorts of workloads, like platforms-as-a-services, but especially in serverless, scale-to-zero, and function-as-a-service platforms. And here we had some exciting new developments. AWS's Mark Sailles and Spring and eventing legend Oleg Zhurakousky introduced an exciting new frontier: writing Spring MVC-style `@Controller's that could be deployed and scale-to-zero, on severless infrastructure like AWS Lambda and Azure Functions.
And speaking of Azure, Microsoft's Asir Selvasingh and VMWare's Adib Saikali had an excellent segment introducing some of the fantastic new opportunities (and discounts!) for Azure Spring Apps, a jointly developed and managed platform run on Microsoft Azure. One of the things they demonstrated was using AI – "artificial intelligence?" I hear you gasp, "In 2023? I could not have seen this coming!" – via Azures OpenAI integration, a sort of managed OpenAI-as-a-service offering that people can consume in a familiar, integrated fashion via Microsoft Azure. It works brilliantly with the new Spring AI project!
Which brings us to that? Spring AI has finally arrived! This little session could explode in popularity. The legendary Dr. Mark Pollack, first lead of Spring Data, creator of Spring.NET, and cofounder of Spring Cloud Data Flow, had a session that was overflowing with interest, and I even did a livestream with him to talk about it. Spring AI brings a simple AiClient
you can autoconfigure and inject to have it generate responses to human language queries. What a time to be alive!
Did I say I was going to recap the keynote? I can't. There's just too much. You should just watch it here. And I have no shot at being able to capture even my top ten favorite sessions. You should just watch them here as they're put online. (There are already some of them there, so get goin'!)
This show was loaded with an impossible burden – providing the long-awaited return to in-person events for SpringOne while celebrating 20 years of Spring (did you see this) and 10 years of Spring Boot, all the while capturing the unparalleled diversity of ideas in the modern JVM zeitgeist and preparing the largest ecosystem in the world for what lay ahead. But, somehow, it did it!
I can't wait for next year!