Java developers can now use Azure Functions, Microsoft's serverless computing platform, to build and deploy applications on the Redmond, Wash. software marker's cloud.
Serverless computing is gaining ground among businesses and the world's major cloud providers, but contrary to the image the term conjures up, servers are still very much involved in serverless applications.
What's missing is the burden of allocating, scaling and managing of compute resources for application workloads. Instead, cloud providers dynamically handle all that, allowing software development and IT operations teams to focus on building and deploying applications faster.
Naturally, Microsoft isn't the only technology giant investing in serverless computing.
Since the debut of its Lambda service in 2014, Amazon Web Services (AWS) has been aggressively pushing serverless computing. Now, serverless computing is poised to become the primary way of running compute services, containers and Elastic Compute Cloud (EC2) instances on the AWS cloud.
In April, IBM set out to make it easier for developers to build Internet of Things (IoT) solutions by adding new capabilities to its Bluemix OpenWhisk serverless platform. Google also jumped on the bandwagon with the beta release of its Cloud Functions service during the company's Next'17 conference in March.
Microsoft has enabled Java support using the open source Azure Functions runtime running on .NET Core, enabling multiple programming languages to use the service, said Nir Mashkowski, partner director of program management of Microsoft Azure App Service, in an Oct. 4 announcement. Java is the first language under this new model.
"The new Java runtime will share all the differentiated features provided by Azure Functions, such as the wide range of triggering options and data bindings, serverless execution model with auto-scale, as well as pay-per-execution pricing," said Mashkowski.
The transition to building serverless applications on the Azure cloud is a fairly seamless one, added Mashkowski. "As a Java developer, you don't need to use any new tools to develop using Azure Functions. In fact, with our newly released Maven plugin, you can create, build, and deploy Azure Functions from your existing Maven-enabled projects."
As an added perk, the new Azure Functions Core Tools release allow users to run and debug code locally using popular IDEs (integrated development environments) like IntelliJ as well as Microsoft's own Visual Studio Code. Information on getting started with Java on Azure Functions is available in this blog post.
Another recently-released Microsoft cloud service is Azure Building Blocks, a collection of Azure Resource Manager templates and tools that streamline the process of deploying Azure cloud computing resources. Azure Resource Manager is a template-based cloud resource deployment and management service that lends consistency to the process of spinning up cloud applications.
Currently, the solution supports a number of Azure resources, including Windows and Linux VMs (virtual machines), VM Extensions, Network Security Groups, Internal and External Load Balancers, Application Gateway, Virtual Networks and User-Defined Routes. Examples, as well as links to the Azure Building Blocks repository and command line tool on Github, are available here.