Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

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 and versionInfo.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 EnvironmentDescription
SandboxImplementation 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
ProductionBase 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:

PriorityTimeline
Urgent – Impacting Critical Business ProcessLess than 2 business hours
High – Interruption to Business ProcessLess than 4 business hours
Normal – Interruption to WorkflowLess than 12 business hours
Low – Non-ImpactLess 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.