AEM as Cloud Service Architecture
Adobe have come up with an innovative cloud-native solution for Adobe Experience Manager (AEM) to solve various challenges involved in scalability, maintenance, content delivery, assets handling & release of new features.
AEM as Cloud Service is,
· Always On - Service architecture has been revised so that there is no downtime for neither content management nor the content delivery capabilities.
· Always at Scale - Service architecture will automatically scale up and down depending on needs.
· Always Current - It implements a continuous delivery pipeline for the AEM codebase, with automated updates several times a month keeps the AEM application up-to date with recent versions.
· Always Evolving - Based on the projects implemented content, code & configurations are constantly reviewed against best practices allowing clients to achieve business goals.
In AEM On-Premises solution the biggest challenge is to setup production environment with author & publish instances by considering various parameters such as traffic, concurrent users, asset handling etc. but in AEM as Cloud Service with new architecture solves this major problem.
· Is scaled based on the actual traffic & user activity.
· Has individual instances that only run when needed.
· Uses modular applications.
· Has an author cluster as default, this avoids downtime for maintenance tasks.
Both author & publish instances are scalable.
· Vertical – allocated memory and CPU capacity can be scaled up or down for a fixed number of nodes.
· Horizontal – the number of nodes for a given service can be increased or decreased.
There are three types of environments available with AEM as Cloud Service.
1. Production environment – hosts the application for the business practitioners.
2. Stage environment – Is always coupled with production in a 1:1 relationship (Both environments uses same CI/CD pipeline for deployment, where production requires approval). The stage environment is used for various performance & quality testing.
3. Development environment – allows developers to implement AEM applications.
AEM as Cloud Service offers two types of programs both allows number of features & functionalities.
1. AEM Cloud Site Service
2. AEM Cloud Assets Service
Each program will have,
· 1 Adobe managed code repository (Git)
· 1 Stage + Production environment
· N Development environments
· 1 Deployment & 1 Code Quality Pipeline for Each Environment
Cloud Manager is a User Interface (UI), a part of Adobe Managed Cloud Services enables organization to self-manage Experience Manager in the cloud.
Key features of Cloud Manager are,
· Continuous Integration/Continuous Deployment
· Code Inspection, Performance Testing & Security Validations
· Automatic (On Git Changes), Manual & Scheduled Deployment
· Auto Scaling
· Configure Programs & Environments
· Configure SSL Certificates, Domain Settings, IP Allow Lists
Runtime architecture of AEM as Cloud Service is divided into various main components which are explained as below.
AEM as Cloud Service Runtime Architecture (Courtesy: Adobe)
· Author Tier is made up of single author cluster with 2 or more nodes. It scales automatically depending on authoring activity.
· Content authors login to AEM Author to create, edit & manage content.
· Logging into author tier is managed by Adobe "Identity Management Service" (IMS).
· “AEM Cloud Assets Service” is enabled in AEM Author. Assets integration & processing uses a dedicated Assets Compute Service.
· Publish Tier consist of 2 or more nodes with single publish farm: they can operate independently from each other.
· Each node consists of a AEM Publish & a web server equipped with the AEM Dispatcher module. It scales automatically with site traffic needs.
· End users or site visitors visit the website via the AEM Publish Service.
· AEM Cloud Assets Service is disabled by default.
· For publish tier, a Content Delivery Network (CDN) Service is also available at the first entry point.
· Preview Service feature delivers an additional Preview Service to each AEM as Cloud Service environment via Cloud Manager.
· It allows to Preview website’s final experience before it reaches Publish Tier & is available publicly.
· Both Author & Publish Tiers reads & persists content from/to a Content Repository Service.
· The Publish Tier only reads content from persistence layer.
· The Author Tier reads & writes content from and to the persistence layer.
· The blob storage is shared across the Publish & Author Tiers, files are not moved.
· Access to Author & Publish Tiers always happens via a load balancer. This is up to date with active node of each of the tier.
· When content is approved from Author Tier by activation it will be pushed to the Publish Tier persistence layer. This happens via "Replication Service" a middle-ware pipeline.
· This pipeline receives the new content, with individual publish service subscribing to the content pushed to the pipeline. For more information on replication mechanism & setup go through below links.
· Replication Service uses “Sling Content Distribution” to move content from Author Tier to Publish Tier [Replication Agents are no more supported in AEM as Cloud Service].
· Cloud Manager manages all updates to AEM as Cloud Service.
· Updates are triggered when
o A new version of AEM Cloud Service is ready from Adobe.
o A new version of Customer Application is ready.
· Cloud Manager pipeline combines new version of Customer Application + Baseline Adobe Image. When Images are built & tested successfully, Cloud Manager automates the cut-over to latest version of the image by updating all the nodes using rolling update pattern.
AEM as Cloud Service Deployment Architecture (Courtesy: Adobe)
Identity Management Service
· AEM as a Cloud Service includes Admin Console support for AEM instances and Adobe Identity Management System (IMS) based authentication.
· The Admin Console allows admins to centrally manage all Experience Cloud users.
· Users and Groups can be assigned to product profiles associated with AEM as a Cloud Service instances, allowing them to log in to that instance.
· AEM as Cloud Service comes with built-in CDN called “Fastly”.
· Its main purpose is to reduce latency by delivering cacheable content from the CDN nodes at the edge.
· It is fully managed and configured for optimal performance of AEM applications.
· Custom Managed CDN are also supported in AEM as Cloud Service. However, Custom CDN must point to AEM Managed CDN (i.e. Fastly).