4PSA's unique grid technology allows
companies to build reliable cloud infrastructures for the most common
services like HTTP, Mail, VoIP, Database and FTP. The 4Grid technology is
the foundation of the next generation service delivery platform for
providers. It enables the creation of true SaaS
infrastructures/environments that are not limited on CPU, memory or
bandwidth.
The 4Grid technology has the roots on an
academic project and is the result of a research initiative spread over
more than three years. The basic concepts behind 4Grid are illustrated
below.
Redundancy and Failover
The infrastructure can resist to a known
number of node failures without significant performance degradation.
Failed nodes are tagged with a failed status and are reported.
Built on Inexpensive Network
Infrastructure
The connectivity between nodes requires
1,000Mbs network connectivity using common Layer 2 switches. No expensive
hardware routers or load balancers are required.
Linux Operating System
All nodes in the system are based on
Linux operating system. Redhat Enterprise Linux (with clone CentOS) and
Suse are supported.
Load Distribution and Delivery
Guarantee
All requests are distributed among
worker nodes using algorithms predefined per protocol to insure a common
distribution of load on 4Grid.
High Performance Caching Layer
The caching layer is able to store
frequently used information, dramatically improving the applications'
performance. No database or file system calls are required to retrieve
the cached information.
No Software Modifications
In most cases, it is not necessary to
modify the worker software (software delivering services). Most changes
are performed only to improve the software's behavior in 4Grid.
Network File System
The network file system delivers more
bandwidth than expensive SAN devices, scales to petabytes and resists
number of known hardware failures.
Abstract Database Layer
The full ACID compliant SQL database
layer is based on MySQL engine and is decoupled by the other layers. It
is possible to use any database engine that implements its own
clustering model.
Automated Updates
Software updates can be deployed in
4Grid through a single control and management interface. The grid is not
taken offline during updates.
Reports and Statistics
Everything is monitored in 4Grid.
Administrators know how resources are spent, when new nodes must be
added and most importantly why.
4Grid Control Layer
All grid nodes can be controlled from a
single point. Nodes listen to 4Grid Control Messages, react and answer
according to their permissions in the system. The control layer is based
on real-time AMQP protocol.
Role Based Management
Each node is assigned with one or more
roles in the 4Grid. Multiple roles can be assigned per node to
accommodate small deployments.
Distribution Layer

This
layer distributes requests between worker nodes based on their load,
availability, and capability. Usually, only several nodes must be
deployed on this layer and mostly to ensure redundancy. The processing
demand is low on this level and machines are able to answer at wire
speed. 4Grid Controller, the software managing and monitoring the
infrastructure, is installed on this layer.
Worker Layer

The
worker node handles requests from customers. Its size depends on
the number of requests and processing effort. Software that answers to
requests is installed on this layer. Machines on this layer can be
configured to deliver different services.
Cache Sublayer

4Grid
Caching is the fast storage system used by applications in
grid to store information retrieved from database or from file system.
This information will be available very fast on further requests.
File System Sublayer

The
distributed file system is a POSIX compliant file system that stores the
information shared between nodes. Nodes can be assigned with file
access permissions, so they can modify only certain information on the
shared partitions.
Database Sublayer

The
database layer handles database requests from the nodes on the
Distribution Layer and Worker Layer. Requests are distributed between
participant nodes based on their load.