Elastic Path provides support if Elastic Path Commerce is deployed on supported platforms, such as certified and compatible platforms. For more information, see System Requirements.
Elastic Path Commerce is provided as source code. For many customers, an Elastic Path Commerce implementation project is essentially a software development project. Such customers implement Elastic Path Commerce custom code and have an implementation project team consisting of software developers, software testers and release engineers.
Local Development Environments
Elastic Path Commerce developers on the implementation team use a local development environment for developing and testing Elastic Path Commerce code and tools. For more information, see the Developer Environment section of the Getting Started Guide.
The implementation team requires some or all of the following items during development:
- Build and continuous-integration (CI) tools and jobs for performing Elastic Path Commerce code builds.
- Elastic Path Commerce development and quality-assurance (QA) environments for functional validation and regression testing.
- An Elastic Path Commerce staging environment where business users can validate that both custom and out-of-the-box features function as desired. The staging environment may consist of an authoring and live pair.
- An Elastic Path Commerce performance environment where scalability, load and endurance testing and tuning can occur.
- Deployment tools and jobs to regularly push updated Elastic Path Commerce code to development and QA environments.
- Promotion pipelines to promote Elastic Path Commerce code changes from lower environments to higher environments.
The implementation team prepares and deploys highly scalable and highly available infrastructure suitable for production workloads. An Elastic Path Commerce production environment may consist of both an authoring environment and a live environment. The authoring environment is typically a smaller environment where data is prepared and validated before making it available to customers. The live environment is typically a highly-scalable and highly-available environment that serves production shopper traffic.
Available Infrastructure Solutions
The first step of an Elastic Path Commerce project is evaluating and selecting the infrastructure options. Elastic Path Commerce supports and allows a variety of infrastructure solutions for standing up shared servers used for development, testing, staging and production. Each available solution requires investing time to design, implement and operate for the lifetime of your Elastic Path Commerce application.
While Elastic Path provides an asset called CloudOps for Kubernetes, some customers may choose to develop a custom infrastructure solution. Such customers find that investing in a custom solution better aligns with their corporate goals or better integrates with their existing DevOps practices and infrastructure. Some customers find that a custom-built solution that is tailored to their use cases will be easier to use and maintain over time when compared to a generic solution like Elastic Path CloudOps for Kubernetes.
Elastic Path CloudOps for Kubernetes
Elastic Path CloudOps for Kubernetes is an Infrastructure-As-Code (IaC) asset that Elastic Path Commerce customers can use as the basis for their infrastructure development. This asset is a prescriptive tool but whose source code is made available for customers to modify or extend.
Many Elastic Path Commerce customers find that Elastic Path CloudOps for Kubernetes sufficiently aligns with their goals and requirements, and they choose to use it as a starting point for their infrastructure development. Other customers find that it does not sufficiently align with their goals or technology strategies and they choose to develop a custom solution.
For more information, see the Elastic Path CloudOps for Kubernetes documentation.
Elastic Path Commerce customers may create a custom containerized solution using the Elastic Path Docker Git repository. This repository includes tools for building and running Elastic Path Commerce Docker container images and is provided as a component of Elastic Path CloudOps for Kubernetes. Examining the architectural choices and various artifacts in the Elastic Path CloudOps for Kubernetes code asset may be useful as well. This approach requires high levels of custom implementation.
Elastic Path Commerce supports manual installation and deployment on bare-metal or virtual servers. For more information, see the manual installation documentation. This approach requires high levels of custom implementation.
For custom solutions, it is the responsibility of the team developing the solution to implement and verify proper deployment functionality.
Custom deployment solutions may impact Elastic Path’s ability to support Elastic Path Commerce.
The matrix below provides a quick comparison of the described deployment solutions.
|Characteristic||CloudOps for Kubernetes||Custom Containerized||Manual Install|
|Deployment Model||AWS Public Cloud (self-managed)||Private or Public Cloud (self-managed)||Private or Public Cloud (self-managed)|
|Elastic Path Commerce Build||✓||*||custom|
|Docker image build||✓||*||n/a|
|Docker image repository||✓||custom||n/a|
|Infrastructure as Code||✓||custom||custom|
|Container orchestrator||Amazon EKS||custom||n/a|
|Elastic Path Commerce Deploy||✓||*||custom|
|Production MySQL||Amazon Aurora MySQL||custom||custom|
|Containerized MySQL (non-production)||✓||*||n/a|
|HA Active MQ||✓||custom||custom|
|Application Performance Monitoring (APM)||custom||custom||custom|
|External Logging System Integration||custom||custom||custom|
|Alerting & Monitoring||custom||custom||custom|
The below table explains terminology used in the comparison matrix.
|✓||Indicates that for the specified deployment model, that capability is available out of the box.|
|*||Indicates that artifacts from Elastic Path CloudOps could be harvested and used in a custom solution.|
|custom||Indicates that for the specified deployment model, that capability is not available out of the box and must be custom implemented.|
|n/a||Indicates that the concept does not apply to the specific deployment solution.|
|EKS||Elastic Kubernetes Service|
|Aurora||Amazon Aurora is a database service provided by Amazon Web Services.|