Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. This Developer Center contains the guides for Commerce 6.13.0 through 7.4.1.Visit new site

This version of Elastic Path Commerce is no longer supported or maintained. To upgrade to the latest version, contact your Elastic Path representative.

Prepare Infrastructure

Prepare Infrastructure

Note: Role: IT Operations
Dependent on By Notes
Definition of infrastructure requirements Architecture team Depends on current infrastructure and corporate standards.

Overview

In order to start construction with Elastic Path you will need a Maven repository server, a continuous integration server and a dev team application server as shown in Architecture. This page contains the technical specifications for provisioning these servers.

Note:

This page also indicates the technologies that Elastic Path uses for internal projects. Additional tooling to automate setup is available if you use the same technologies as Elastic Path. However, you are free to use other technologies for your project if desired.

Assumed infrastructure

This guide assumes that the following team infrastructure is available.

Component Provisioning requirements Elastic Path Uses
Source control
  • Team lead can create projects / repositories
  • Entire team can commit / push changes
  • Account created for Continuous Integration server with read and commit permissions
GitHub Enterprise
Email server
  • Maven repository server, continuous integration server, and dev team application server can send email
  • Email distribution list configured for Continuous Integration server to send build results to team

New/updated infrastructure

The following infrastructure will need to be provisioned. You can use existing infrastructure as long as it meets the provisioning specifications below, or you may need to provision new servers.

Server Function Tooling provided for
Maven repository server
  • Retrieves external Maven dependencies
  • Hosts artifacts built by your projects
Linux / Nexus
Continuous integration server
  • Builds projects
  • Deploys build artifacts to the Maven repository
  • Runs automated tests
  • Deploys EP runtime environment to external servers
Linux / Jenkins
Dev team application server EP runtime environment for use by construction team Linux / Tomcat / MySQL / ActiveMQ

Provisioning specifications

These specifications assume that you're using the same tools that Elastic Path uses as stated in the "Elastic Path Uses" column in the table above. Other tools may require different specifications than what is listed below.

The server sizing is for infrastructure dedicated to a single construction team. Additional resources will be required to support multiple teams.

Tip: Refer to Elastic Path Commerce Supported Technologies for additional information on supported platform technologies.

Maven repository server / Continuous integration master

These are normally run on the same VM for small teams.

Item Requirement
OS CentOS 6.x 64bit
CPU 4 cores
Memory 4 GB
Disk 150 GB
User Accounts 1 user with sudo privilege
Security SSH key to access source control (if required)
Software
Name Version
Oracle JDK JDK 8u144
Maven 3.5.2
Git Latest
Wget Latest
Firewall Open the following ports:
Port Application Accessible By
8080 Jenkins
  • Dev/QA/DevOps
8081 Nexus
  • Continuous integration master
  • Continuous integration slave
  • Dev/QA/DevOps
22 SSH
  • DevOps

Continuous integration slave

The continuous integration slave should be run in a separate VM because it executes long running batch jobs with heavy CPU and disk use.

Item Requirement
OS CentOS 6.x 64bit
CPU 4 cores
Memory 16 GB
Disk 75 GB
User Accounts 4 users with no sudo privilege
Security SSH key to access source control (if required)
Software
Name Version
Oracle JDK JDK 8u144
Maven 3.5.2
Git Latest
Wget Latest
Firewall Open the following ports:
Port Application Accessible By
22 SSH
  • Continuous integration master
  • DevOps
System Changes Increase the maximum number of open file descriptors allowed to 132000.

* The requirements are based on having 4 slave nodes on one server.

Dev team application server

Note: This step is not required if you are using Elastic Path CloudOps for AWS.

The development application server should be run in a separate VM.

Item Requirement
OS CentOS 6.x 64bit
CPU 4 core
Memory 10 GB
Disk 40 GB
User Accounts 1 user with sudo privilege
Security
  • Java keystore file for Tomcat HTTPS connector
  • SSH key for user to SCP from server back into the server
Software
Name Version
Oracle JDK with JAVA_HOME configured JDK 8u144
MySQL (see notes below) 5.7
Firewall Open the following ports:
Port Application Accessible By
8080 EP
  • Continuous integration slave
  • Dev/QA/DevOps
8443 EP
  • Continuous integration slave
  • Dev/QA/DevOps
22 SSH
  • Dev/QA/DevOps
3306 MySQL
  • Dev/QA/DevOps
8161 EP
  • Dev/QA/DevOps
61616 EP
  • Dev/QA/DevOps

MySQL requirements

Item Requirements
Character set UTF-8
Case sensitivity Case insensitive, including schema and table names
Port Use default port 3306
Admin user

Must be able to

  • CREATE and DROP databases and tables
  • CREATE users and GRANT privileges

Deliverables

  • Provisioned infrastructure