Support Search

EC2 Site Architecture Diagrams

The following diagrams will show some of the common site architectures in the Cloud.  Depending on your computer resource requirements and budget, RightScale provides you with the flexibility to create a custom architecture that provides the necessary performance and failover redundancy necessary to run your site in the Cloud.  Several of the most common architectures are described below.   Use one of the setups below as a model or easily customize a setup for your own purposes. 

Grid Edition

Architectures for performing back-end batch processing tasks.

Website & Grid Edition

Architectures for scaling both front-end and back-end processing tasks.

 


 

All-in-one Single Server Setup

Use one of the "All-in-one" ServerTemplates, such as the LAMP (Linux, Apache, MySQL, PHP) ServerTemplate to launch a single server that contains Apache, as well as your application and database.

all-in-one_diagram.gif

 

Basic 4-Server Setup with EBS

This is the most common architecture on the cloud.  Each front-end server acts as a load balancer and application server.  You also have a master and slave database for redundancy and failover.  Backups of your database are saved as EBS Snapshots.

diag-4Server-v1.png

 

Basic 4-Server Setup without EBS

If you do not require the persistent storage of EBS, you may consider using our standard MySQL-S3 setup, which saves regular backups to your S3 bucket.  Each front-end server acts as a load balancer and application server.  You also have a master and slave database for redundancy and failover.  Backups of your database are saved as gziped (*.gz) dump files.  You can use the same non-EBS, MySQL-S3 database setup in other architectures as well.

basic_4_diagram_s3.gif

Intermediate 6-Server Setup

In the intermediate architecture, the two front end servers are used strictly as load balancers, so you can expand out the number of application servers.

diag-6Server-v1.png

 

Scalable Server Array Setup

If you want a site that automatically scales the number of application servers up and down based on alert conditions that you define (ex: CPU idle time), you will need to create a server array and define a set of alert specifications and escalations.  Below is a 6+ Server Setup with a scalable server array of application servers.

diag-6ServerArray-v2.png

 

If your site's bandwidth does not require dedicated load balancers, you can also set up a scalable application server array with a standard 4-server setup.

diag-4ServerArray-v1.png

Multiple Availability Zone Setup

If your site requires maximum uptime and you are able to pay for the additional redundancy and extra data transfer costs, you can spread your deployment across multiple availability zones. 

diag-MultiZone-v1.png

 

Multiple Cloud Setup

RightScale also provides multi-cloud support where you can manage deployments across several clouds or different cloud regions.  For example, you could have a deployment that manages server resources in more than one cloud infrastructure (Amazon EC2, GoGrid, FlexiScale, etc.).   In the example below, the deployment is distributed between two Amazon EC2 regions (US and EU).  In EC2, each region is completely separate from the other and are essentially treated as separate clouds.

diag-MultiRegion-v1.png

Queue-based Scalable Setup

RightGrid is RightScale's back-end batch processing framework that provides a more efficient solution for processing a group of jobs (work units) by taking advantage of the scalable compute capacity of cloud computing infrastructures such as Amazon EC2.  Create a grid application that will scale based on the number of jobs in the queue.  This is the most common way to scale an application for batch processing.

 rightgrid_number_jobs.gif

 

Time-based Scalable Setup

Create a grid application that will scale based on time or how long a sample of jobs has been in the queue.  In this setup, a sample of 10 items in the queue will be chosen at random.  The server array will scale up based on the average age of items in the queue or by the age of the oldest item in the queue.  

 

rightgrid_time.gif

 

 

Internal Hybrid Setup

If you already have an existing grid architecture or internal compute resources that you still want to use, you can create a hybrid RightGrid model which will scale-up on a different cloud, such as Amazon EC2, when necessary.  This setup gives you the flexibility of using internal resources while also letting you take advantage of the unlimited compute resources of the Cloud.

rightgrid_internal_hybrid.gif

 

 

Combined Website and RightGrid Setup

Since you can attach multiple server arrays to the same deployment, you can also create a dual scalable architecture where you have a scalable front-end and back-end array.

site_grid_array_diagram_v1.png