Home Services Blog → Adobe Analytics → Adobe Experience Platform → Adobe Target → AEM → Google Analytics 4 → Segment CDP About Contact
AEM

AEM Cloud Migration: Planning Your Move from AEM 6.5

Migrating to AEM as a Cloud Service is a significant undertaking. This guide covers the complete migration journey—from assessment to go-live—with practical advice from real migrations.

AEM Cloud Migration Guide

Migration Overview

Migrating from AEM 6.x to AEM as a Cloud Service isn't a simple upgrade—it's a transformation. The cloud-native architecture requires changes to how code is structured, configured, and deployed. But with proper planning, the migration is manageable and the benefits are substantial.

Most migrations follow these phases:

1

Assessment

Evaluate your current implementation and identify gaps.

  • Run Best Practices Analyzer (BPA)
  • Inventory custom code and integrations
  • Assess content volume and complexity
  • Identify deprecated APIs and features
2

Code Refactoring

Update your codebase for cloud compatibility.

  • Restructure packages (separate mutable/immutable)
  • Convert OSGi configs to Sling Feature Model
  • Update dispatcher configuration
  • Replace deprecated APIs
3

Content Migration

Move your content to the cloud.

  • Use Content Transfer Tool (CTT)
  • Plan for delta migrations
  • Handle large binaries (DAM assets)
  • Validate content integrity
4

Testing & Go-Live

Validate everything before cutover.

  • Functional testing on stage
  • Performance and load testing
  • Content freeze and final migration
  • DNS cutover

Phase 1: Assessment

Best Practices Analyzer (BPA)

The Best Practices Analyzer is your starting point. It's an AEM package that scans your existing implementation and generates a report of cloud compatibility issues.

BPA identifies:

  • Blocking issues — Must fix before migration (deprecated APIs, incompatible code)
  • Warnings — Should fix but won't block (performance concerns, best practices)
  • Information — Awareness items (features that work differently in Cloud)
Pro Tip

Run BPA regularly during your refactoring phase—not just once at the start. As you fix issues, new ones may surface. Aim for a clean BPA report before content migration.

What to Inventory

  • Custom components — HTL/JSP components, client libraries, front-end code
  • OSGi services — Custom services, schedulers, workflows
  • Integrations — External APIs, SSO, analytics, third-party systems
  • Dispatcher rules — Rewrites, filters, caching rules
  • Content volume — Number of pages, DAM assets, total repository size

Phase 2: Code Refactoring

Package Restructuring

AEM Cloud requires a specific project structure that separates code from content:

  • all — Container package that embeds all sub-packages
  • ui.apps — Immutable content (components, templates, client libraries)
  • ui.config — OSGi configurations (Sling Feature Model format)
  • ui.content — Mutable content (sample content for development only)
  • core — Java bundle (OSGi services, Sling models)
  • dispatcher — Dispatcher configuration module
Important

Content packages (ui.content) should NOT be deployed to Cloud environments. All actual content goes through the Content Transfer Tool, not code deployments.

OSGi Configuration Changes

AEM Cloud uses the Sling Feature Model for OSGi configurations. Key differences:

  • Configuration files use .cfg.json format (not .config or .xml)
  • Run mode folders: config.author, config.publish, config.dev, etc.
  • No custom run modes—only standard environment run modes
  • Secrets go in Cloud Manager environment variables, not configs

Dispatcher Configuration

Dispatcher configuration is now part of your code repository and validated at build time:

  • Use the dispatcher module with standard folder structure
  • Run dispatcher validate locally before committing
  • No access to dispatcher servers—all config via Git
  • Some directives not supported (e.g., mod_rewrite loops)

Phase 3: Content Migration

Content Transfer Tool (CTT)

The Content Transfer Tool is Adobe's official solution for migrating content:

  1. Install CTT on your source AEM instance
  2. Create migration set — Select content paths to migrate
  3. Extract — Pull content into a migration package
  4. Ingest — Push content into Cloud environment

Migration Strategy

For large migrations, plan multiple passes:

Initial Migration (T-4 weeks)

Migrate all content while site is still live on 6.5. This is the bulk transfer.

Delta Migration 1 (T-2 weeks)

Migrate only content changed since initial migration. Faster and validates process.

Content Freeze (T-3 days)

Stop content authoring on source. Authors can prepare content but not publish.

Final Delta (T-1 day)

Last migration with all remaining changes. Validate thoroughly.

Go-Live (T-day)

Switch DNS, validate, enable authoring on Cloud.

DAM Asset Considerations

Large DAM libraries need special attention:

  • Renditions — Don't migrate renditions; Cloud regenerates them via Asset Compute
  • Size limits — CTT handles large binaries but network speed matters
  • Metadata — All metadata and folder structure transfers correctly
  • Smart Tags/Crops — May need reprocessing in Cloud

Phase 4: Testing & Go-Live

Testing Checklist

  • Functional testing — All components render, forms submit, workflows run
  • Integration testing — External systems connect, data flows correctly
  • Performance testing — Page load times, Time to First Byte (TTFB)
  • Content validation — All pages migrated, assets display, links work
  • Author experience — Authoring UI works, permissions correct

Go-Live Checklist

  1. Final content migration complete
  2. All test cases passing
  3. SSL certificates configured
  4. Custom domain in Cloud Manager
  5. CDN configuration verified
  6. Redirects in place (old URLs → new)
  7. Analytics/tag management updated
  8. Rollback plan documented

Common Migration Challenges

Custom Run Modes

If you relied on custom run modes like config.brand1 or config.region-eu, you'll need a different approach. Options include:

  • Context-aware configurations (Sling Context-Aware Config)
  • Cloud Manager environment variables
  • Content-based configuration nodes

Server-Side Integrations

Integrations that required server access need rearchitecting:

  • File system access → Cloud storage (Azure Blob, S3)
  • Direct database connections → API-based integration
  • Custom JMX beans → Cloud Manager monitoring

Migration Timeline

Typical timelines based on implementation complexity:

  • Simple sites (minimal custom code): 3-4 months
  • Standard implementations: 4-6 months
  • Complex enterprise sites: 6-9+ months

Factors that extend timelines: heavy customization, many integrations, large content volume, regulatory requirements, multiple brands/sites.

Related Topics

AEM migration AEM Cloud migration AEM 6.5 to Cloud Content Transfer Tool Best Practices Analyzer AEM upgrade AEM code refactoring Cloud Manager deployment AEM content migration dispatcher configuration WegWorks migration Weg Works AEM AEM consulting services Adobe Experience Manager migration enterprise CMS migration

Planning an AEM Cloud Migration?

Our team at WegWorks (Weg Works) has executed AEM migrations for Fortune 500 companies. Let us assess your implementation and build a migration roadmap.

Get Migration Help