Previous Topic: CA AppLogic Application ModelNext Topic: Virtual Appliances


Virtual Resources

CA AppLogic abstracts the underlying hardware system by virtualizing hardware resources. It is the first system to make distributed web applications portable and hardware-independent. This is achieved by abstracting hardware into three distinct types of virtual resources: Virtual machines, virtual volumes and virtual network interfaces.

The hardware system is a grid of computing or storage nodes connected with a Gigabit or faster network, where at least one node is acting as a grid controller. Each node provides up to three pools of virtual resources, one for each resource type. The controller aggregates the discrete resource pools into a single, scalable distributed resource pool. As a result, for each type of virtual resource there is one scalable, systemwide resource pool.

CA AppLogic allocates or creates virtual resources from their respective system pools. Each resource carries a system wide identification. This enables the accessing of resources in a uniform fashion, no matter where on the grid they are actually located and to migrate resources transparently from one node to another without disrupting the running applications.

Virtual Machines

CA AppLogic implements virtual machines by integrating the Xen virtual machine manager. Xen partitions a physical server into multiple virtual machines (VM). Each VM boots a separate operating system (for example, Linux), and runs any other software it may be configured with.

CA AppLogic virtualizes the access to two types of peripheral devices - network interface cards (NIC) and block storage devices. It also has the ability to migrate live virtual machines from one server to another, transparently to the software that runs inside each virtual machine.

Virtual volumes

A virtual storage volume or virtual volume is a logical disk exposed by one of the servers in the grid and accessible from virtual machines running on any server.

The virtual volumes are persistent, named objects. Their size is defined at the time they are created. They reside on the system until explicitly destroyed.

A virtual volume defined on one of the servers is accessible from any other server in the same grid. This allows a VM that uses the volume to be migrated freely to any server. Each individual virtual volume is stored as a file on one of the servers, shared on the network as a logical volume and accessible to the other servers.

A typical virtual volume is accessed by a single virtual machine. Whenever a volume is shared by multiple VMs, the access to that volume is usually read-only. This enables the aggressive caching of most volumes using the local disks of the server, where the VM accessing the volume runs.

You can also easily create multiple instances of the same virtual volume. Those are useful whenever there is a need to share a large set of data among multiple VMs in a way that permits each VM to make relatively small modifications to the common set of data, such as configuration settings, bindings, and so on.

Virtual network interfaces

CA AppLogic uses virtual network interfaces to abstract the structure of the interconnect in the application.

A virtual network interface is a unique connection point within the CA AppLogic system. An instance of a virtual network interface can be attached to a virtual network interface card (vNIC) on the boundary of a virtual machine, effectively terminating all traffic through that vNIC.

A pair of virtual networks interfaces can be connected to form a virtual wire - a point-to-point connection that carries IP traffic between its endpoints independently of the underlying network technology. The virtual wire then becomes a logical equivalent of a crossover cable that connects two network interface cards directly: It transfers packets between the two vNICs.

Depending on the physical network used, CA AppLogic implements virtual wires by tunneling traffic through IP connections or as direct memory-to-memory transfer whenever both network interfaces happen to be on the same server. All of this is completely transparent to the communicating VMs.

Note: Virtual wires make it possible to migrate network connections live from one medium to another. For example, CA AppLogic can migrate a connection to your database server from a Gigabit Ethernet to 10 Gigabit Ethernet without disrupting the flow of transactions.