Sunday, November 29, 2015

Mongo vs Tar MK... When is it appropriate to use Mongo MK for AEM


The general thumb rule is MongoMK provides better scalability and TarMK provides better performance. But most applications requires both scalability and performance.

The detailed analysis for Author & Publish instances as per the Adobe recommended metrics is

Author Environment

Metrics comparison against the criteria to validate if MongoMK would be the suitable option for an application is in the below table

Metric
Criteria
Dotcom Requirement
In favor of MongoMK
Number of named users connected in a day
In the thousands or more
Less than 1000
No
Number of concurrent users
In the hundreds or more
100 concurrent users
Maybe
Volume of asset ingestions per day
In hundreds of thousands or more
About 1000’s of assets ingested per day during the peak
No
Volume of page edits per day
In hundreds of thousands or more (including automated updates via Multi Site Manager or news feed ingestions for example)
No automated updates, will have about 1000’s of page edits during the pack
No
Volume of searches per day
In tens of thousands or more
May have tens of thousands of searches during the peak
May be

Other points on MongoMK for Authoring Environment

·         Scalability – MongoMK provides the ability to have multiple AEM instances share the same MongoDB instance. This shared all clustering approach enables horizontal scalability of AEM instances, adding additional AEM nodes as the load increases
·         Replication – MongoMK reduces the overhead of replication; it effectively delegates replication functionality to the MongoDB, which has mature model to maintain replica sets. Also the no. of MongoDB replicas and AEM instances can be scaled independently
·         Distributed Authoring teams – MongoMK helps when we have distributed authoring teams spread across geographies. Content changes done by all authors gets persisted to the same primary MongoDB instance and gets replicated to the secondary replica sets
·         Automated Recovery – MongoDB replica sets and automated failover helps with automated system recovery when the primary MongoDB instance goes down or in case of the whole data center failure; never the less TarMK also provides the option for setting up automated recovery

Recommended Option for Authoring Environment

The choice of MongoMK or TarMK for authoring instance can be based on no. of AEM instances required in authoring environment, in line with Adobe recomendation.
·         If more than 1 active AEM instance is needed for Authoring environment – MongoMK
·         If the volume can be handled with 1 active AEM instance - TarMK

Publish Instance

The thumb rule for considering if MongoMK is a choice for publish instance is if publish instance is required to support user generated content. 

Other points on MongoMK for Publish Environment

Code releases – When releasing code changes to production for an application, we will have to release it to one data center, validate the release and then release it to the other data center. This sometimes is a mandatory requirement to ensure 24/7 availability. Such rolling release is well supported by TarMK. With MongoMK, code release gets replicated to all MongoDB replica’s making the isolated release to one data center difficult.
AEM Upgrades – Applying patches and release upgrades to AEM also requires rolling releases which is well supported by TarMK because of their shared nothing clustering approach
Horizontal scalability – Both TarMK and MongoMK supports horizontal scalability for publish instance. With TarMK, we can have a form of independent shared nothing AEM instances, which are kept in sync by replication.

Recommended Option for Publish Environment

The choice of MongoMK or TarMK for publish instance can be based on if the site supports user generated content or not.
·         Site support user generated content – MongoMK
·         Site does not support user generated content - TarMK 

Connected Assets

This is a feature introduced in 6.5 release.  To understand the concept of connected assets clearly, it is essential to understand th...