See also the Cloud Customer Launch Checklist for project milestones, request lead times, and required tasks.
Understanding how to go-live with your B2B Commerce Sandbox is an important and exciting process. This article provides the guidance you need to move content from sandbox to production, provision the production instance, push code to production, and other important steps, such as authorizing our request for SSL.
To start, Optimizely does not host sites on the naked domain. DNS does not support CNAME entries for naked domains, and our standard is to provide a CNAME DNS record for the client to enter in their public DNS records. We need to use the CNAME so Optimizely can manage the backend target of the web requests without having each site rely on a static IP address. If we used an A Record for the public facing website, the client would need to update their public DNS regularly whenever changes occur on Optimizely's servers; therefore, we do not allow A Records.
Optimizely requires a 10 business day lead time for any Go-Live requests. Unlike the Sandbox instance, the Production instance of B2B Commerce in the Cloud is manually updated by Optimizely. This means that when code is pushed to the production branch it is not automatically picked up by the Optimizely build servers. Production updates must always be requested using the Project Initiation form.
First Time Go-Live
When your implementation team started building in B2B Commerce in the Cloud they were provided technical on-boarding guidance and coaching on how code and content moves from one environment to another.
Copying the Sandbox Database to Production
This is a one-time only event. Optimizely will not copy Sandbox data to production in subsequent production updates. After the database copy scripts are ran on Production to do the following:
Attempts to delete all IS\ users (Optimizely personnel) but will only be able to do so if they don't have records associated to them such as content being approved
Removes ISC_System role from ALL users (only Optimizely personnel will have these privileges)
Sets the TokenEx payment gateway on with production credentials
Sets the Test mode or related setting for payment gateways to being Live
Removes the Test Email account so emails will go out live
Turns off SaveDatasets for integration
Sets a production server as an allowed server for integration (for import/export)
Turns on Etag caching for the site
Turns off saving datasets for FedEx andUPS
Turns off system debugging, mini-profiler, IntegrationConnection debugging and individual JobDefinition debugging
Sets the application log size to 4000
Sets AutomaticallyApplyThemes to False
Disables the Swagger CacheWarmer
Sets the HttpsMode to Always
Sets the StorageProvider to AmazonS3 (note, the actual bucket information will need to be updated to Production)
All active carriers will have the "live" flag set to true
Use the following steps to complete the go-live process:
Push Source Code to the Production Branch
Just like the developer pushes the code to the Sandbox branch of the GitHub repository, they will need to push the same code to the branch called Production.
Submit the Project Initiation Form
Start by completing the project initiation form. This is the same form you would have completed to provision your sandbox and project for the first time.
|Field||Description / Suggested Value|
|CC||Comma separated emails that should be copied on the notifications for this go-live event|
|Subject||[Client Name] - First Time Go-Live for B2B Commerce Cloud|
|Description||Please schedule our go-live for [date] at [time] Central Time. Please migrate our sandbox data to production.|
|Sandbox Site Only||Unchecked|
|GitHub Account||[The project github account]|
|Primary implementation team email account||The email account that will be notified of any go-live events. Please note that all provisioning related notifications will be tied to the ticket number associated with this completed form.|
|SSL Certificate Postal Address||Postal address to be used in order to create the SSL certificate.|
|Public Facing G-Live Domain Name||www.customername.com or applicable domain name|
Authorize Optimizely's Request to Use SSL
The IT contact person at the customer will be notified of Optimizely's request to associate their domain and SSL with the B2B Commerce Cloud instance. Please be sure that request is approved. If not, this can be a bottleneck in the process and may cause delay.
Once provisioned, testing can begin against hosts file entries. The Optimizely Hosting team will provide the host's file entries, which will include the public domain and the integration URL.
Production IP addresses
All traffic flowing into B2B Commerce Cloud currently flows through a single Network Load Balancer endpoint. The IP address for that endpoint is 126.96.36.199.
Traffic that originates from the B2B Commerce Cloud environment outbound towards the Internet is routed through an outbound proxy server. The external (Internet-routeable) IP address for this interface is 188.8.131.52. In situations where the B2B Commerce Cloud service is querying an external endpoint (ie, your ERP API or a 3rd party service) traffic will appear from 184.108.40.206. Note that you may need to adjust your on-premise network firewalls to allow traffic from this IP address.
Production Load Balancer IP: 220.127.116.11
Production Proxy IP: 18.104.22.168
Sandbox Proxy IP: 22.214.171.124
Containerized IP addresses:
Production: 126.96.36.199, 188.8.131.52, and 184.108.40.206
Sandbox: 220.127.116.11, 18.104.22.168, 22.214.171.124
Update DNS entries for the domain
The Optimizely team will then notify you of the DNS addresses that should be used for setting the public DNS. Once the DNS settings have propagated through the internet, the site should come online at the location of the domains provided.
Subsequent Production Updates
Once the site is live in a production URL that uses B2B Commerce in the Cloud, any subsequent updates can be done by pushing code to the production branch, completing the project initiation request form, and supplying the go-live date.
Last updated: Dec 11, 2020