Spring Cloud Azure 4.0 Now Generally Available
Microsoft announced that Spring Cloud Azure -- not to be confused with Azure Spring Cloud -- is now generally available in a version 4.0 update.
Without addressing why there are two different offerings with such similar names, "Spring Cloud Azure" is an open source project that provides seamless Spring integration with Azure services, while "Azure Spring Cloud" is a managed app building/running service by Microsoft and VMware. Spring itself, from the latter company, is a Java-based app development framework used for microservices, serverless, event-driven, batch, cloud and web projects.
The Spring Cloud Azure site says, "It gives developers a Spring-idiomatic way to connect and consume Azure services, with only need few lines of configuration and minimal code changes. Once you're ready to run your Spring app in the cloud, we recommend Azure Spring Cloud. Azure Spring Cloud is a fully managed Spring Cloud service, built and supported by the same team as Spring Cloud Azure."
As we have reported, "Microsoft Pushes Java for Azure Development."
As part of that push, Microsoft on March 30 announced Spring Cloud Azure 4.0 has hit GA status.
"With this major release we aim to bring better security, leaner dependencies, support for production readiness and more," Microsoft's Sean Li said. "Version 4 represents a significant milestone in our product roadmap that we couldn't have delivered without the collective wisdom of the Spring community and customer feedback. On behalf of the Spring on Azure product team, thank you for making this happen!"
Highlights of the update include:
- Simplified dependency management: This was achieved by codifying best practices and expertise from Spring experts and condensing all dependency bill of materials (BOM) into one source, which the team thinks will further ease the learning curve and avoid ill-handling of dependencies.
- Expanded support scope of Azure Support: The Azure Support module in Spring Initializr, which provides auto-configuration of many Azure services, now covers three more sources: Event Hubs, Azure Cache for Redis and App Configuration.
- More flexible Spring programming model: As part of this, the team rearchitected Spring module dependencies to make them fit better with different approaches.
- More control and secure: To further these aspects of the offering, one initiative of the team was to enable credential chain (
ChainedTokenCredential Class) by default, which is said to allow applications to obtain credentials from many different sources such as application properties, environment variables managed identity, IDEs and so on. Li said that helps developers secure apps in a zero-trust programing model.
- More options exposed in a Spring idiomatic way: The team boosted autoconfiguration coverage of Azure SDK clients for both synchronous and asynchronous scenarios.
Li also claimed the new offering was more production ready. "Lastly all of the above would be in vain if we do not have enough feature coverage to support our customers in production," he said. "Many things come to my mind to make an application production ready, but observability often arrives at the top. We've added health indicator for App Configuration, Event Hubs, Cosmos, Key Vault, Storage Blob, Storage Queue, Storage File, as well as Spring Cloud Sleuth support for all HTTP-based Azure SDKs. As an example, you now can probe if storage blob is up or down via Spring Boot actuator endpoint, as well as track dependencies and application latencies in a Zipkin dashboard."
David Ramel is an editor and writer for Converge360.