Cloud control systems tame the ether
3tera, Enomaly, Kaavo, and RightScale take myriad and mixed approaches to managing virtual servers in the skyFollow @infoworld
All the information needed to deploy an application is gathered into a single file, called the system definition file. Crack the file open, and you'll find what looks like a description of a state machine. The IMOD engine executes this file, booting the different tiers of an application in proper order. The file can also specify corrective action to be taken if a tier somehow fails to boot. Each tier specified in the system definition file consists of one or more servers. When you configure a particular tier, you specify the number of servers on that tier, and IMOD lets you manage them as though they were a single system.
The system definition file contains two major sections. One defines the static artifacts of an application (tiers, servers). The other is a flow control section that specifies the actions that the IMOD engine is to perform when the application is being launched. These actions are defined in the form of Velocity templates -- Velocity being a scripting technology that allows you to embed Java classes in a script file, so you can create scripts that are not only descriptive, but executable as well. It is this "descriptive executability" that permits IMOD to roll everything it needs to know about a system into a single file.
IMOD's user interface is a three-tabbed control panel. Foremost on the list is the N-Tier tab, where you can view available templates and systems (the latter being the configured and executable form of the former). Select a system, and you can view it either in graphical, "run-time" form, or as a text-only XML file (the system definition file mentioned above). You can also open a tree view of the system, which shows the state of each of its Amazon Machine Images (running/terminated), its instance identifier, firewall rules, and more. Click the "start system button," and the selected system is deployed and launched in accordance with the system definition file.
Kaavo provides a number of prebuilt templates that you can use to jump-start your own applications. These include a variety of JIRA configurations (JIRA is a popular issue-tracking system), a MySQL cluster system, a template for the PHP-based collaborative project management system phpCollab, and more.
Other entries on the control panel include the Profile tab, where you can configure your account. This tab also includes billing and user management. From the Accounting tab, you can review your service usage over a selectable time range.
IMOD's system definition file is a two-edged sword. On the one hand, it keeps everything in one place, and that bookkeeping advantage should not be underrated. Also, if something goes wrong, you pretty much know where to look. On the other hand, it's one more language's syntax you have to learn. Because it depends on Velocity, an understanding of Java is a definite advantage. Nevertheless, Kaavo's documentation is good enough that even new users can find their way around with few bruised noses.
Kaavo’s IMOD provides a graphical runtime view of an application (shown here), as well as a structured tree view of the application’s architecture. The tree view shows the state of each server, as well as parameters that identify the machine instance, access keys, firewall rules, and more.