WikiEducator/Hosting

= Current Status (2010-02) =

WikiEducator is hosted on an Amazon Web Services Elastic Compute Cloud (EC2) Large instance.

Independent Elastic Block Store volumes are used for the database and media filesystems. The XFS filesystem is used for each of these, permitting easy consistent filesystem snapshots to Amazon Simple Storage System (S3) for geographically dispersed backups.

Software includes:
 * Ubuntu 9.10 (Karmic)
 * MySQL 5.1.37
 * PHP 5.2.10
 * MediaWiki 1.15.3
 * memcached for page caching
 * APC for PHP opcode caching
 * Squid as reverse proxy / web accelerator

= Previous Status (2008-05) =

WikiEducator is hosted on a single AMD Opteron 146 Processor (2GHz) with 2GB of RAM. It has about 150GB of disk in a software RAID configuration (of which about 40GB is currently used).

Software includes:
 * Debian Etch
 * MySQL 5.0.22
 * PHP 5.2.5
 * svn snapshot of MediaWiki pre-1.14a
 * MediaWiki extensions
 * Collaborative Video
 * Collection
 * mwlib
 * mwlib.rl
 * LiquidThreads
 * NamespaceManager
 * NamespacePermissions
 * WETitle
 * Moodle 1.6.1

Bandwidth:
 * English WikiEducator delivers about 40GB/month, although that number is rapidly growing. By 2009-10 we are up to about 115GB/month.

= Status Updates =


 * Bandwidth demands have increased to about 80GB/month for each of the March~May, 2009 months.


 * By October, 2009 English WE hit 115GB/month bandwidth. Disk usage has grown to 124GB.

= Future Plans = Migration Plan

The Commonwealth of Learning plans to contract for two additional servers to be hosted in a Commonwealth country (probably Canada or the UK). We are now also considering using a shared hosting provider for the bulk of the MediaWiki hosting (and also to have a quick failover option).

Colocation Options
Each server will be configured the same. One will be the active server (replacing the current machine) and the other will be a hot failover machine.

Ideal Hardware Configuration

 * 64 bit processor(s)
 * 8GB (or more) RAM
 * RAID disc array (ideally RAID 10, but at least RAID 1)
 * separate spindle for boot and swap
 * dual network interfaces (one for public network, another for connection to other server)
 * remote console access (?)

Software Requirements

 * Ubuntu 8.04 64-bit server
 * two filesystems totaling at least 150GB of usable space:
 * MySQL in master/slave replication mode

Alternative Hardware Configuration
If more hardware is available, it would be nice to separate the database server(s) from the web servers. The current demands do not require it, but the move makes an ideal time to plan for the future. There might be three servers inter-connected with a private gigabit LAN. Each server should be equipped with a remote access card ("lights out management", DRAC, etc.) permitting control at the BIOS level over the 'net.

Old Server
After transition, the old server will be available as a technology test bed.

It will also continue to be the WikiEducator Moodle server.

Backup Strategy
The two primary servers will be periodically rsynced.

Offsite backup? Amazon S3? rdiff-backup to old server?

Old server will use rdiff-backup to backup key contents to secondary server.