Expand my Community achievements bar.

SOLVED

Question on using AEM as a "Platform" to power multiple business units with various sites.

Avatar

Level 1

Hi, Experience League Community --

 

We are looking to leverage AEM as a "platform" to power multiple business units, each with their own set of unique websites; and I wanted to ask if anyone had any advice on how we might use AEM most effectively, or feedback if you are potentially using AEM in a similar environment.

 

We have two major business units (BU's) -- BU #1 and BU #2. These business units have very different brands and serve a different set of customers. And, each BU has various websites, in the neighborhood of a few hundred pages each.

 

We are currently using AEM to power all of the websites across these two business units, but each business unit is using AEM in a slightly different way. For example, BU #1 has developed their own unique set of components for each of their websites (that cannot be shared or utilized by BU #2) and vice versa. Furthermore, over the course of the last few years, each BU has developed duplicative components that differ slightly -- for example, we have multiple "Accordion" components that differ only slightly in their visual presentation.

 

We are looking to re-imagine our site infrastructure, and leverage one instance of AEM with a common, well-documented set of universal components that can be used by both of our brands and multiple websites. In other words, we want to build an "Accordion" component once and make it flexible enough to enable both of our brands to style the visual presentation of this Accordion however they please for each of their sites.

 

Is anyone using AEM in this way (as a "platform") to power multiple business units, and multiple properties? Any best practices, or lessons learned, around using core components and guidelines for when to develop a custom component? 

 

Thanks!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @SandeepM24 

We had a similar setup where the "platform" team provided all necessary components and templates to all business units (BUs)."platform" team also customized core components as needed to fit the brand. When a change is needed in a component, the BU raises a request to the platform team to assess and deliver if it meets global demand. Otherwise, the BU proxies that component, such as an "Accordion," and updates it locally.

Since the "platform" team and BUs work in silos, an automated visual test was used to detect any changes or issues against reference pages that contain all components with variations.



Arun Patidar

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hi @SandeepM24 

We had a similar setup where the "platform" team provided all necessary components and templates to all business units (BUs)."platform" team also customized core components as needed to fit the brand. When a change is needed in a component, the BU raises a request to the platform team to assess and deliver if it meets global demand. Otherwise, the BU proxies that component, such as an "Accordion," and updates it locally.

Since the "platform" team and BUs work in silos, an automated visual test was used to detect any changes or issues against reference pages that contain all components with variations.



Arun Patidar

Avatar

Level 5

Hi @SandeepM24 ,

 

You can leverage AEM as a platform to manage mutiple sites and business units undera a single umbrella. You need to consider Content size, Incoming traffic rate, no of concurrent site users, number of concurrent content authors etc while designing the AEM infrastructure. Use a single AEM instance with separate content repositories or "sites" for each business unit. This allows you to manage shared resources while keeping content segregated. With AEMAACS you can achive this model with less efforts form your side since it is a container based infrastructure which is auto scalable as per the incoming traffic with lot of advanced features that will help to have a consistent environment for your sites.

 

With respect to component reusability or custom component creation, you need to have  an idea of how the site structure looks overall and do a workshop session with AEM experts to see whether you can leverage OOTB core components or you need to go for the custom one. To avoid duplication of components, you can use style system for visual differences or component versioning functionality to achieve variation of components.

 

You can also consider using editable templates, content and experience fragments for Content reusability, seamless multichannel content experience.

 

Utilize AEM run modes and context aware configurations to configure settings and features specific to each business unit without affecting others

 

Other things to consider,

 

  • Establish a governance framework to maintain consistency and quality across all business units - authoring guides, run books, release strategy etc.
  • Develop and enforce best practices for content creation, management, and deployment to ensure the platform is used effectively.

Hope this helps!

 

Regards,

Hemalatha C

Avatar

Level 4

Hi Sandeep,

 

You shall consider multi tenancy pattern,

  • where you will be having one root/global project with common components/functionalities to avoid boiler plate/code duplication.
  • at the same time individual tenants have their own functionalities, components, overlay/override or reuse the from parent.

Ref - https://blog.developer.adobe.com/hosting-multiple-tenants-on-aem-815c8ed0c9f9

https://experienceleague.adobe.com/en/docs/experience-manager-learn/assets/deployment/multitenancy-c...