Fast Facts — AEM Best Practices Analyzer (BPA)

Sanjay Kushawaha
TECHnotes4u
Published in
3 min readOct 8, 2021

The Best Practices Analyzer (BPA) which earlier known as Cloud Readiness Analyzer is used to assess the AEM project code implementation by indicating areas that are not following the best practice guidelines of AEM as a Cloud Service (AEMaaCS).

By using the report generated by BPA you can identify the potential code refactoring areas that need to be fixed before deploying it to AEMaaCS. Let’s understand the flow by referring below diagram.

Important considerations for BPA

  • It is supported on AEM instance 6.1 or above and can be run by admin or user having administrator rights.
  • It can be downloaded from Adobe Software Distribution Portal and install on AEM Author using Package Manager. Once installed it can be accessed by following the path Tools → OperationsBest Practices Analyzer.
  • It is preferable to run BPA tool on Stage Author or clone of the Production Author environment. You can download the BPA report as a comma-separated values (CSV) file.
  • The generation of BPA report can take a significant amount of time, from several minutes to a few hours based on size and nature of the AEM repository content, the AEM version, and other factors.
  • It helps to assess the readiness to move from existing AEM deployment to AEMaaCS.
  • It utilizes an updated version of the Pattern Detector Tool with new patterns specific to AEMaaCS guidelines. Pattern Detector is embedded in the BPA package.
  • BPA utilizes a system service user account named repository-reader-service to execute the Pattern Detector. This user is available OOTB on AEM 6.2+ versions. For AEM 6.1 you need to explicitly create this service user account prior to installation of BPA.
  • BPA report can be a useful input during the process of determining level of effort require to make the code compatible with AEMaaCS.

BPA report’s listed issues categories

  • Deployment and configuration issues.
  • AEM 6.x features that are currently not supported on AEMaaCS.
  • Application functionalities that must be refactored to make it compatible with AEMaaCS.
  • Repository items that must be moved to a supported location as per AEMaaCS guidelines.
  • Legacy user interface dialogs and components that must be modernized as per AEMaaCS guidelines.

BPA report’s Importance Levels

An importance levels help to identify the severity of each issues finding available in BPA report. This act as an indicator to specify rough priority for action to be taken to fix the issues.

  • INFO — This type of issue finding is provided for information purpose.
  • ADVISORY — This type of issue finding is related to potential upgrade issue. Further investigation related to issue is recommended in this case.
  • MAJOR — This type of issue finding is likely to be an upgrade issue that should be addressed.
  • CRITICAL — This type of issue finding is very likely to be an upgrade issue that must be addressed to prevent loss of function or performance.

--

--