Cloud control systems tame the ether
3tera, Enomaly, Kaavo, and RightScale take myriad and mixed approaches to managing virtual servers in the skyFollow @infoworld
Though AppLogic's core is Linux, it can host virtual machines running Linux, Solaris, and Windows Server 2003. But the fundamental building block of a multitier AppLogic system is not simply a guest operating system; it is the duo of virtual machine (running the guest operating system) and application -- such as Apache or MySQL. This combination is called an "appliance," and it is a unique feature of AppLogic that, in an appliance, the application takes precedence over the containing OS. You create a cloud application by wiring together applications, and the fact that each application is running in its own OS is merely incidental.
This is a powerful paradigm, because it insulates you from the details of a particular OS; the OS is merely a container, a runtime environment for the application. Configuring and tuning the application are what counts, and this focus on application construction becomes apparent when you step inside AppLogic's management console.
[ Cloud computing offerings differ in depth, breadth, style, and fine print. See Cloud versus cloud: A guided tour of Amazon, Google, AppNexus, and GoGrid. ]
Log onto AppLogic's management console, and you are presented with the tool's Dashboard, where in-flight instances are displayed, accompanied by each instance's basic usage statistics: CPU, disk, and memory. Click the Applications tab, and you're shown a list of your account's applications; the list includes the application's state (stopped or running), a description, and associated CPU, memory, and bandwidth resources. Finally, the Support tab is a jumping-off point for 3tera's documentation, release notes, and support forum.
All the action is on the Applications tab. Select an application and the AppLogic editor opens. The application is represented as a network of nodes on a canvas. Each node is an appliance, populated with input and output connection points called "terminals." If you want, say, a Tomcat appliance to send database queries to a MySQL appliance, you drag and drop each onto the canvas, then drag a connection line from the output terminal of the former to the input terminal of the latter. It's a lot like wiring circuit components. An "appliance palette" waits to the side, from which you can drag new appliances onto the canvas and wire into your application. Right-click on an appliance, and you can configure its property values and attributes.
To actually configure or tweak the internals of an appliance, you log onto it. (Remember, an appliance is an OS running an application.) A secure shell window opens, from which you can execute Linux commands to your heart's desire.
The glue that cements appliances into applications is ADL, the Application Description Language. ADL is very much like XML, but less repetitive and devoid of brackets. It is used to describe all the components (appliances) that comprise an application, as well the structure of the appliances themselves. A complete description of the language is available on 3tera's AppLogic wiki.
Putting together an application for 3tera’s AppLogic is like wiring an electric circuit. The circuit’s nodes are appliances (applications running in virtual OSes), and the wires are connections between application input and output terminals.