installation of LabKey Server at the Fred Hutch Cancer Research Center provides a good example of how staging, test and production servers can provide a stable experience for end-users while facilitating the rapid, secure development and deployment of new features. Atlas serves a large number of collaborating research organizations and is administered by SCHARP, the Statistical Center for HIV/AIDS Research and Prevention at the Fred Hutch. The staging server and test server for Atlas are located behind the SCHARP firewall, limiting any inadvertent data exposure to SCHARP itself and providing a safer environment for application development and testing.
Reference: LabKey Server: An open source platform for scientific data integration, analysis and collaboration
. BMC Bioinformatics 2011, 12:71.
Staging, Production and Test Servers
The SCHARP team runs three nearly-identical Atlas servers to provide separate areas for usage, application development and testing:
- Production. Atlas users interact with this server. It runs the most recent, official, stable release of LabKey Server and is updated to the latest version of LabKey every 3-4 months.
- Staging. SCHARP developers use this server to develop custom applications and content that can be moved atomically to the production server. Staging typically runs the same version of LabKey Server as production and contains most of the same content and data. This mimics production as closely as possible. This server is upgraded to the latest version of LabKey just before the production server is upgraded, allowing a full test of the upgrade and new functionality in a similar environment. This server is located behind the SCHARP firewall, providing a safer environment for application development by limiting any inadvertent data exposure to SCHARP itself.
- Test. SCHARP developers use this server for testing new LabKey Server features while these features are still under development and developing applications on new APIs. This server is updated on an as-needed basis to the latest build of LabKey Server. Just like the staging server, the test server is located behind the SCHARP firewall, enhancing security during testing.
All Atlas servers run on commodity hardware (Intel/Unix) and store data in the open source PostgreSQL database server. They are deployed using virtual hardware to allow administrators to flexibly scale up and add hardware or move to new hardware without rebuilding the system from scratch. Detailed information on Atlas hardware specifications as-of May 2010 are provided below.
Atlas’s hardware specifications provide an example of the hardware needs of a large LabKey Server installation. The Atlas production web server and the Atlas PostgreSQL database both run on a single Dell R710 machine with dual X5570 Intel Xeon processors. These processors have 8 MB caches and run at 2.93 GHz with a 1333 Mhz bus speed. The machine has eight cores with hyper-threading, for a total of 16 cores. It has 72 GB of memory running at 800 MHz and eight 300 GB 10K hard drives attached to a Dell PERC 6/I (PowerEdge RAID Controller) in a RAID (redundant array of independent disks) 10 array. Backend storage is provided by a clustered Netapp FAS3020 containing 56 fiber channel drives.
The machine runs a Xen Hypervisor with each server application running in a Linux SLES11 virtual machine. The web server's virtual machine includes eight processor cores and 10GB of assigned RAM, with about 4GB currently used. The PostgreSQL database server’s virtual machine includes eight processor cores and 52 GB of RAM, with an average usage of 10-20GB.