Here's a summary of the Q&As raised during the session:
Can I use the Azure management console to add new instances or do I need to use the Cloudify tools for that? and what about failover?
A: Let's start with failover. Generally speaking when a node crashes within Azure – Azure recovers it automatically. Using the Cloudify integration with Azure, we also make sure that all of the relevant Cloudify components are also restarted as the node is recovered. In addition, the Cloudify platform reacquires them and makes use of them. The other bit is that failures can occur in higher levels of the stack. If your service instance crashes, for example if your Tomcat instance crashes or your Cassandra instance crashes, what can be done here is that the Cloudify agent in each of those instances will take control and will restart those services automatically.
In terms of adding or removing more instances, this can be done both ways. When adding a new instance to an existing role, for example the Tomcat worker role, Cloudify will identify that and automatically leverage the new instances. When you use the Cloudify shell you can type the "add-instance" command – and under the hood what Cloudify will do is to instantiate a new Azure worker role VM, and place the application instances on top of it.
Can I use SQL Azure with Cloudify?
A: Most definitely. Cloudify can handle any application stack that you'd like to use. In our case, we demonstrated a recipe that includes Tomcat and Cassandra, but a recipe can also include a web app that actually leverages the SQLAzure capabilities. So, instead of writing to the Cassandra database – it just uses JDBC on top of SQLAzure. It's very flexible, not bound by any means to the stack demonstrated. If Tomcat is not your application server of choice you can choose other application servers. This is also possible for messaging server and data stores. So, the platform basically enables you to choose any stack you would like.
What about GigaSpaces' own data grid spaces and data partitioning?
A: That will definitely be supported, GigaSpaces is a well-known player in the data grid arena. Being able to provision any kind of stack or any kind of middleware service, also includes the ability to do so for the GigaSpaces middleware stack – you can definitely use our data grid which actually has built in data partitioning and content based routing.
This will also be provided as a built-in recipe, so aside from the recipes already mentioned, we'll also be providing a built-in recipe to actually provision and use our data grid on the Azure platform.
What about log storage? And can I manage tables, logs, and queues?
A: Yes. The application itself can access any element in the stack of the Azure platform such as the queue or table service and the blob store service. The Azure platform provides Java APIs for that, so you can access those services directly from your application.
To summarize, Cloudify for Azure makes it really easy to run enterprise-grade Java/Spring applications on Azure.
With this purpose in mind, we defined four key goals for the platform:
- Enable users to easily deploy even the most complex Java apps onto Azure with zero code changes
- Provide an enterprise-grade production environment for your Java app on Azure through continuous availability, elastic scalability, production ready management and monitoring, and fully automated deployment
- Maximize the already powerful Azure platform capabilities with extremely tight integration
- Leverage our decade of experience in delivering application platforms for large-scale, mission-critical Java applications
I encourage you to give it a go through our beta program. Click here to learn more.