What's New in Latest Spring Cloud Azure Release?

A major update of Spring Cloud Azure, the open-source project that integrates the Spring framework for modular Java app development with Microsoft's Azure cloud services, is now generally available. Version 4.0 comes with better security, leaner dependencies, and support for production readiness, among other improvements.

Spring Cloud Azure should not be confused with Azure Spring Cloud, which is Microsoft's managed service for hosting Spring apps. The former is part of Microsoft's ongoing push on the Java front.

Spring Cloud Azure 4.0 represents "a significant milestone" in the project roadmap, said Microsoft software engineer Sean Li, in a blog post.

"At the Developer Division of Microsoft, we are big on developer experience.," Li wrote. "We constantly challenge ourselves on how we can make things more consistent and easier to understand, so our customers are not confronted with haphazard development choices. This is a long and self-evolving journey as consistency is relative and there will be things that are outside of our control. We now humbly take another step in this direction to improve to our developer experience by unifying project name, artifact ID and properties."
Highlights of the Spring Cloud Azure 4.0 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. According to Microsoft senior software engineer Sean Li, 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.

"[A]ll of the above would be in vain if we do not have enough feature coverage to support our customers in production," Li added. "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."

About the Author

David Ramel is an editor and writer for Converge360.