AppLogic Technology
AppLogic Technology
AppLogic Technology
April 2006
www.3tera.com
Introduction
Web 2.0 and Software as a Service (SaaS) are rapidly reshaping the software
industry. For the first time, software applications can be delivered directly to
any user, anywhere in the world, as online services accessible at a click of
the mouse. But there is no free lunch: today, it takes enormous amounts of
money and skills to build and operate the IT infrastructure needed to deliver
online services to hundreds of thousands of users.
Getting the cost and complexity of scalable web operations under control
requires an entirely new approach to infrastructure. Hardware provisioning
and equipment failures need to be dealt with automatically. The
infrastructure has to scale dynamically without requiring application
downtime. Most importantly, deploying new applications and changing
existing ones must be made much simpler.
The basis for this new infrastructure is the grid. Despite the buzz about grid
computing, grids have so far been limited to running so-called high-
performance computing (HPC) applications such as business intelligence,
simulations, derivatives trading, etc. However, the vast majority of web and
business applications are not computational in nature – instead, they process
large numbers of small concurrent transactions (transactional applications)
and/or deliver content (I/O intensive applications).
AppLogic is a grid operating system for scalable web applications and
services. AppLogic runs distributed transactional and streaming applications
on grids of commodity hardware. It does not require a SAN or other
expensive shared storage. What's more, AppLogic is completely compatible
with existing web applications, and is open and vendor-neutral.
Overview
AppLogic is the first grid operating system that is designed for web
applications and is optimized for transactional and I/O intensive workloads.
It uses advanced virtualization technologies to ensure complete compatibility
with existing operating systems, middleware and applications. As a result,
AppLogic makes it easy to move existing web applications onto a grid
without modifications.
AppLogic Applications
Applications are the main entities in AppLogic. Making distributed scalable
web applications easy and logical is the main purpose behind AppLogic.
An AppLogic application is a single system object that includes everything
necessary to run a specific distributed application such as a CRM system, a
PBX or an e-commerce application. It includes the application code, HTML
pages, templates and scripts, databases and content, but also operating
systems, middleware, file storage, load balancers, firewalls and all
configuration information needed to reconstruct and run the application on an
AppLogic grid. In addition, each application carries a defined resource
budget - a minimum set of hardware resources including CPU, memory and
bandwidth that are required to run the application, and the maximum
resource quota allowed for it.
AppLogic applications are hardware-independent and do not include any
references to hardware such as servers, IP addresses and host names, storage
LUNs, etc.
This enables AppLogic to provision hardware resources for the application
on the fly, to run multiple instances of the same application on the same grid,
and to start the same application on different grids without requiring
modifications. The process of preparing an application to run is not unlike
the "fix-up" performed by traditional operating system loaders when
preparing an executable file to run.
Application Setup
The application setup includes configuration parameters such as DNS
domain name, public IP addresses, specific hardware budget, admin user
name and password and similar values that vary from one instance of the
application to another. When instantiating the application, users can specify
setup parameters without the need to know how the application is built.
Application Volumes
Each application has one or more volume images containing the application-
specific code and content. A typical application will have a single volume on
which HTML files, scripts, Java beans, etc. are deployed, another volume for
the database and a third for the visual/video content. This is by convention
only - any combination of volumes is possible.
Disposable Infrastructure
A key element of every AppLogic application is a set of disposable
infrastructure appliances, such as gateways, firewalls, load balancers, web
servers, application servers, database servers, file servers, mail servers and so
on, and a main assembly that ties them together into a logical structure
Disposable Infrastructure
Making infrastructure disposable is a unique capability of AppLogic.
Disposable infrastructure is enabled by the recent rapid growth in the speed
of commodity x86 processors in comparison with the performance of
network and storage hardware. The excess CPU cycles make it possible to
implement in software most of the infrastructure functions that needed
hardware assistance even a couple of years ago. This enables AppLogic to
take the "smarts" out the smart infrastructure boxes, and package them into
software objects that are created on demand and composed into complete
application infrastructures.
The technological foundation of AppLogic disposable infrastructure is a new
distributed component model. The AppLogic component model provides
several powerful and unique capabilities:
Hierarchical composition
The AppLogic component model makes it possible to package structures of
interconnected components into new appliance classes that can be
manufactured on demand and used in exactly the same way as one would use
a virtual appliance. For example, one can assemble a "clustered database
appliance" from regular database servers, load balancers and storage, and
make a complex cluster as easy to use as a single database appliance. The
assembly support is hierarchical, allowing users to create assemblies of
assemblies of assemblies and so on, enabling the construction of truly
gigantic applications. Indeed, every AppLogic application is an assembly.
System Services
The AppLogic Distributed Kernel provides a set of system services required
to implement the distributed infrastructure and application model of
AppLogic. The three most important system services include:
Summary
The forefront of IT technologies is shifting away from traditional large
enterprises. The dynamic nature and scale of Web 2.0 and SaaS pioneers are
stressing the abilities of existing IT infrastructure, systems and practices.
Each of today’s successful web companies have been forced to invent their
own ways to manage and scale infrastructure by building their own tools and
using a lot of manpower. Those that couldn't scale have seen their market
opportunity evaporate.
AppLogic is the first system designed specifically to address the needs of the
new IT vanguard. By combining scalable grid architecture, virtualization and
disposable infrastructure, AppLogic enables users to deploy existing web
applications on grids and operate on them with remarkable ease.
For the first time, the underlying hardware can be treated as an easily
scalable resource for applications, instead of a deadweight that prevents them
from evolving. Applications can be deployed in minutes, not in weeks. They
can be executed, cloned, exported and even scaled dynamically without
concern for the underlying hardware.
With AppLogic Web 2.0 and SaaS providers can focus on their business
instead of their infrastructure.
About 3TERA
3TERA is a leading provider of grid and utility computing solutions that simplify the deployment,
operation and scaling of online services. Customers use 3tera's systems to offer online applications
without the need to build and maintain IT infrastructure. For more information, visit www.3tera.com.
Copyright © 04/2006 3TERA, Inc. All rights reserved. 3TERA, 3TERA logo and AppLogic are
trademarks or registered trademarks of 3TERA, Inc. in the United States and other countries. All other
product names, service marks and trademarks mentioned in this website are trademarks of their respective
owners.