Hardware Server Guidelines
How much resources do you need? This short guide explains the basic hardware requirements.
The amount of hardware you need depends upon the amount of usage you are expecting. This is a function the number of users and the amount of usage. For example, ecommerce stores could have very large numbers of users, but each user may only use it for very little time. In contrast, order entry and customer service applications tend to have a few high-volume users. Therefore, determining usage is a function of estimating the number of concurrent users, or how many of those users would be using your system at the same time.
Here are some guidelines for minimum hardware requirements:
- For demo and training, you need a single CPU server with 2 GB of memory with about 1 GB allocated to opentaps. This is equivalent to the Amazon EC2 Small Instance.
- For a small deployment (under 10 users), a dual CPU server with 4 GB of memory should be sufficient.
- For moderate deployment, we would recommend 4 CPU cores with about 8 GB of memory. This is equivalent to the Amazon EC2 Large Instance.
- It is not possible to deploy the application on shared hosting environments, such as those offered for $10 per month. While you technically do not need root access to run the application, shared hosting usually involves minimal memory allocated to each account and extensive disk swapping.
Larger deployments usually involve additional hardware, load-balancing or clustering, and separating static content servers (httpd), Java servers (Tomcat), and databases on separate and specialized hardware. In theory it should be possible to scale a Java application to any level of usage, though the configuration could be quite complicated and require database and server tuning.