Tuesday, February 8, 2011

vFabric on vCloud - meet the vFabric cloud application platform (episode 2)

In this second episode of "vFabric on vCloud" I'll introduce you to vFabric. Our end user here is an architect/developper/devops for the cloud scale application challenge that Octo runs with VMware and Steria - but the demonstration is fairly generic.

The user is having access to the VMware powered platform through vCloud Director, over the internet using its web browser.
He has a vFabric 4 VM cluster running and has access to the built-in Hyperic instance.

Using Hyperic, the user has a centralized, secured and top to bottom view on his application platform - for the entire vFabric stack. Even if the cluster is elastic with new VM coming in, Hyperic built-in self-discovery kicks in and keeps consistency in a dynamic environment.
The vFabric cloud application platform features a number of web related platform services:
  • tc Server - lightweight and scalable enterprise version of Tomcat for Java apps and Spring apps
  • ERS - an Apache based httpd that can frontend the stack or deal with non Java apps (PHP, Perl etc)
  • RabbitMQ - an AMQP compliant messaging broker with many languages binding and additional protocols, that can also be connected straight to browsers for web messaging
  • GemFire - a distributed data grid that combines replicated / partionned caching and eviction with map reduce and no-data loss / shared nothing parralel persistence capabilities
  • Hyperic - an agent based distributed system for performance monitoring and control of the entire stack - from bare operating system to inside-application - that provides fundamental capabilities to manage elastic environments at scale, including non-vFabric if you want.

vFabric can be used as a whole platform "better together" - with for example tc Server offloading state (session, Hibernate L2 or java caching) to GemFire, and async processing to RabbitMQ - while ERS can load balance tc Server instances.
Hyperic glue the entire distributed environment together from an operational perspective - for deployment, configuration, remote control and performance management - but you can use command line just as well.

In a next episode we will look at part 3 of the user experience - as seen from a cloud operator adding new vFabric VM to the cluster to increase compute and data capacity at deploy time or at runtime with a "clone to scale" built-in design.