Bloomreach Experience Manager Implementation Best Practices for Deployment in Bloomreach Cloud - BloomReach Experience - Open Source CMS

Bloomreach Experience Manager Implementation Best Practices for Deployment in Bloomreach Cloud

This documentation applies to Bloomreach Cloud 2 only

In Bloomreach Cloud create the following four environments:

  • dev or test
  • acceptance
  • blue
  • green

The blue and green environments serve production purposes, see blue/green deployment for more information. Use backup/restore functionality to test with production content on acceptance.

For an SPA/SSR, define a custom domain like prod.customername.com, provide the certificate, and point the domain to the production environment, either blue or green.

For regular HST-based websites, it is similar; use a domain like www.customername.com.

Optimize your Bloomreach Experience Manager implementation project for deployment in Bloomreach Cloud by following best practices:

  • Do not store session data in the HttpSession. If you do, this data will get lost when the platform scales the number of site containers down.
  • If the website writes data to the repository, this makes content freezes difficult. Content freezes are necessary when you need to do a Blue-Green Deployment, which is necessary for a major upgrade. So ideally the site does not store any data in the content repository during content freezes. Either by implementing the option to disable/enable this functionality at run-time or avoid storing data generated by the site in the repository altogether. If storing data in the repository is needed, write a script that can migrate the new data from the old to the new repository. Execute this script after the blue-green deployment.
  • Keep the content repository and database small - don't store large media files in the content repository. Instead, integrate with a dedicated external media service.

 

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?