Last week we began discussing 3tera's AppLogic, an infrastructure virtualization system that we're all kinds of excited about. This week we'll take a detailed look at how AppLogic works its voodoo that it works so well.
As we explained, under the hood AppLogic is a set of services that are installed on the freeware, open source CentOS 4.3. In terms of hardware, the AppLogic grid requires an Intel- or AMD-based commodity server with a minimum of 1GB RAM (2GB is preferred), and an 80GB IDE or SATA hard drive (200GB-plus preferred).
The grid infrastructure requires each node to have at least a 100Mbps network interface card (NIC) for the public network and a Gigabit NIC for the private network to support the system-level communications between the nodes of the grid. A dedicated, nonblocking Gigabit switch is required to interconnect all of the grid nodes.
Installation of the grid nodes is done from the AppLogic Distribution (ALD) Server, which can be more or less any PC or laptop that is connected to the private network. This machine isn't part of the final grid, and preparing the ALD takes about one hour while each node takes about three minutes if the machine already has CentOS installed.
Once installed, an AppLogic grid provides two control interfaces: a Web-based management tool and a command-line interface. The Web-based management tool provides status monitoring for the grid and configures applications.
The command-line interface is used to control and manage everything else that concerns the grid and its applications. This includes application and component launching and termination, server and grid rebooting, and so on.
To create an AppLogic application you use the Web-based interface and open what is effectively an infrastructure workspace, a slice of the virtualized infrastructure, into which you can create a new application, copy an existing application or modify an existing one.
The Web interface lets you drag and drop components such as databases, and input and output interfaces, and then connect component outputs to inputs.
You also define the parameters of your application (input and output IP address, mail server name and whatever other parameters are defined), the maximum and minimum number of servers the application is to run on, as well as the maximum and minimum processors, amount of RAM and bandwidth. You can define from two to nine mirrors (in effect, a RAID I configuration between the mirrored servers), which provides automatic application restart in the case of failure.
Once an application is configured you switch over to the shell environment and issue the command "app start < app_name >". AppLogic then builds the application by creating its required storage and setting the configuration details, and then execution is scheduled.
AppLogic is very flexible. If you want to implement configuration and management services of your own the AppLogic shell is fully scriptable.
3tera plans to integrate the command-line interface with the Web interface so that everything can be managed from one place.It also plans to add Windows servers to the system - today if you want to run Windows on the grid you have to run it under VMware in an AppLogic application.
Imagine that you have a few hundred or more servers under your control. Here's the question: Are you one of those guys who just has to have his sweaty hands on the hardware? Could you part with all that shiny stuff?
This is important because if you can let go of servers as they life out then a solution such as AppLogic lets you lease hardware from hosting providers and create, run and manage your service infrastructure out of house. If you need more resources, you pay for more hardware resources and add them to your grid or start a new one. Running and managing your infrastructure can be done from anywhere.
And that's it. Provisioning, running and managing enterprise scale application infrastructure under AppLogic is amazingly straightforward. This is definitely a company and product to watch.