• 5 min read

Bringing hybrid cloud Java and Spring apps to Azure and Azure Stack

Microsoft is proud to be a platinum sponsor of Pivotal’s SpringOne Platform conference, which started yesterday in San Francisco. SpringOne Platform is a premier destination for enterprise developers…

Microsoft is proud to be a platinum sponsor of Pivotal’s SpringOne Platform conference, which started yesterday in San Francisco. SpringOne Platform is a premier destination for enterprise developers and architects who are passionate about cloud-native applications, and IT leaders that have seen first-hand how cloud-native and serverless programming are transforming organizations in the cloud.

At Microsoft, we believe that our role doesn’t stop at offering a great platform for cloud-native apps. It’s equally important that developers can deliver high quality software rapidly to their teams, and that’s why we’ve been rethinking what the developer experience for cloud-native applications looks like. We’re working with partners and the ecosystem to offer the most productive tools for developers to build agile applications across multiple environments.

With that goal in mind, today at SpringOne Platform we’re proud to join Pivotal in announcing improved support for Pivotal Cloud Foundry across Azure and Azure Stack. This is an important milestone in our partnership with Pivotal and in making our hybrid cloud, both public and private, a leading platform to run enterprise Java and Spring applications. Additionally, we are taking the opportunity to unveil three new products and updates to improve support for Java and Spring on Azure — enhancements to Java Azure Functions, including remote debugging support, and new Spring and Java Azure Functions extensions for Visual Studio Code.

Pivotal Cloud Foundry lands on Azure Stack

During today’s keynote, Pivotal announced that Pivotal Cloud Foundry is officially coming to Azure Stack in beta, expanding Azure’s longstanding support for Pivotal Cloud Foundry to include hybrid scenarios. The addition of Azure Stack support enables you to deploy apps written using any language and framework, including Java and Spring, to the public or private cloud securely and easily with Pivotal Cloud Foundry.

Pivotal and Microsoft have been working together to offer a consist experience to avoid “snowflake environments”. For example, Pivotal Cloud Foundry uses the same operations manager and provisioning agent for Azure Stack and the public Azure cloud. You can also use the Open Service Broker for Azure in Pivotal Cloud Foundry on Azure Stack to connect to services on the public Azure cloud like Cosmos DB, Service Bus, and more.

Pivotal Cloud Foundry and Azure

Lighter image for Pivotal Cloud Foundry on the Azure Marketplace

We know that the Azure Marketplace is a valuable way for you to provision software in the cloud. That’s why we’re pleased that Pivotal chose the Azure Marketplace as the first place to offer a new, lightweight image of Pivotal Cloud Foundry.

The Small Footprint Runtime offers very similar functionality to the traditional image, but requires 70% fewer VMs. This is great for small environments like proof-of-concepts, edge locations, or departmental solutions that want velocity, but with the smallest infrastructure possible.

Azure Services in Spring Initializr

Spring Initializr enables developers to handle the dependency management and make the bootstrapping process for Spring projects much easier. Today, in collaboration with Pivotal, we’re excited to announce new Spring Boot Starters for Azure, providing Java developers a shortcut to apply Spring technologies to Azure.

Spring Initializr

Java developers can now get started with their Spring applications on Azure quickly by typing “Azure” inside Spring Initializr to choose the dependencies for Azure services, or by selecting options they want to include from the new Azure section on the full version of the site. You can also access Azure dependencies from the cf CLI, Visual Studio Code, Eclipse, and IntelliJ. All of our Spring Boot support is open source on GitHub.

At launch, we are offering the following Spring Starters for Azure, with more to come:

  • Azure Support: Provides support for the Azure services below, plus all other services currently available via Spring Boot Starters.
  • Azure Active Directory: Enterprise grade authentication using Azure Active Directory.
  • Azure Key Vault: Manage application secrets using Azure Key Vault.
  • Azure Storage: Integration with Azure Storage including object storage, queues, tables, and more.

Using Visual Studio Code to develop and debug Java Functions

Just a couple of months ago, at JavaOne, we announced the preview of Java support for Azure Functions, our serverless platform. During the preview, we’ve heard a lot of great suggestions from the Java community and have made some key improvements and added new features, including binary data support and specialized data types for HTTP and metadata. More details could be found in our developer guide.

In addition to the service running on Azure, we’ve also upgraded the developer tools to make developing Java Functions on Azure more enjoyable. In particular, we are announcing today two new features for developing Java Functions:

  • Remote debugging support: Since the launch, developers have been able test and debug Java Functions using an emulator in their local development environment. With today’s update, the Visual Studio Code debugger can now attach to Functions running on Azure, remotely, for more complex and production-like scenarios.
  • Azure Functions extension in Visual Studio Code: With this extension, you can easily develop, test and deploy Java Functions to Azure, directly within Visual Studio Code, our free, open-source editor for Windows, macOS and Linux, as well as managing existing Functions on the cloud. Visual Studio Code also provides awesome editing and debugging experience for Java developers, with features like IntelliSense, linting, and peek/goto definition.

All those new features and tools are available now and you can follow our tutorial to give it a try.

Spring Boot extensions for Visual Studio Code

Lastly, we’re happy to report that at SpringOne Platform, Pivotal shared a new set of Visual Studio Code extensions that add first-class support for Spring Boot developers. Pivotal has invested in making Spring Boot development easier for developers using all editors, including Visual Studio Code.

With the new extensions from Pivotal, you get full code-completion support, validation and assistance for application property files, navigation shortcuts, and the ability to inspect running apps. Combine that with the Spring Initializr support mentioned above, and you can quickly initiate, develop, and deploy applications anywhere, including Pivotal Cloud Foundry on Azure and Azure Stack.

Transforming organizations with open source software

We know developers and companies come to SpringOne Platform to share knowledge and collaborate around the goal of transforming organizations with software, which the cloud, both public and private, enables.

Unsurprisingly, open source plays an important role in those cloud-native applications and when it comes to real-life use cases in the enterprise, Java plays a very special role as well. For example, in one of our case studies you can read how Merrill Corporation used Spring Cloud and Spring Boot to dramatically accelerate how they delivered value. Merrill’s DatasiteOne was built in less than a year, compared to a normal 3 year cycle, and updates were pushed daily, compared to a usual 5-week cycle.

Moving forward

We’re excited about all of the announcements that are coming out of SpringOne Platform from both Microsoft and Pivotal. We’re working to make Azure a great platform for all developers, including those working with Java and Spring, enabling them to deploy to virtual machines, container, Functions and third-party platforms like Pivotal Cloud Foundry. We’re also enabling first-class hybrid scenarios with Azure Stack.

If you’re building apps in Spring, check out our developer hub for Spring on Azure, including how to use the new Azure starters in Spring Initializr. You can also adopt the serverless pattern and build your first Azure Function in Java with our free Azure trial.