Cloudify Deploys Java on Azure

GigaSpaces Technologies has just rolled out the feature-complete beta version of its Cloudify for Azure enterprise Java application platform for on-boarding JEE, Spring and big-data apps to Microsoft's Windows Azure platform. The solution has been in private beta since July, and the company expects it to release the final version later this year.

Cloudify for Azure is designed to allow users to get their Java and Spring apps onto the Azure cloud with no architectural or code changes, explained Yaron Parasol, GigaSpaces lead product manager. The company is clearly appealing to enterprises with existing Java workloads with this solution.

"Our background is in enterprise applications," Parasol said. "We're not into all of those long-tail, Ruby on Rails, LAMP applications. We understand the complexity of serving the production environment for the enterprise."

Cloudify for Azure is designed to natively integrate three Azure components: Worker Role, Load Balancer and BLOB storage. It comes with the GigaSpaces Java in-memory data grid, as well as built-in application- and cluster-aware monitoring features.

The solution's automatic self-healing capability replaces crashed nodes and machines with new ones according to the user's "recipe." A recipe is an execution plan that automates configuration, deployment, monitoring and scaling of an entire app stack, Parasol explained. Cloudify recipes can automate any stack, and require no changes to an application's code, he said. The solution comes with pre-designed recipes for common Java stacks, such as Spring, Tomcat and AzureSQL.

"You prepare the recipe using our Cloudify shell and some other tools that you're used to working with, like an IDE," Parasol explained. "And basically, you take your application -- both the business logic and the different containers, databases, etc., that you need your application to run on -- and you just wrap it with your recipe. It's totally external to both your application and the containers. Then you deploy it to the cloud. The rest is totally automated."

"It's like an execution plan that describes the life cycle of each service, the dependencies between the services, the monitoring capabilities, the scaling rules, and so on and so forth," Parasol added. "There's one master plan for each service, and then there's one for the entire application. They have something like four or five phases, but you can take baby steps. You can start with automating the installation and startup, then later add monitoring, then take your custom metrics and add scalables on top of them. You don't have to do everything at once."

The 10-plus-year-old Israeli company specializes in virtualizing and scaling Java applications, and is a also a provider of alternative app platforms for Java and .NET. The company's flagship eXtreme Application Platform (XAP) is an app server designed to provide a complete middleware solution on a single, scalable platform. The new Cloudify for Azure solution allows users to define complex deployments with interdependencies between XAP and non-XAP modules.