Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Go-live with Commerce (SaaS)

Describes how 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.

See also the Cloud Customer Launch Checklist for project milestones, request lead times, and required tasks.

Understanding how to go-live with your Commerce (SaaS) Sandbox is an important and exciting process.

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 Commerce (SaaS) 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.

📘

Note

During the pre-go-live period, be sure all your users are accessing the integration URL clientname-integration.insitesofthosting.com for any imports/exports.

First-time Go-Live

When your implementation team started building in Commerce (SaaS) they were provided technical on-boarding guidance and coaching on how code and content moves from one environment to another.

Copy the sandbox database to production

This is a one-time only event that occurs when the production environment is created. Optimizely will not copy Sandbox data to production in subsequent production updates. After the database copy, the hosting team runs scripts in your Production environment to:

  • Attempt 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
  • Remove ISC_System role from ALL users (only Optimizely personnel will have these privileges)
  • Set the TokenEx payment gateway on with production credentials
  • Set the Test mode or related setting for payment gateways to being Live
  • Remove the Test Email account so emails will go out live
  • Turn off SaveDatasets for integration
  • Set a production server as an allowed server for integration (for import/export)
  • Turn on Etag caching for the site
  • Turn off saving datasets for FedEx andUPS
  • Turn off system debugging, mini-profiler, IntegrationConnection debugging and individual JobDefinition debugging
  • Set the application log size to 4000
  • Set AutomaticallyApplyThemes to False
  • Disable the Swagger CacheWarmer
  • Set the HttpsMode to Always
  • Set the StorageProvider to AmazonS3 or Azure (note, the actual bucket/account information will need to be updated to Production)
  • Set the "live" flag to true for all active carriers.

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.

 FieldDescription / Suggested Value
CCComma separated emails that should be copied on the notifications for this go-live event
Subject[Client Name] - First Time Go-Live for Commerce (SaaS)
DescriptionPlease schedule our go-live for [date] at [time] Central Time. Please migrate our sandbox data to production.
Sandbox Site OnlyUnchecked
Reset SandboxUnchecked
GitHub Account[The project github account]
GitHub UrlEmpty
Primary implementation team email accountThe 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 AddressPostal address to be used in order to create the SSL certificate.
Public Facing G-Live Domain Namewww.customername.com or applicable domain name

Authorize Optimizely's request to use SSL

During the provisioning process, you will be provided with Cloudflare TXT records to verify that Optimizely can provision SSL certificates through Cloudflare on your behalf.

Verify production

Once provisioned, your team can begin testing production against the domains provided to your team in the provisioning ticket.

Production IP addresses

All traffic flowing into Commerce (SaaS) currently flows through a single Network Load Balancer endpoint. The IP address for that endpoint is 35.171.108.221.

Traffic that originates from the Commerce (SaaS) environment outbound towards the Internet is routed through an outbound proxy server.  The external (Internet-routeable) IP address for this interface is 34.195.97.37.  In situations where the Commerce (SaaS) service is querying an external endpoint (ie, your ERP API or a 3rd party service) traffic appears from 34.195.97.37.  Note that you may need to adjust your on-premise network firewalls to allow traffic from this IP address.

  • Public Mailgun IP – 159.112.248.120
  • IP addresses –
    • Production –
      • 35.171.108.221
      • 34.195.97.37
      • 20.232.231.140
      • 52.0.219.54
      • 50.17.155.37
      • 54.90.45.51
      • 20.54.94.225
      • 52.146.53.36
      • 52.3.163.37
    • Sandbox –
      • 20.242.218.244
      • 3.212.14.115
      • 3.95.48.192
      • 34.237.90.62
      • 52.149.243.150
      • 51.104.183.142

Update DNS entries for the domain

The Optimizely team then notifies 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 in the production provisioning ticket.

📘

Note

Use the clientname-integration.insitesofthosting.com URL for any imports/exports and integration connections from the website to the Commerce Integration Service (WIS).

Subsequent production updates

After the site is live in a production URL that uses Commerce (SaaS), 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.