Introduction: If you are managing multiple brands/websites on SFCC then you must have encountered a question–Should you utilize multiple Realms or develop/configure/manage numerous websites or opt for a single Realm for all of them? finding the correct answer to this question is crucial to improving efficiency and scalability as well as meeting business objectives. In this blog, we would try to explain the relationship between Realms and Sites and outline the benefits and limitations of using a single Realm in comparison to multiple with respect to business objectives.
Realms in SFCC: A Realm is a piece of Salesforce commerce cloud that describes the aggregation of service(both software and hardware) that Salesforce provides to its customers. The realm contains instances which are application infrastructure that includes Web servers Application servers and database servers. Typically, a Realms consists of two groups: the Primary Instance Group(PIG) and the Secondary Instance Group(SIG).
A customer receives 9 instances per Realm -3 instances for staging, testing, and deployment on the PIG and 5 sandbox instances for code development on the SIG.
Sites in SFCC: Each Realm can host as many sites as you want to create The sites within a realm generally share an admin, development, and operation team. These sites can also share code (via cartridge path) and business objects like product data, category structure content library, and customers list. Each site comes with a dedicated inventory module.
The architecture of Site and Realm:
A Realm is designed to host multiple sites.
Single Realm vs Multiple – Which one is better
- The same core code base
- Easy to maintain
- Better for small teams
- Customization specific to the site is difficult to maintain
- A shared code base dictates the business requirement. A functionality becomes a priority only if it benefits all brands and not for a specific requirement of an individual brand.
- Roll out or Release (good or bad ) for global code affects all brands.
When to opt for the Single Realm Approach:
The sites within a Realm share many objects like development, QA, support, and maintenance of their sites. this streamlining creates significant efficiencies and scalability when compared to solutions that include redundant processes and multiple databases that need synchronization.
- Flexibility in having different code and functionality
- The global code will not affect all brands – it will only the brands in that Realm.
- Different business requirements or logic can run independently if the code is for a different brand.
- The higher infrastructure cost.
- A new STG, QA, and PROD instance is required to push the code from a lower environment to a production environment
- New Sandboxes are required since a different set of code is being developed and maintained.
When to opt for the Multiple Realm Approach:
Customers who use this approach have different development teams responsible for the site in each unique realm. These customers also have business teams who can define, prioritize, fund, and execute initiatives independently from each other.
How to work around brand consistency issues with multiple Realm approach:
- By having alignment between business units or brands or regions.
- By identifying and acknowledging organizational constraints or culture which make alignment difficult to attain.
Conclusion: Customers who adapt multiple Realms benefit from differentiation in how business processes are defined and managed while benefitting (in an offline manner)from the native compatibility of the SFCC architecture (importing or exporting from Real to Realm is easy.)