Self-Managed Commerce Deployment Solutions
System Requirements
Elastic Path provides support if Self-Managed Commerce is deployed on supported platforms, such as certified and compatible platforms. For more information, see Supported Technologies.
Required Infrastructure
Self-Managed Commerce is provided as source code. For many customers, a Self-Managed Commerce implementation project is essentially a software development project. Such customers implement Self-Managed Commerce custom code and have an implementation project team consisting of software developers, software testers and release engineers.
Local Development Environments
Self-Managed Commerce developers on the implementation team use a local development environment for developing and testing Self-Managed Commerce code and tools. For more information, see the Developer Environment section of the Getting Started Guide.
Development Infrastructure
The implementation team requires some or all of the following items during development:
- Build and continuous-integration (CI) tools and jobs for performing Self-Managed Commerce code builds.
- Self-Managed Commerce development and quality-assurance (QA) environments for functional validation and regression testing.
- A Self-Managed 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.
- A Self-Managed Commerce performance environment where scalability, load and endurance testing and tuning can occur.
- Deployment tools and jobs to regularly push updated Self-Managed Commerce code to development and QA environments.
- Promotion pipelines to promote Self-Managed Commerce code changes from lower environments to higher environments.
Production Infrastructure
The implementation team prepares and deploys highly scalable and highly available infrastructure suitable for production workloads. A Self-Managed 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 a Self-Managed Commerce project is evaluating and selecting the infrastructure options. Self-Managed 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 Self-Managed 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 Self-Managed 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 Self-Managed 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.
Custom Containerized
Self-Managed Commerce customers may create a custom containerized solution using the Elastic Path Docker Git repository. This repository includes tools for building and running Self-Managed 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.
Manual Install
Self-Managed 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.
note
For custom solutions, it is the responsibility of the team developing the solution to implement and verify proper deployment functionality.
important
Custom deployment solutions may impact Elastic Path’s ability to support Self-Managed Commerce.
Quick Comparison
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) |
Technology Choices | prescriptive | flexible | flexible |
Technical Architecture | prescriptive | flexible | flexible |
Self-Managed 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 |
Multiple AZ | ✓ | custom | custom |
Self-Managed Commerce Deploy | ✓ | * | custom |
Production MySQL | Amazon Aurora MySQL | custom | custom |
Containerized MySQL (non-production) | ✓ | * | n/a |
Service auto-scaling | ✓ | custom | n/a |
HA Cortex | ✓ | custom | custom |
HA Active MQ | ✓ | custom | custom |
Application Performance Monitoring (APM) | custom | custom | custom |
External Logging System Integration | custom | custom | custom |
Alerting & Monitoring | custom | custom | custom |
Legend
The below table explains terminology used in the comparison matrix.
Entry | Meaning |
---|---|
✓ | 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 |
AZ | Availability Zone |
Aurora | Amazon Aurora is a database service provided by Amazon Web Services. |
HA | High Availability |