Deployments and Scaling in AEM as a Cloud Service
Cloud Environments and Cloud Manager
Content Delivery and Distribution
Best Practices for Deployment
Scalability and Resilience
No downtime
Cloud Environments and Cloud Manager
AEM as a Cloud Service requires Cloud Manager for deploying code and managing environments. In AEMaaCS, every code change or configuration goes through Cloud Manager’s CI/CD pipelines – this is the only way to get code into dev, stage, or production environments. In practice, developers build and test locally, then push changes to a Git repository. A Cloud Manager pipeline then packages the code, runs tests, and automatically deploys to the target environment (dev, stage, prod) without manual server updates.
Environments in AEMaaCS are fixed to Author (for content creation) and (if applicable) Publish (for content delivery) tiers. The classic “Author-Publish-Dispatcher” topology still exists, but now every environment is cloud-hosted. The standard environment types are:
- Production (the live site),
- Stage (1:1 mirror of production for testing updates and final UAT before signoff for new features),
- QA (environment for the Quality Assurance team)
- Development (smaller scale environment for development, experimentation and playground for the dev team)
- Rapid Dev Environment (RDE) (a special environment for hot-swapping code for quick debug). For example, an RDE lets you “sync” code from your laptop to the cloud quickly for early testing Adobe maintains these environments under the same architecture, automatically performing baseline upgrades and ensuring the Stage is in sync with Production content.
Because all deployments go through Cloud Manager, rolling updates are set up by default. When a new version of the AEM service or your code is released, Cloud Manager builds a new Docker image (with your code and Adobe’s baseline), then gradually swaps the old instances for new ones across the cluster. As Adobe notes, “Cloud Manager fully automates the cut-over to the latest version by updating all service nodes using a rolling update pattern. This means there is no downtime for either the author or publish service”. Behind the scenes, this may involve starting new green instances, health-checking them, and then retiring the old blue nodes, one by one, without ever halting the overall service.
Content Delivery and Distribution
Content distribution in AEMaaCS also has a modern twist. Traditional AEM on-prem used a replication framework to push content from author to publisher, but AEMaaCS now uses Sling Content Distribution with Adobe I/O pipelines. In simple terms, when you “activate” a page, it enters a cloud queue and all publish nodes consume from that queue. This pub/sub approach decouples author and publish tiers: the author never needs to know how many publisher nodes exist, and additional nodes can auto-scale without special coordination. Adobe emphasizes that published content is pushed through the pipeline “to which all nodes of the publish service subscribe”. The result is that content is never in an inconsistent state – either all nodes see the update or none do.
Because all published assets (images, videos, etc.) live in a shared cloud datastore, the author/publish JVMs never transfer large binaries directly. This greatly speeds up uploads/downloads and allows the system to scale storage independently. The published site is fronted by an Adobe-managed CDN, which caches content globally. In fact, Adobe notes that with AEMaaCS “a Continuous Delivery Network (CDN) is available as the first entry point of the Publish service so your customers will have the best possible performance when accessing your content”. In practice, this means end users hit edge servers worldwide, getting fast responses and offloading load from the core publishers.
Best Practices for Deployment
Because AEMaaCS is continuously updated, development practices differ slightly from on-premises AEM. Key points include:
Immutable Code and Config
All Java code, OSGi configs, and HTL scripts are part of your application artifact. They must be in source control and deployed via Cloud Manager. Runtime changes (via the Web Console) are not retained in the cloud—config must be in code.
Separation of Content
The architecture splits content (mutable data in /content and /conf) from code. Content intended for initial setup (like folder structures or editable templates) can be deployed in mutable content packages or via special “repo-init” scripts. But note: Cloud Manager deployments replace authoring data, so content is treated carefully (there’s no automated rollback of content packages).
Run Modes
Local developers can use AEM Quickstart in various run-modes (author/dev, author/stage, publish, etc.) to simulate different environments. AEMaaCS recognizes run-modes like author.dev, publish.prod, or author.rde to apply specific OSGi configs. For example, a config file named my.config~author.prod would only apply in the production author environment. This helps enforce separation of settings across environments.
In daily terms, a typical deployment flow is: code changes in Git → Cloud Manager pipeline builds & tests → deploy to Dev (CI gate) → promote to Stage (QA gate) → go live on Prod, all automated. Behind this, Cloud Manager handles combining customer code with Adobe’s baseline, running static code analysis, container scans, integration tests, and finally doing the controlled switch to the new build.
Scalability and Resilience
The ultimate benefit of this cloud model is resilience. AEMaaCS instances are uniform – Adobe states “all instances of AEMaaCS are created equal and uniform” with the same node sizing and configuration. An orchestration engine continuously monitors the health and load. If CPU or memory hits certain thresholds, more instances spin up (horizontal scaling). If publisher traffic climbs, the system automatically adds more publisher nodes behind the dispatcher. If authoring demand rises, additional author nodes come online.
Because of the publish/subscribe pipeline, publishers can scale out rapidly without any special coordination with the author. A new publisher node simply taps into the content queue to catch up on all activations. When traffic drops, instances are automatically recycled or decommissioned (all daily recycled by a “golden master” process). In practice, this means your site remains available and performant even under unpredictable loads – the capacity adjusts invisibly.
No downtime
Thanks to rolling updates and redundant clusters, Adobe promises “always on, always available” for AEMaaCS. Maintenance patches and feature releases are rolled out incrementally. Even the database (content repo) is built on robust cloud storage. Customers simply consume the AEM application without worrying about server restarts or replication lag.
AEM Cloud Service represents a major evolution: it keeps the AEM development model (bundles, JCR, Sling) but moves operations and scaling into Adobe’s managed cloud. This lets development teams focus on content and features, while Adobe handles the infrastructure. As long as custom code remains compatible with these principles (modular bundles, externalized content, idempotent deployment), teams can harness rapid innovations like continuous updates, auto-scaling, and CDN delivery for their digital experiences.