Elastic Path Commerce Development

Infrastructure Specifications

Infrastructure Specifications

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

Overview

This section provides the technical specifications for the following servers that Elastic Path Commerce setup requires:
  • Maven repository server
  • Continuous integration server
  • Development team application server

Infrastructure Prerequisites

Component Provisioning Specifications Recommendation
Source control
  • Create projects and repositories.
  • Commit or push changes.
  • Create an account for the continuous integration server with read and commit permissions.
GitHub Enterprise
Email server
  • The Maven repository server, the continuous integration server, and the development team application server can send email.
  • Send email with the Maven repository server, the continuous integratin server, and the development team application server.
  • Configure the email distribution list for the continuous integration server to send build results to the team.

New and Updated Infrastructure

This section provides provisioning specifications for the infrastructure. You can use existing infrastructure with the following provisioning specifications, or provision a new infrastructure.

Note: Your Elastic Path Support Portal Account page lists the Maven credentials. If you do not have these credentials, submit a request in the page.
Server Function Tooling
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 Elastic Path runtime environment to external servers
  • Linux
  • Jenkins
Development team application server Elastic Path runtime environment for use by the development team
  • Linux
  • Tomcat
  • MySQL
  • ActiveMQ

Provision Specifications

This section provides the specifications for the tools that Elastic Path uses in the table in the previous section.

The specifications are defined for the tools that Elastic Path uses. You can find the tools in the table above listed in the Elastic Path Uses column. Other tools might require different specifications than what is listed below.

The server size is based on an infrastructure for smaller development teams. Additional resources are required to support multiple teams.

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

Specifications for the Maven Repository Server and Continuous Integration Master

If you are on a small team, run these items on the same virtual machine. For larger teams, you may require additional resources to support multiple teams.

Resource Specification
OS CentOS 6.x 64bit
CPU 4 cores
Memory 4 GB
Disk 150 GB
User Accounts One user with sudo privilege
Security SSH key to access source control, if required
Software
Name Version
Zulu Java JDK JDK 8u202
Maven 3.5.2
Git Latest
Wget Latest
Firewall
Port Application Accessible By
8080 Jenkins
  • Development team
  • Quality Assurance team
  • DevOps team
8081 Nexus
  • Continuous integration master
  • Continuous integration slave
  • Development team
  • Quality Assurance team
  • DevOps team
22 SSH
  • DevOps team

Continuous Integration Slave Specifications

This section provides the specifications to run a continuous integration slave in a separate virtual machine. The continuous integration slave executes long running batch jobs with heavy CPU and disk use.

Resource Specification
OS CentOS 6.x 64bit
CPU 4 cores
Memory 16 GB
Disk 75 GB
User Accounts Four users with no sudo privilege
Security SSH key to access source control, if required
Software
Name Version
Zulu Java JDK JDK 8u202
Maven 3.5.2
Git Latest
Wget Latest
Firewall
Port Application Accessible By
22 SSH
  • Continuous integration master
  • DevOps team
System Changes Increase the maximum number of open file descriptors allowed to 132000.

* The requirements are for four slave nodes on one server.

Development Team Application Server

Note: Elastic Path CloudOps for AWS does not require this step.

Run the development team application server in a separate virtual machine.

Resource Specification
OS CentOS 6.x 64bit
CPU 4 core
Memory 10 GB
Disk 40 GB
User Accounts One 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
Zulu Java JDK with JAVA_HOME configured Zulu JDK 8u202
MySQL (see notes below) 5.7
Firewall Open the following ports:
Port Application Accessible By
8080 Elastic Path
  • Continuous integration slave
  • Development team
  • Quality Assurance team
  • DevOps team
8443 Elastic Path
  • Continuous integration slave
  • Development team
  • Quality Assurance team
  • DevOps team
22 SSH
  • Development team
  • Quality Assurance team
  • DevOps team
3306 MySQL
  • Development team
  • Quality Assurance team
  • DevOps team
8161 Elastic Path
  • Development team
  • Quality Assurance team
  • DevOps team
61616 Elastic Path
  • Development team
  • Quality Assurance team
  • DevOps team

MySQL Specifications

Resource Specification
Character set UTF-8
Case sensitivity Case insensitive, including schema and table names
Port 3306
Admin user
  • Use the CREATE and DROP commands for databases and tables
  • Use the CREATE command to add users and GRANT command to add user privileges

Deliverables

  • Provisioned infrastructure