AEM Version Updates
Adobe uses a continuous release model in AEM as a cloud service. This means the application is auto updating on an ongoing basis. There are two types of updates:
- Feature Releases – these are done on a predictable monthly schedule and are focused on new capabilities.
- Maintenance Releases – these can be released on a daily basis and are focused on security updates, bug fixes, and performance enhancements. They have minimal impact since changes are applied regularly.
Note: If the update to the production environment fails, Cloud Manager will automatically roll back the staging environment. This is done automatically to make sure that after an update is completed, both the staging and production environments are on the same AEM version. If custom code was pushed to staging and not to production, the next AEM update will remove those changes to reflect the git tag of the last successful customer release to production. Therefore, the custom code that was only available on staging will have to be deployed again.
Composite Node Store
Updates in most cases will incur zero downtime, including for the authoring instance, which is a cluster of nodes. Rolling updates are possible due to the composite node store feature in Oak. The general sequence of events is as described below, where Blue is the old version of customer code and Green is the new version. Both Blue and Green are running on the same version of AEM code.
- Blue version is active and a release candidate for Green is built and available.
- If there are any new or updated index definitions, the corresponding indexes are processed. Note that the blue deployment will always use the old indexes, while the green will always use the new indexes.
- Green is starting up while Blue is still serving.
- Blue is running and serving while Green is being checked for readiness via health checks.
- Green nodes that are ready accept traffic and replace blue nodes which are brought down.
- Over time, blue nodes are replaced by green nodes until only Green remain, thus completing the deployment.
- Any new or modified mutable content is deployed.
Dispatcher Tools and Validations
When you create an AEM project using AEM Project Maven Archetype, it is prepopulated with a set of dispatcher configuration files. The Dispatcher Tools provide a set of Apache HTTP Web server and Dispatcher configuration files that define behavior for all environments, including local development.
A complete description of the configuration files is available in the unpacked Dispatcher Tools as dispatcher-sdk-x.x.x/docs/Config.html.
- Use validate.sh script when validating your project-specific Dispatcher configurations against the latest Dispatcher Tools version.
- Update the immutable files using the update_maven.sh script
- Revalidate the configurations.
For more information on “How to validate and debug using dispatcher tools” – See below links https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/implementing/content-delivery/validation-debug.html?lang=en# and https://experienceleague.adobe.com/docs/experience-manager-learn/cloud-service/local-development-environment-set-up/dispatcher-tools.html
How to prepare for a release?
- Check the key dates for monthly release – https://experienceleague.adobe.com/docs/experience-manager-release-information/aem-release-updates/update-releases-roadmap.html?lang=en#aem-as-cloud-service
- Review release notes for the upcoming feature release.
- Enable the Prerelease channel in your non-production Prerelease gives you a rolling one-month window into upcoming AEMaaCS features, giving you time to assess the impact of any new features to your projects and customizations as well as plan roll outs of such features, testing, and user training. Check out thislink for ‘how to enable the prerelease channel on cloud environment or local SDK’ – https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/release-notes/prerelease.html?lang=en
- Once the new features are tested in the prerelease channel, you need to train your users. Adobe offers a lot of resources to learn AEMaaCS:
- The AEMaaCS documentation – https://experienceleague.adobe.com/docs/experience-manager-cloud-service.html?lang=en
- Tutorials – https://experienceleague.adobe.com/docs/experience-manager-learn/aem-tutorials/overview.html?lang=en
- The monthly release overview video – https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/release-notes/release-notes/release-notes-current.html?lang=en#release-video
Note – Prerelease is done only for monthly feature releases, not critical updates.
Let Perficient Help!
There are many nuances to AEM and AEMaaCS. Contact us today to see how we can best assist you on your AEM Journey.
References – https://blogs.perficient.com/2020/02/21/how-aem-as-a-cloud-service-scales/