Provision a cloud project
Describes the process to provision a cloud project in Optimizely Configured Commerce
The implementation team is responsible for all development work. As a result, they must initiate the request to provision Optimizely Configured Commerce environments in the cloud for Optimizely customers. This article outlines the process, environments, and resources for a smooth transition for implementation teams and Optimizely customers.
Setup and configure
Multiple data points are needed to initiate a Configured Commerce project. Optimizely uses Git source control and infrastructure tools to deploy Configured Commerce websites to the cloud environment.
Optimizely does not support using File Transfer Protocol (FTP) and blocks the use of port 21 in the PAWS environment.
Provide Optimizely with the following data points during onboarding:
- Email addresses for deployment notifications
- Email addresses for outage notifications
- Authorized implementation teams, or Optimizely Implementation teams, for project access
- Public facing go-live, production URL
The implementation team provides the necessary information through the project initiation form. Work with your Onboarding agent to have them fill out this form on your behalf.
Additionally, the implementation team must install the Configured Commerce Build Service GitHub app on the new repository to ensure Optimizely can execute builds on the repository. Optimizely uses this app to receive webhooks that notify the Configured Commerce build service of code changes to be built and deployed for the extensions repository. See Build service v2 for setup instructions.
Project initiation form
To provide the data points needed to provision the Configured Commerce environment, submit a request. Select Configured Commerce Support for Please choose your issue below. Select Project Initiation for the Configured Commerce Request Type.
Note
This form should not be used when requesting a PIM instance.
Environments
Optimizely will provision and maintain two hosting environments: Sandbox and Production. The Sandbox environment supports customer UAT testing scenarios, while the Production environment is the live site where commerce is conducted. The implementation team must host all development and test environments.
Configured Commerce uses a mix of hosting services. The core of the application and database are hosted in Azure for new customers. Other services, including File Storage and Search, are provided through AWS.
Prepare for production
As you look to provision your production website, make sure that the following things are in place:
- Check if there is a 'production' branch with
extensions.dll
andversionInfo.yaml
in the GitHub repo. - Confirm the
versionInfo.yaml
for production matches sandbox. - Determine if the email domain SPF record has exceeded 7 (Mailgun requires 3, and the limit is 10) using this tool .
- If more than 7 records exist, you must reduce the number of records or use a subdomain for Mailgun.
Note
Use content created in the development environment (such as new CMS pages or page content) only for User Acceptance Testing and not for go-live content.
Additionally, Optimizely assists in a one-time migration of content from the Sandbox environment to the Production environment prior to go-live. Once the site is live, any content modifications or new content should be created in the Production environment. To maintain PCI compliance, Optimizely cannot copy content from Production back to Sandbox; therefore, attempting to mirror Production in Sandbox is not possible. If you create content in the Sandbox, you must manually copy it over to Production.
Basic pipeline
Workflow Pipeline
Integrate backend systems
The Windows Integration Service (WIS) used for integrating backend systems such as ERPs is the responsibility of the implementation team in coordination with the customer. The WIS relies on a close proximity to those systems and uses push/pull requests to transfer data between backend systems and the commerce application.
Database Requests
Optimizely Implementation teams may request a copy of a Sandbox database with written permission from the customer. Direct access to the database is not available, only copies. Please submit database requests to the support portal.
All projects must be PCI compliant. The implementation team assumes all responsibility for PCI compliance on behalf of the client.
Deploy code
ITo ensure a smooth process for conducting code deployments to Optimizely Hosting environments, the ensuing guidelines should be followed:
Target Environment | Description |
---|---|
Sandbox | Implementation team pushes local git repository changes to the remote sandbox branch. Server side extensions will be loaded from Git via Team City Theme source is configured and project theme is initialized Sandbox will always contain the latest build provisioned by Optimizely Custom domains are not allowed |
Production | Base code updates/releases will be deployed via a set schedule. Insite[CC1]Â Software will deploy production updates via the schedule published in the Commerce (SaaS) Communication article in the Help Center. Your team can opt-out of the scheduled upgrade and defer to another date Please provide three (3) business days advanced notice. Off-hours production deployments are available; please be sure to indicate this need in all production requests. Submit deployment requests via the Code Deployment Request Form |
Set up the local development environment
Deploy to Commerce (SaaS)
Deployment support
All prioritized requests should be submitted to and marked according to the status indicated below:
Priority | Timeline |
---|---|
Urgent – Impacting Critical Business Process | Less than 2 business hours |
High – Interruption to Business Process | Less than 4 business hours |
Normal – Interruption to Workflow | Less than 12 business hours |
Low – Non-Impact | Less than 2 business days |
Provision an Additional Development Environment (ADE or Sandbox 2)
If a customer project has requested provisioning of an Additional Development Environment (ADE or Sandbox 2), and you are utilizing an existing codebase during provisioning, confirm that the SQL scripts in your extensions repo can be run against a fresh environment or remove them from that branch until provisioning is completed. ADEs start as a fresh environment. Scripts that do not run correctly prevent the environment from being provisioned, causing back-and-forth with the Support team.
Updated 3 months ago