AEM as a Cloud Service content migration FAQ

Get answers to frequently asked questions about content migration to AEM as a Cloud Service.


Please use the below template for providing more details while creating CTT related Adobe support tickets.

Content Migration Adobe Support Ticket Template {align="center"}

General content migration questions

Q: What are the different methods to migrate content into AEM as Cloud Services?

There are three different methods available

  • Using Content Transfer Tool (AEM 6.3+ → AEMaaCS)
  • Through Package Manager (AEM → AEMaaCS)
  • Out of the box Bulk Import Service for Assets (S3/Azure → AEMaaCS)

Q: Is there a limit on the amount of content that can be transferred using CTT?

No. CTT as a tool could extract from AEM source and ingest into AEMaaCS. However there are specific limits on AEMaaCS platform that should be considered before migration.

For more info, refer to cloud migration prerequisites.

Q: I have the latest BPA report from my source system, what should I do with it?

Export the report as CSV and then upload it to Cloud Acceleration Manager, associated with your IMS Org. Then go through the review process as outlined in the Readiness Phase.

Please review the code and content complexity assessment provided by the tool and make a note of associated action items that lead to code refactoring backlog or Cloud Migration Assessment.

It is always recommended to perform 1:1 extraction and ingestion between author and publish tiers. That being said, it is acceptable to extract source production author and ingest that into Dev, Stage, and Production CS.

Q: Is there a way to estimate the time, it takes to migrate the content from source AEM into AEMaaCS using CTT?

Since the migration process depends on internet band width, heap allocated for CTT process, free memory available, and disk IO which are subjective to each source system, it is recommended to execute Proof Of migrations early on and extrapolate that data points to come up with estimates.

Q: How does my source AEM performance be impacted if I start CTT extraction process?

CTT tool runs in its own Java™ process which takes up to 4gb heap, which is configurable through OSGi configuration. This number may change but you can grep for the Java™ process and find that out.

If AZCopy is installed and/or Pre copy option / validation feature enabled, then AZCopy process consumes CPU cycles.

Apart from jvm , the tool also uses disk IO to store the data on a transitional temp space and that will be cleaned up after extraction cycle. Apart from the RAM, CPU and Disk IO, CTT tool also uses the network band width of the source system to upload data into Azure blob store.

The amount of resources the CTT extraction process takes depends on the number of nodes, number of blobs and their aggregated size. It is hard to provide a formula and hence it is recommended to execute a small Proof of migration to determine the source server upsize requirements.

If clone environments are used for migration, then it will not impact the live production server resource utilization but has its own downsides regarding synching content between Live production and clone

Q: What do the terms “wipe” and “overwrite” mean in the context of CTT?

In the context of extraction phase, The options are either to overwrite the data in the staging container from previous extraction cycles or add the differential (added/updated/deleted) into it. Staging Container is nothing, but the blob storage container associated with migration set. Each migration set gets their own staging container.

In the context of ingestion phase, The options are + to replace the entire content repository of AEMaaCS or sync the differential (added/updated/deleted) content from staging migration container.

Q: There are multiple websites, associated assets, users, groups in the source system. Is it possible to migrate them in phases to AEMaaCS?

Yes, it is possible but requires careful planning regarding:

  • Creating the migration sets assuming the sites, assets are into their respective hierarchies
    • Verify whether it’s acceptable to migrate all the assets as part of one migration set and then bring sites that are using them in phases
  • In the current state, the author ingestion process makes the author instance unavailable for content authoring even though publish tier can still serve the content
    • This means until the ingestion completes into author, content-authoring activities are frozen
  • Users are no longer migrated, though groups are

Please review the Top up extraction and ingestion process as documented before planning the migrations.

Q: Are my websites going to be available for end users even though ingestion is happening into either AEMaaCS author or publish instances?

Yes. End-user traffic is not interrupted by content migration activity. However, the author ingestion freezes content authoring until it completes.

Yes. The missing original rendition means the asset binary is not properly uploaded in the first place. Considering it as bad data, please review, backup using Package Manager (as required) and remove them from source AEM before running extraction. The bad data will have negative results on the asset processing steps.

When jcr:content is missing at folder level, any action to propagate settings such as processing profiles, etc. from parents will break at this level. Please review the reason for missing jcr:content. Even though these folders could be migrated, please note that such folders degrade user experience and cause unnecessary troubleshooting cycles later.

Q: I have created a migration set. is it possible to check the size of it?

Yes, there is a Check Size feature which is part of the CTT.

Q: I am performing the migration (extraction, ingestion). Is it possible to validate that all my content extracted is ingested into target?

Yes, there is a validation feature which is part of CTT.

Q: My customer has a requirement to move content between AEMaaCS environments such as from AEMaaCS Dev to AEMaaCS Stage or to AEMaaCS Prod. Can I use content transfer tool for these use-cases?

Unfortunately, No. CTT’s use case is to migrate content from On-premises/AMS-hosted AEM 6.3+ source to AEMaaCS cloud environments. Please read CTT documentation.

Q: What kind of problems are anticipated during extraction?

Extraction Phase is an involved process that requires multiple aspects to work as expected. Being aware of different kind of issues that may occur and how to mitigate them increases the overall success of content migration.

The public documentation is continuously improved based the learnings, but here are some high-level problem categories and possible underlying reasons.

AEM as a Cloud Service content migration extraction issues {align="center"}

Q: What kind of problems are anticipated during ingestion?

Ingestion phase completely occurs in cloud platform and requires help from the resources that have access to AEMaaCS infrastructure. Please create a support ticket for more help.

Here are possible issue categories (please do not consider this as an exclusive list)

AEM as a Cloud Service content migration ingestion issues {align="center"}

Q: Does my source server need to have outbound internet connection for CTT to work?

The short answer is “Yes”.

The CTT process requires connectivity to the below resources:

  • The target AEM as a Cloud Service environment: author-p<program_id>-e<env_id>
  • The Azure blob storage service:

Refer to the documentation for more information about source connectivity.

Q: Are assets going to be reprocessed automatically after ingestion in AEMaaCS?

No. To process the assets, the request to reprocess must be initiated.

Q: Are assets going to be reindexed automatically after ingestion in AEMaaCS?

Yes. The assets are reindexed based on the index definitions available on AEMaaCS.

Q: The source AEM has an integration with Dynamic Media. Are there any specific things that must be considered before Content Migration?

Yes, please consider the following when source AEM has Dynamic Media Integration.

  • AEMaaCS Supports Only Dynamic Media Scene7 Mode. If the source system is on Hybrid Mode, then the DM migration to Scene7 modes is required.
  • If the approach is to migrate from source clone instances, then it is safe to disable DM integration on clone that would be used for CTT. This step is purely to avoid any writes to DM or avoid load on DM traffic.
  • Please note that CTT migrates nodes, metadata of a migration set from source AEM to AEMaaCS. It will not perform any operations on DM directly.

Q: What are different migration approaches when DM integration present on Source AEM?

Please read the above question and answer before

(These are two possible options but are not limited to only these two). It depends on how customer wants to approach the UAT, Performance testing, the available environment and whether a clone is being used for migration or not. Please consider these two as starting point for discussion

Option 1

If the number of assets / nodes in the source environment are on lower end (~100K), assuming these can be migrated over a period of 24 + 72 hours including extraction and ingestion, the better approach is

  • Perform migration from production directly

  • Run an initial extraction and ingestion into AEMaaCS with wipe=true

    • This step migrates all nodes and binaries
  • Continue working on on-premise / AMS Prod author

  • From now on, run all other proof of migration cycles with wipe=true

    • Note this operation migrates full node store, but only modified blobs as opposed to entire blobs. The previous set of blobs are there in the Azure blob store of target AEMaaCS instance.
    • Use this proof of migrations for measuring the migration duration, testing, validation of all other functionalities
  • Finally, before the week of go-live, perform a wipe=true migration

    • Connect the Dynamic Media on AEMaaCS
    • Disconnect DM config from AEM on-premises source

With this option you can run migration one to one, meaning On-prem Dev → AEMaaCS Dev, and so forth. and move the DM configurations from respective environments

(In case the migration is being planned to be performed from Clone)

Option 2

  • Create clone of Production author, remove DM configuration from Clone

  • Migrate on-premise clone → AEMaaCS Dev / Stage

    • Connect production DM company briefly to AEMaaCS Dev/Stage for validation purposes
    • During the DM connection is active, avoid asset ingestion into AEMaaCS
    • This enables them to validate CTT, DM specific validations
  • Once the testing is complete on AEMaaCS

    • Run a wipe migration from on-premise Stage to AEMaaCS Stage

Run a wipe migration from on-premise Dev to AEMaaCS Dev.

The above approach can be used for just measuring the migration duration but requires cleaning it up later.

Additional resources