Provision a cloud project
Describes the process to provision a cloud project in Optimizely Configured Commerce
All development work is the responsibility of the Implementation Team. As a result, implementation teams need to initiate the request to provision Commerce (SaaS) environments in the cloud for Optimizely customers. This article outlines the process, environments, and resources involved to ensure a smooth transition for implementation teams and Optimizely customers.
Setup and configure
There are multiple data points that are needed to initiate a Commerce (SaaS) project. Optimizely uses Git source control and infrastructure tools to deploy Commerce (SaaS) websites to the cloud environment.
Optimizely does not support the use of File Transfer Protocol (FTP) and blocks use of port 21 in the PAWS environment.
The customer needs to 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**
Implementation team provides the necessary information via the project initiation form. Please work with your Onboarding agent to have them fill out this form on your behalf.
Additionally, the implementation team will authorize the GitHub account name insite-teamcity-build read-only access to the new repository for each Commerce (SaaS) instance/project in the cloud. If the GitHub repository does not exist, a private GitHub repository will be created and the account listed above will be authorized with read-only access.
Project initiation form
To provide the data points needed to provision the Commerce (SaaS) environment, submit a request. Select Commerce (SaaS) Support for Please choose your issue below. Select Project Initiation for the Commerce (SaaS) 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.
Commerce (SaaS) 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 https://dmarcian.com/spf-survey/
- If more than 7 records exist, you must reduce the number of records or use a subdomain for Mailgun.
Note
As a best practice, content created (such as new CMS pages or content added to CMS pages) in the Development environment should be used for User Acceptance Testing, 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 content is created in Sandbox, it must be manually copied over to Production by the customer.
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 |
Updated 6 days ago