EXPERTISE / 03
AEM Cloud Readiness & Modernization
Cloud readiness begins with discovering where an AEM application assumes a particular machine, filesystem or deployment sequence. I help make those assumptions explicit so teams can evaluate the modernization work before committing to a migration.
Readiness and architecture assessment, not a claim of leading a completed production AEMaaCS migration. Docker, Kubernetes and Azure experience concerns development tooling and AEM-adjacent workloads; standard Adobe AEM is not presented as a Kubernetes deployment.
ASSESSMENT FLOW
- Legacy AEM
- Application assessment
- Code modernization
- Content architecture
- Delivery / caching
- CI/CD
- Operational readiness
- Cloud-ready architecture
THE PROBLEM
Readiness is not putting an AEM server in a container
A portable image does not resolve unsupported APIs, persistent local state or manual repository mutations. Cloud readiness is an application and operating-model assessment, not a packaging technique.
Adobe’s readiness guidance separates mutable content from immutable application packages. I use that boundary to inspect what is deployed, what editors change, and what integrations create at runtime. A change that works through an administrator’s console may not belong in a repeatable delivery path.
ASSESSMENT
Find the assumptions that prevent repeatable deployment
Review the application as a set of responsibilities rather than a list of technologies. For each integration, identify ownership, state, credentials, timeouts and failure handling. For background work, establish whether a retry is safe and how a duplicate is detected.
- Code: supported and deprecated APIs, repository write locations, local filesystem use and OSGi configuration.
- Content: model ownership, Content Fragment dependencies, publication workflows and migration validation.
- Delivery: Dispatcher portability, CDN cache behavior, authorization boundaries and invalidation.
- Pipelines: artifact promotion, environment-specific configuration and automated acceptance checks.
- Operations: useful logs, request correlation, application health and recovery responsibilities.
PLATFORM BOUNDARIES
Decide what belongs inside AEM
An integration API or search gateway may deserve an independent deployment lifecycle when its runtime, scaling or failure characteristics differ from content authoring. Moving it outside AEM also creates network, authentication and observability obligations.
Container and Azure experience is useful for evaluating those adjacent services. It should not be confused with selecting or operating Adobe’s managed AEM infrastructure. I would validate service contracts, retries and credentials across that boundary before treating the split as an improvement.
READINESS OUTPUT
Make the remaining work measurable without invented scores
The useful output is a compatibility backlog with evidence: the current dependency, the target constraint, a proposed change, and the test that will establish acceptance. Avoid a single readiness percentage that hides a blocking integration.
Separate confirmed incompatibilities from hypotheses that require a Cloud Service environment. Rehearse deployment and content publication independently, then verify the complete author-to-consumer path. A readiness assessment supports a migration decision; it does not certify a production rollout.
ENGINEERING NOTES
Follow the technical reasoning
- AEM Cloud Migration Readiness
- AEMaaCS Platform Changes That Matter to Engineers
- AEM Sites vs. Edge Delivery Services (EDS) — What’s the Difference?