SYSTEM REQUIREMENTS
All software components have been designed using technologies that allow the deploy on different Operative Systems (Linux, MacOS, Windows).
Linkcare has developed and tested all the components using Linux OS (generally Ubuntu 16 Server).
Software requirements
Component | Recommended OS | Required software |
---|---|---|
WS-API | Ubuntu Linux 20 Server |
|
LC2 Web Server | Ubuntu Linux 20 Server | Version 2.7.22 and higher
Version 2.7.21 and older
|
Background Worker | Ubuntu Linux 20 Server |
|
DB Server |
|
|
Redis Cache |
| This is a commercial server that can be downloaded from https://redis.io |
Hardware requirements
The following indications refer to the necessary resources to run the applications, but it does not
Linkcare usually uses Amazon Web Services (AWS) as follows:
EC2 virtual servers (EC2) for running WS-API, LC2 Web Server, Background Worker and Redis
RDS Database services for the Oracle Database
Elastic IP: To reserve public IPs for the services published over the Internet (WS-API and LC2 Web Server)
In China it is also possible to use AliYun Cloud Services. In this case the Database server should be installed also in a virtual server because because Oracle is not one of the options offered by AliYun.
Test environment
This is the minimum recommended configuration for an environment that can be used for:
Test/Development purposes
Small production environment
In a Test environment, most of the components of the system are installed in a single server.
Component | CPU | RAM | HD | AWS Instance type | AliYun Instance type |
---|---|---|---|---|---|
WS-API LC2 Web Server Background Worker Redis Cache | 4 | 16GB | 100GB | m5.xlarge | ecs.g6e.xlarge |
DB Server | 2 | 8GB | 100GB | RDS db.m5.large | Database service not available for Oracle. Recommended virtual machine instance type: ecs.g6e.xlarge |
Production environment
The requirements for the installation of the system vary greatly depending on the desired performance and load capacity, but as a general rule of thumb, each component of the system is installed in a separate machine (physical of virtual). The most critical components can be replicated in multiple servers (in which case a load balancer would be required)
The following indications provide the minimum recommended configuration for a production environment
Component | CPU | RAM | HD | AWS Instance type | AliYun Instance type |
---|---|---|---|---|---|
WS-API | 4 | 16GB | 50GB | m5.xlarge | ecs.g6e.xlarge |
LC2 Web Server | 4 | 16GB | 50GB | m5.xlarge | ecs.g6e.xlarge |
Background Worker + Redis Cache | 2 | 8GB | 50GB | m5.xlarge | ecs.g6e.large |
DB Server | 4 | 16GB | 500GB | db.m5.xlarge | Database service not available for Oracle. Recommended virtual machine instance type: ecs.g6e.xlarge |
Other requirements
Reserve public IPs
The servers that are going to be exposed publicly will require a static public IP that does not change over time.
The number of necessary IPs may vary depending on the arquitecture used for the installation, but in general the components of the platform that need to be exposed to the public Internet are:
LC2 Web Server: May share the IP with WS-API if both components are installed in the same server
WS-API: May share the IP with LC2 Web Server if both components are installed in the same server
Database: Normally not necessary in a production environment, but it may be desirable for development purposes. If the DB is made public, it is highly recommended to set security rules to allow access only from specific IPs
Domain names
In general, the publication on the internet will be done using a domain name associated to the purchased public IPs (e.g. project.linkcareapp.com).
The appropriate domain names can be purchased in any Domain Name Provider.
SSL Certificates
Linkcare highly encourages the publication of the platform using a secure protocol (HTTPS). This requires purchasing SSL Certificates for each different domain name.
A wildcard certificate would also be a good option if the publications are done as subdomains of a single main domain.