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!
Solved! Go to Solution.
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.
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.
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,
Hope this helps!
Regards,
Hemalatha C
Hi Sandeep,
You shall consider multi tenancy pattern,
Ref - https://blog.developer.adobe.com/hosting-multiple-tenants-on-aem-815c8ed0c9f9