System Architecture
We are sometimes asked about the hardware needed to run a site like www.ensembl.org. Whilst we give minimum requirements in our technical documentation, this is obviously insufficient to run a website that gets millions of hits per year!
The specifications of individual machines varies, depending on requirements, but at the time of writing (2013) they typically have 12 CPUs and 48GB of RAM.
The diagram below shows a simplified version of the hardware architecture, omitting network details such as load-balancers.
Webservers
We currently run 8 Apache webservers, 6 for the Ensembl webcode itself and 2 for our biomart installation. We keep biomart on separate hardware as queries can be very large and overload the servers; the separation ensures that if this occurs, it will not degrade service on the rest of the website.
Search engine
Our Solr search engine runs on a separate set of 4 Tomcat servers.
Databases
Our data is served from 8 MySQL database servers:
- 2 for all the individual species' databases;
- 2 for non-species-specific databases: compara, help, etc
- 2 for mart databases
- 1 for user account and session databases
- 1 for the Ensembl Tools tickets (BLAST, etc)