Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Single Author with two different Publishers : will it be a good Architecture design?

Avatar

Level 3

Hi All,

 

Please suggest is it good design to add two new different publishers for new application on single Author on existing architecture:( 1 author with 2 publishers)

 

Currently we are using 6.4 and on single Author we have two Publishers. Now we need to deploy one new application(different code base) on the same existing architecture. To reduce the load on Publisher we are planning to add two new Publish instances only for the new application. Please check high level diagram below( New Publish instance in blue color).

sunily21159739_0-1618005209781.png

I know this is possible but will it be a better design to handle deployment activities easily in such scenario as we are two separate teams for two different applications & don't have a common Devops for deployment.

 

Thanks,

 

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Deployment is one problem, the interaction between the 2 codebases a different. And if you are working on-prem, licensing might be a third.

 

On author you need to have the 2 codebases running in parallel, and that very like needs some kind of coordination and testing. To have maximal separation between these 2 applications you should have distinct environments. See also my blog posts about multi-tenancy:

 

https://cqdump.joerghoh.de/2015/05/04/the-problems-of-multi-tenancy-governance/ 

https://cqdump.joerghoh.de/2015/06/23/the-problems-of-multi-tenancy-the-development-model/

 

 

View solution in original post

9 Replies

Avatar

Community Advisor

Few things to consider:

  1. It's always better to add additional dispatchers as well (1:1 mapping). Dispatchers are commodity servers and extremely cheap to add additional ones. I would recommend to add new dispatchers to point to new publishers.
  2. Any specific requirement to push the code bases to only few publishers? Its significantly low maintenance if you manage both the code bases on all publishers and let all publishers to handle requests for both the domains. Of course this depends on many other factors such as integrations and caching mechanisms..etc.
  3. You just need to have site specific dispatcher configs to handle the requests from both of these sites.

Thanks,

Singaiah

Thanks Singaiah for your response, yes we we need to keep separate both the code base, First application code on one Publisher(4503) and second application code on New Publisher(4505). Since Author will still be shared between application one and application two do you believe it could cause bottlenecks based on the DevOps pipeline and coordination with separate development teams and timelines.

Avatar

Community Advisor
Yes, you may face few issues with deployment pipelines. Lets say you're on AMS and want to leverage Cloud Manager for deployment, your architecture would not work. Cloud Manager just deploy to all nodes.

Avatar

Community Advisor
Yes, you may face few issues with deployment pipelines. Lets say you're on AMS and want to leverage Cloud Manager for deployment, your architecture would not work. Cloud Manager just deploy to all nodes. What's the main reason having site specific publishers apart from managing the code base? I would go for separate code bases for both of the sites and deplot both the code bases to all servers and allow all servers to serve content for both the sites just for easy maintenance, upgrades, DevOps pipelines..etc.

Currently both the applications are running on same instances( App one and App two), we have huge traffic load on Application one and all the open connection pools used by Application one and due to this Application two went down/slow. To avoid this situation we are plaining separate out both the application on different publishers and we can  separate out the traffic.

Avatar

Community Advisor

Okay. Try to fix those open issues causing the slowness and it will help you on the long run on the maintenance side as well as improving App One performance. To start with, you can deploy both the code bases to all four publishers and route the App Two traffic to Pub 3 and 4 and App One traffic to Pub 1&2 until you fix the App One code base/configs.

Avatar

Correct answer by
Employee Advisor

Deployment is one problem, the interaction between the 2 codebases a different. And if you are working on-prem, licensing might be a third.

 

On author you need to have the 2 codebases running in parallel, and that very like needs some kind of coordination and testing. To have maximal separation between these 2 applications you should have distinct environments. See also my blog posts about multi-tenancy:

 

https://cqdump.joerghoh.de/2015/05/04/the-problems-of-multi-tenancy-governance/ 

https://cqdump.joerghoh.de/2015/06/23/the-problems-of-multi-tenancy-the-development-model/