| Feature | Details |
|---|---|
| Virtual infrastructure | AppLogic replaces the expensive and difficult to integrate IT infrastructure including firewalls, load balancers, servers and SANs with disposable virtual infrastructure that is instantiated on demand and deployed on the grid as part of the application. In AppLogic, all infrastructure required to deploy and scale a web application is assembled visually from a catalog of pre-integrated and pre-tested virtual appliances. Each appliance runs in its own virtual environment that boots it's own Linux OS and appears as a separate physical server to the software that runs inside the appliance. AppLogic's catalog appliances are built using leading open-source infrastructure including Fedora Linux, Apache, MySQL, JBoss and many other packages. Users can modify catalog appliances or build their own appliances from scratch. |
| Packaged distributed applications | AppLogic packages all code, data and infrastructure required to run a scalable web application into a single logical entity that can be started, stopped, managed, copied or even exported to another grid without modifications. By managing all interdependencies within the application, AppLogic leaves the user with a single logical entity that is easier to manage than most desktop applications. AppLogic includes several popular open-source applications such as Bugzilla, TWiki, SugarCRM and Zimbra. These applications are pre-integrated and ready to run. See release notes for the applications included in the current release. |
| Single point of management | AppLogic aggregates commodity servers into a scalable grid that is managed as a single system using a browser or secure shell. You can add or remove servers on the fly, as the gird is running, monitor the hardware, manage user credentials, reboot servers, install software, build virtual appliances, backup the system, repair damaged storage volumes, inspect logs and perform all other management tasks from a single point of control, all while the system is running. With AppLogic, managing a 48-server grid and a 2-server grid takes approximately the same effort. The current release supports up to 128 servers per grid. |
| Application scaling | AppLogic applications are fully virtualized and can be scaled easily from a fraction of a server to many servers. For example, the SugarCRM application included with the system scales from 30% of a CPU and 380MB of RAM to 7 CPUs and over 5GB of RAM without modifications. When starting an instance of an application, the user specifies the amount of system resources to be assigned to the particular instance within the limits set by the application integrator. Depending on the amount of resources specified, multiple instances of the same application may run on a single server, while another instance may span multiple servers. Today, scaling resources requires restarting the application. Starting with the next major release, AppLogic will support scaling a running application up or down, on the fly, with full transactional integrity. |
| Operations monitoring | AppLogic includes a sophisticated monitoring system that provides unprecendented visibility into the operation of the web applications running on the grid. The system combines runtime information from the hardware, the virtual infrastructure and the applications themselves and makes this data available to the operator through an intuitive visual interface. You can monitor the use of system resources per application and per virtual appliance or server within the application, network traffic on each logical connection, as well as many software parameters from popular packages such as Apache, MySQL and others. You can also create and monitor custom counters that are computed from a combination of other counters, and set alarms on each counter. |
| Application snapshots | AppLogic makes it possible to take a snapshot of the entire N-tier application and save it. The snapshot of an application is an application whose code, content and databases reflect the state of the original application at the moment the snapshot was taken. Application snapshots make it easy to implement automated backup procedures. Taking a snapshot makes the roll-back of a faulty upgrade as easy as starting the snapshot application and shutting down the failed one. In the current release, applications need to be stopped in order to take snapshots; live snapshots will be included in an upcoming release. |
| High availability | AppLogic implements many features that improve availability of the system and the applications that run on it. These range from storage mirroring across multiple servers which ensures that a server failure never results in data loss, to the ability to recover from a failure of the grid controller, to high-availability features built into the catalog appliances. The ability to easily run two identical instances of the application on the same grid, or in different datacenters, provide the ultimate approach to high availability, in which a hot standby of your entire application is always available to take on the user load, should the primary instance of the application fail. |
| Resource metering | AppLogic has a built-in system for metering the resources used by each application. The system tracks and reports all significant events in the application lifecycle at which hardware resource use can increase or decrease, and the exact amount of memory, CPU and bandwidth assigned to the application on each of those events. The metering system is intended to serve as a foundation for sophisticated utility computing billing systems that make it easy to bill users for the exact amount of resources they consume. |
| Automation and integration with management systems | AppLogic comes with a powerful command-line interface that is fully scriptable and easy to integrate with datacenter management systems. In addition to scripts that control the operation of AppLogic, the interface makes it easy to intercept logical events such as server failure or reboot, start and stop of an application or appliance, failure of an appliance, intrusion detection and many others. Whenever such an event occurs, AppLogic runs a user-defined script that can take corrective actions and/or report the event to an external management system. For example, it is easy to write a script that restarts a failed appliance, or, alternatively, redirects the Internet traffic to a hot standby copy of the application and sends e-mail to the operator. |