Coté

Coté

Enterprise-grade Spring, and quick AI apps with Java

SpringOne

Yesterday we put on Spring One. There’s still sessions going on, which you can watch live if you register for free. Here’s some highlights.

We went over one of the most valuable products the Tanzu team has put out this year: the Spring Application Advisor. You set this up in your pipeline and it continuously scans for Spring and Java components that need to be updated. Using OpenRewrite recipes, it then creates the code you’d need to apply to not only update those components, but also update your own code and configuration.

This is a huge amount of work to do manually - Amazon estimates that it takes about 50 days. Just generating those changes is huge, but then also having the workflow to look at them, approve them, and make them official is a big help too. After the first go at it, you can then set up your CI/CD pipeline to automatically do this checking.

In large enterprises, keeping your Java, Spring, and other libraries up to date is difficult. Well, it’s more like a vicious cycle where people don’t prioritize it and get stuck using a mash-mash of years (and years!) old frameworks and components. This means they get stuck in the legacy trap: they need to upgrade, but they have no idea if it will break things, so they just keep using the old versions.

In a similar vein, Tanzu Spring also includes the Enterprise Spring Boot Governance Starter which puts in enforces various security and policy standards, like FIPS and PCI. Check out this overview as well.

Spring AI

Of course, what you really want to know about is the AI stuff.

There was a great demo of just how easy it is to add generative AI to a Spring app. Josh Long, Cora Iberkleid, and Mark Pollack went over a demo of doing just that. They made it seem effortless, and that’s the point of using Spring AI. In addition to just wrapping APIs around common AI calls, there’s also common patterns, defaults for setting up chat and RAG…in summary, a ready to go Java stack for using AI in your apps.

There’s also, of course, deep integration between Spring AI and the AI services in the Tanzu Platform. This means that if you’re using the Tanzu Platform for Kubernetes (tPCF), you can start messing around with AI now. There’s all sorts of models that work with it if you want to do some “private cloud” AI, and you can also call out the OpenAI APIs and others as well.

I haven’t watched it yet, but my co-worker Nick did a talk demo’ing Spring AI + tPCF. He walks through a couple of demo apps. This shows the coding, of course, but also how it all integrates together in the Tanzu Platform. He goes over the a platform engineer would do to add AI services to their platform, here our Cloud Foundry PaaS. And, there’s more details on Spring AI here.

Tanzu Platform

Today’s focus at the conference is on our PaaS, the Tanzu Platform. I’ll write more about this later this week. In the meantime, here’s the big round-up, and blog posts on our Kubernetes-based PaaS, our Cloud Foundry based PaaS, and the bundle of databases, messaging systems, and other data stuff we have.

Logoff

In an effort to find any videos from Explore in YouTube, I came across this recording of the original launch of Cloud Foundry in April, 2011. It’s interesting to ponder how far - or how not far - the industry has gotten since then. I think you could change a few words around (put in “Kubernetes” where “Antiquated Middleware Stack” is in the above - not that Kubernetes is antiquated [it’s only 10!] but that it causes stack-complexity problems), update the clothes, and you’d have pretty much the same situation and general pattern of fixing it as you saw back then. We keep going back and forth with the platform build-out.

Two major items of note: I don’t think ruby ever took off enterprise-wise. You can see how much they try to legitimize ruby for enterprise use. Back then, I guess, open source was still sort of scary for enterprises, and definitely not the way a lot of infrastructure was done. There’s a lot of open source in the enterprise boosting that you just wouldn’t see now: it’d be taken as the default.

@cote@hachyderm.io, @cote@cote.io, @cote, https://proven.lol/a60da7, @cote@social.lol