SonarQube AEM cusotm code Guidelines or AEM Custom code standard guidelines or AEM code quality rules

Statement : AEM code review standard guidelines as per SonarQube rules

Solution:

https://helpx.adobe.com/experience-manager/cloud-manager/using/custom-code-quality-rules.html



introduction to cloud manager, configure CI/CD pipeline & Deployment in Cloud Manager

Statement :
  • Cloud Manager, part of the Adobe Managed Cloud Services, enables organizations to self-manage Experience Manager in the cloud. 
  • It includes a continuous integration and continuous delivery (CI/CD) framework.

Using the Cloud Manager self-service customer portal, Organizations can perform/leverage the following:
    • Continuous Integration / Continuous Delivery of code to reduce time to market from months/weeks to days/hours.
    • Code Inspection, performance testing and security validation based on best practices before pushing to production to minimize production disruptions.
    • Automatic, scheduled or manual deployment even outside of business hours for maximum flexibility and control.
    • Autoscaling feature intelligently detects the need for increased capacity and automatically brings online additional Dispatcher/Publish segment(s).
The below image illustrate the CI/CD process flow used in Cloud Manager:


screen_shot_2018-05-12at73843pm

Key Features in Cloud Manger :

Self Service interface :
CI/CD pipeline
  • It reduce time to market from months to days for application 
  • Customers can configure and kick off their CI/CD pipeline. During this pipeline, a thorough code scan is executed to ensure that only high-quality applications pass through to the production environment.
  • helps for easy setup of CI/CD for application code deployment, code inspection ,security validation, security test, performance test and deploy code to Prod through automated, scheduled or manual deployment outside business hours.
  • CM URL for CI/CD setup :https://helpx.adobe.com/experience-manager/cloud-manager/using/configuring-pipeline.html
Flexible Deployment Modes
  • Independently of the deployment trigger, quality checks are always performed as part of the CI/CD pipeline execution, 
  • Every time a deployment is triggered. Quality checks include, code inspection, security testing, and performance testing delivered out of the box with literally no effort required from customers or their partners.
  • The code is automatically deployed to an environment based on specific events such as code commit. 
  • You can also schedule code deployments during specified time frames, even outside business hours.
  • Cloud Manger URL for https://helpx.adobe.com/experience-manager/cloud-manager/using/deploying-code.html
Auto Scaling
  • During an autoscaling event, Cloud Manager automatically triggers the autoscaling provisioning process, sends a notification of the autoscaling event, and brings on-line the additional capacity within minutes. 
  • The additional capacity will be provisioned in the production environment, in the same region(s) and matching the same system specifications as the running Dispatcher/Publish nodes.
  • The autoscaling feature will apply only to the Dispatcher/Publish tier, and will always be executed using a horizontal scaling method,
  •  with a minimum of one additional segment of a Dispatcher/Publish pair, and up to a maximum of ten segments. 
  • Any additional capacity provisioned will be manually scaled-in within a period of ten business days as determined by the CSE (Customer Success Engineer).
Reference URL:
Self Service Cloud Manager Portal :

Deployment setup :

Manage your Notification for status on deployment CI/CD status:
https://helpx.adobe.com/experience-manager/cloud-manager/using/notifications.html

AEM Custom code standard Guidelines for code review:
https://helpx.adobe.com/experience-manager/cloud-manager/using/custom-code-quality-rules.html

Key Concepts

https://helpx.adobe.com/experience-manager/cloud-manager/using/key-concepts.html

Customer Journey
https://helpx.adobe.com/experience-manager/cloud-manager/using/customer-journey.html

Security & Privacy

https://helpx.adobe.com/experience-manager/cloud-manager/using/security-and-privacy.html

Access rights Granted
https://helpx.adobe.com/experience-manager/cloud-manager/using/access-rights-granted.html

Environment Provisioned
https://helpx.adobe.com/experience-manager/cloud-manager/using/environments-provisioned.html

Source code repository
https://helpx.adobe.com/experience-manager/cloud-manager/using/source-code-repository.html

Configure your release branches:
https://helpx.adobe.com/experience-manager/cloud-manager/using/configure-your-release-branches.html

Create an AEM application Project
https://helpx.adobe.com/experience-manager/cloud-manager/using/create-an-application-project.html

Manage Your Dispatcher configuration:

https://helpx.adobe.com/experience-manager/cloud-manager/using/dispatcher-configurations.html

Release notes for CM 7.0

https://helpx.adobe.com/experience-manager/cloud-manager/using/release-notes-2018-7-0.html

Release notes for CM 6.0
https://helpx.adobe.com/experience-manager/cloud-manager/using/release-notes-2018-6-0.html

Release notes for CM 5.0
https://helpx.adobe.com/experience-manager/cloud-manager/using/release-notes-2018-50.html

Multitenancy and Concurrent Development in AEM

Solution :


Benefits and Challenges to implement a multi-tenant environment. Challenges include: 

  •  Additional technical complexity 
  •  Increased development overhead 
  •  Cross-organization dependencies on shared resources 
  •  Increased operational complexity 


Despite the challenges faced, running a multitenant application does have benefits, such as: 

  • Reduced hardware costs
  • Reduced time to market for future sites 
  • Lower implementation costs for future tenants
  • Standard architecture and development practices across the business 
  • A common codebase

 Development Techniques :

  1. Managing dependencies
  2. Preventing code duplication
  3. Managing deployment scope
  4. Overlays
  5. Workflow launchers
  6. Vanity URLs
  7. Component Groups
  8. Testing
Operational Considerations:
  1. Shared Resource.
  2. Performance
  3. Logging'
  4. Backup and restore
Security consideration
  1. ACL
  2. Administartive Sessions
  3. Full text indexing
  4. User authentication
  5. Servlets
Governance 
  1. Stakeholder Alignment
  2. Release Cycles
  3. Support
  4. Encouraging Reuse
  5. Improving Visibility  

Checklist Use the following checklist to ensure that you have considered the important pieces of a multitenant AEM deployment: 

 A strong architecture/central team in place 
 High-level executive buy-in 
 Business unit level buy-in 
 Governance and processes are in place 
 An emphasis on testing 
 Agreement on release/upgrades and schedules 
 Common infrastructure and operations (storage, backup/restore) 

 Single place (e.g. wiki) to document the platform and each individual application 
 Common development and deployment strategy 
 Development of a core platform of services used by all sites 
 Extensive product knowledge by development and operation teams

Reference :

https://solutionpartners.adobe.com/content/dam/spp_assets/public/public_4/Multitenancy_and_Concurrent_Development_in_AEM.pdf