Jelastic Platform Installation Requirements (PCS-only)

This guide lists the specific requirements for the PCS-only Jelastic installation:

The general concepts and information on other possible installation scenarios are described here.

Servers Requirements

Jelastic cluster is composed of 2 types of servers:
  • infrastructure nodes or infra nodes - where the Jelastic services are running
  • user nodes - where the users applications are running

The requirements for these servers are slightly different:

Infra nodes

You need to provide 2 servers, which are necessary for high availability and zero-downtime upgrade enabling. However, you can start with just a one server, but you will need to provide the second one later, when going into production (commercial).

Hardware requirements for infra nodes:

  • CPUs
    • x86-64 platform with Intel VT-x or AMD-V hardware virtualization support (Intel platform is preferred)
    • minimum 8 cores per node (physical cores, not Hyper-threaded ones)
    • low voltage CPUs (i.e. Intel Atom) are strongly not recommended due to the poor performance.
  • RAM
    • 24 Gb minimum, 32 GB or more recommended
  • Network
    • 2 network cards with 1 Gbps speed each
  • Storage
    • local or SAN disks can be used; disks MUST belong to a single infra node only
    • in case of SAN disks usage, multipathing is strongly recommended
    • storage reliability and redundancy is required:
      • hardware RAID1 disk(s) are preferred
      • LVM / dmraid Linux mirroring is acceptable
    • at least about 200 IOPS is recommended
    • storage performance of /vz volume is vital for overall cluster performance. Block device have to meet the following requirements on sustained disk I/O read/write/random read/random write: 100MBps/60MBps/4MBps/1MBps. Using SSD for /vz caching is recommended.
    • for SATA/SAS devices 6Gbps throughput is strongly recommended (for both data and/or cache drives and controller)
    • for operating system, you need to provide 100 GB of usable storage (i.e. the already mirrored storage)
    • for Jelastic services, you need to provide another 300 GB of usable storage (it’s ok to use the same mirror / RAID1 volume)

User nodes

You need to provide at least 2 servers, which are necessary for high availability of users application servers. Also, you are able to add more servers later, if needed.

The general rule of thumb: the more resources you allocate, the more users you are able to serve.

Hardware requirements for user nodes:

  • CPUs
    • x86-64 platform with Intel VT-x or AMD-V hardware virtualization support (Intel platform is preferred)
    • minimum 12 cores per node, 32 cores or more recommended (physical cores, not Hyper-threaded ones)
    • low voltage CPUs (i.e. Intel Atom) are strongly not recommended due to the poor performance.
  • RAM
    • 16Gb minimum, 32GB or more recommended
  • Network
    • 2 network cards with 1Gbps speed each
  • Storage
    • local or SAN disks can be used; disks MUST belong to a single user node only
    • in case of SAN disks usage, multipathing is strongly recommended
    • for SATA/SAS devices 6Gbps throughput is strongly recommended (for both data and/or cache drives and controller)
    • for operating system, you need to provide 70 GB or more of RAID1 or mirrored storage
    • for user containers, the storage reliability, high performance and redundancy are required:
      • hardware RAID1 or RAID10 disk(s) are strongly recommended
      • at least about 600 IOPS is highly recommended
      • storage performance of /vz volume is vital for end-users’ environments performance. Block device have to meet the following requirements on sustained disk I/O read/write/random read/random write: 460MBps/120MBps/8MBps/2MBps. Using SSD for /vz caching is strongly recommended.
    • sizing rules and recommendations for the user containers’ file system:
      • one user’s container occupies from 700 MB to 1.7 GB, therefore, in order to provide the required space for about 1000 containers per node, you will need at least ~ 1 TB, plus another 500 GB-1 TB of space for user’s data inside the containers
      • usual recommendation is to have 1-3 or more TB of usable storage per user node
      • however, you can consider the “grow /vz fs as you grow” scenario, starting with 300-400 GB storage size; please, consult with Jelastic Operations team in this case

Running Jelastic on Virtual Machines

Jelastic uses PCS (for Linux containers) and PCfW (for Windows containers) as underlying technology. Jelastic infra and user nodes can be run on virtual machines. Virtualization technologies, known to work in the field, are:
  • KVM
  • VMware ESXi
  • PCS VM
  • Microsoft Hyper-V

Please note that both bare-metal servers and VMs can be used for production deployment, however, bare-metal servers usually provide better performance.

Requirements for Operating System Installation on Hardware Nodes

Common Requirements

CentOS 6, RHEL 6 or Virtuozzo PCS 6  should be installed on all the infrastructure, as well as all Linux-based user nodes. They will be further redeployed into Virtuozzo PCS 6 preserving system mandatory configuration files. Please note, that the partitions associated with /boot, rootfs and /vz mount points will be formatted, and all the data there will be lost.

For Windows containers, the following Microsoft Server Operating Systems are supported:
  • Microsoft Windows Server 2008 R2 Datacenter Edition (only VPS 2008 container template will be accessible for creation)
  • Microsoft Windows Server 2012 Datacenter Edition (VPS 2012, IIS8 and MSSQL container templates will be accessible for creation). Important: currently the R2 version is not supported.

Partitioning Recommendations

Below are recommendations on partitioning for the Parallels Cloud Server and Parallels Containers for Windows.

PCS-based infrastructure and user nodes storage requirements and partitioning:

  • Storage for operating system:
    • partitions for operating system
      • /boot - 500MB, ext4
      • /        - 40GB, ext4
      • swap - depends on RAM, from 2 to 32GB:

        RAMSwap
        up to 4 GB2 GB
        4-16 GB4 GB
        16-64 GB8 GB
        64-256 GB16 GB
        more than 256 GB32 GB
  • Storage for infra containers on infrastructure nodes:
    • should be single ext4 file system, mounted as /vz;
    • please use all the available storage, remained after the creation of partitions for /, /boot and swap at this /vz file system.
  • Storage for user environments on Linux-based user nodes:
    • should be single ext4 file system, mounted as /vz;
    • sizing rules can be seen above

PCfW-based user nodes storage requirements and partitioning:

  • \vz folder can be placed onto separate partition, formatted as NTFS

Other Installation Requirements

  • Server timezone MUST BE set to UTC during the Jelastic PaaS installation, and must not be updated after it’s completed.

Other Hardware Requirements

1. Network Requirements

  • All of the servers should have at least 2 network interfaces: WAN interface with the public IP address and LAN interface, connected to the managed port switch
  • Internal (LAN) network should operate at 1Gbps speed or faster
  • Allocated internal network subnet mask should be at least /20; /8 or /16 is recommended
Please notice 10.0.0.0/24 network range is reserved for nginx HA applications and shall never be used for nodes, infra and end-users' containers.
  • External (WAN) connection should have at least 100 Mb connection; 1Gbps speed is recommended
  • Each hardware node (of both user and infra types) must have a public IP address assigned to the external (WAN) connection
  • 2 or more public IP addresses for authoritative DNS servers - i.e. 1.1.1.1 and 2.2.2.2 - due to the number of resolvers, minimum is 2
  • 14 public IP addresses for infrastructure containers
  • At least 20 additional public IP addresses for tests
  • All outbound traffic should be unblocked
  • Firewalls should be configured; please contact Jelastic Operations for details

2. DNS Requirements

  • DNS zone delegation MUST BE already configured
    • Both domain names, <infra-domain>.hosterdomain.com and <user-domain>.hosterdomain.com, should be delegated to platform resolvers.
    • We recommend to use “jelastic.hosterdomain.com” as the user-domain name.
    • DNS server names and addresses:
      • ns1.<infra-domain>.hosterdomain.com and
        ns2.<infra-domain>.hosterdomain.com
      • ns1.<user-domain>.hosterdomain.com and
        ns2.<user-domain>.hosterdomain.com
      • 2 IP addresses allocated for these DNS servers (see above in the Network Requirements section)
    • Zone records example (make sure it is a part of file for parent zone hosterdomain.com) - note the 4 glue records below:

      <infra-domain>.hosterdomain.com IN NS ns1.<infra-domain>.hosterdomain.com
      <infra-domain>.hosterdomain.com IN NS ns2.<infra-domain>.hosterdomain.com
      ns1.<infra-domain>.hosterdomain.com IN A 1.1.1.1 ; glue records, in case
      ns2.<infra-domain>.hosterdomain.com IN A 2.2.2.2 ; if they are needed

      <user-domain>.hosterdomain.com IN NS ns1.<user-domain>.hosterdomain.com
      <user-domain>.hosterdomain.com IN NS ns2.<user-domain>.hosterdomain.com
      ns1.<user-domain>.hosterdomain.com IN A 1.1.1.1 ; glue records, in case
      ns2.<user-domain>.hosterdomain.com IN A 2.2.2.2 ; if they are needed

  • Make sure you DON’T have the SOA record for both domains (<infra-domain>.hosterdomain.com and <user-domain>.hosterdomain.com) in zones on your DNS servers - otherwise the delegation will not work

3. SSL Requirements

Wildcard SSL certificate for both selected DNS domains, and all of their subdomains must be provided (domains <infra-domain>.hosterdomain.com, *.<infra-domain>.hosterdomain.com, *.cs.<infra-domain>.hosterdomain.com, <user-domain>.hosterdomain.com and *.<user-domain>.hosterdomain.com).

4. Uploader Storage Requirements

Uploader storage is a file system, mounted by Jelastic via NFS or imported as SCSI LIN (with for example iSCSI) with ext4 filesystem on top of it. Uploader storage can be shared for use with  Docker templates cache storage.

  • External shared storage for the file system is recommended;
  • Though it is possible to host this file system on a local disk of any of infrastructure hardware nodes, it is not recommended.

5. Docker Templates Cache Storage Requirements

Docker templates cache storage is a file system, mounted by Jelastic via NFS or imported as SCSI LIN (with for example iSCSI) with ext4 filesystem on top of it. Docker templates storage can be shared for use with Uploader storage.

  • External shared storage for the file system is recommended;
  • Though it is possible to host this file system on a local disk of any of infrastructure hardware nodes, it is not recommended.
  • All data stored at the Docker templates cache storage is volatile so no redundancy or cache contents’ backups are required, while cluster-wide docker creation will become unavailable in case of storage failure.

6. Operating System Settings Requirements

Jelastic PaaS requires an account with user ID and group ID set to 0 (root account) at PCS-based hardware nodes and built-in computer Administrator account at nodes with PCfW. The password-based authentication has to be enabled for this account at all of the PCS-based hardware nodes.