Getting Started with Java on Azure
This post is provided by App Dev Managers, Derrick Sharpe and Andrea Martini, who spotlight the use of Java on Windows Azure.
Many people are surprised to hear that running Java on Microsoft Azure is even possible, but there are many large, Java-based production applications running in the Microsoft Cloud. Azure provides numerous resources just for Java developers who want to work with cloud-native applications, or just use cloud services from your on-premises applications.
Java developer tools on Azure
Looking for Cloud APIs? Build out Java apps or microservices using the Azure SDK for Java for accessing Azure Cloud Services such as Blob Service, Media Services, Queue Services, Service Bus Queues, SQL Database and Table Service. The SDK runs on Windows, Mac and Linux and is open source and available on GitHub.
Looking for manageable identity services? Use the Azure Active Directory Library for Java to plug into identity services that run in 80% of the world’s enterprises. As you can see from the code snippet below it is quite easy to use Azure Active Directory from you Java app.
Sample of Java Console App calling Azure Active Directory for Authentication
If you’re looking for a NoSQL solution to connect your Java app with MongoDB’s popular Java API, we have MongoDB available on Azure via MongoLab, and Microsoft’s own DocumentDB service also has a Java SDK.
You can work with Azure from your favorite UI! Eclipse developers can use the Azure toolkit for Eclipse to build and publish Eclipse projects to Azure Cloud Services from Eclipse clients on Windows, Mac or Linux. If you’re working with IntelliJ IDEA and/or Android Studio, the MS Open Tech Tools plugin for Microsoft Services provides Azure integration between Android apps, Office 365, Azure Mobile Services, and Azure Storage. You can also publish your Java apps from IntelliJ IDEA to Azure Cloud Services.
If you want a light, free, open source, cross-platform, git-friendly, extensible alternative to the options above Visual Studio Code can be the answer. There are plenty of Java extensions in the marketplace today that provide support to the Java developer experience. Can the tool and the extensions cover every Java development project? Not all, but the tool’s flexibility definitely makes it a good substitute for several Azure and Java development scenarios.
Search for Java Extensions in the marketplace
Want to build stateless apps and manage persistence elsewhere? Azure Redis Cache is a safe bet, and easy to use. Here’s a tutorial on how to use Azure Redis Cache with Java.
Continuous integration and deployment tools for Java on Azure
If you work with Jenkins you can provision and manage Azure Virtual Machines as Jenkins Slaves with the Jenkins Slave Plugin for Azure. You can also deploy build artifacts to cloud storage using the Azure Storage plugin for Jenkins.
If you prefer Hudson, we have you covered too, with the Hudson Azure Slave Plugin and the Azure Storage Plugin for Hudson.
Microsoft also partnered with CloudBees to deliver CloudBees Jenkins Enterprise on Azure. It’s a set of plugins that secures and optimizes Jenkins, and is compatible with open source Jenkins and all Jenkins community plugins. Learn more on the CloudBees Blog.
If you manage builds and deployments with Apache Ant, the latest release of the Azure toolkit for Eclipse also enables the ability for command-line deployment to the Azure Cloud outside of Eclipse.
If you use Visual Studio Code during the development stage then the Azure extensions in the marketplace can facilitate the Azure deployment process. And do not forget: PowerShell or CLI can always be your friend; on any platform!
Documentation, tips and tricks
To help get you started Microsoft has put together some great resources. The Java Dev Center includes documentation on all the Java APIS we have for Microsoft Azure cloud services, plus tips and tricks for Java Devs in general. Additional Java Development Guidance can be found here.
If you prefer JavaDocs, there are JavaDocs available for Azure, Azure Storage, DocumentDB, and Application Insights.
You can also check us out on:
Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality. Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.