The hardware requirements for running a functional Evergreen server are minimal. It is also possible to scale up your evergreen configuration to be spread your Evergreen resources and services over several or even many servers in a clustered approach for the purpose of system redundancy, load balancing and downtime reduction. This allows very large consortia to share one Evergreen system with hundreds of libraries with millions of records and millions of users, making the scalability of Evergreen almost infinite.
Here are some example scenarios for networked server configurations:
A small library library with 1 location, under 25,000 items and a few thousand users could easily run Evergreen on a single server (1 machine).
A college or university with 1 million items and 20,000 users could run an Evergreen system using several servers balancing the load on their system by spreading services over multiple servers. It should host their PostgreSQL database on a separate server. They could also cluster the Evergreen services strategically to minimize or eliminate any necessary downtown when upgrading Evergreen or other server software. Moreover, system redundancy will reduce the chance of unplanned catastrophic downtime caused by system failure since Evergreen will be running over several machines.
A large library consortium with several public library systems and/or academic libraries with millions of users and items could run an Evergreen system over many servers with clusters for Evergreen services as well as a cluster for the Postgresql Database.
The key to Evergreen scalability is in the OpenSRF configuration files
/openils/conf/opensrf.xml
and
/openils/conf/opensrf_core.xml
.
By configuring these files, an administrator could cluster evergreen services over multiple hosts, change the host running a specific service
or change the host of the PostgreSQL database.
The default configuration of Evergreen in the installation instructions assumes a single localhost
server setup. For more complex
multi-server clustered configurations, some server administration and database administration experience or knowledge will be required.