SlideShare a Scribd company logo
AEM Migration – to a higher version
A comprehensive process for planning & performing the migration
Ashokkumar T A | 31-Aug-2019
Define
2
Establish the objectives
Be clear on why you are doing what you are doing…
• As-is vs. clean up vs. rewrite
• List down all the objectives
• Classify them into primary (must achieve) vs. secondary (nice to achieve)
• Assign priority to each objective in primary and secondary (greatly aids in decision making during
execution)
3
Plan
4
Finalize the target version
Obviously to the latest version available right?
• No… not always…
• How stable is the latest version?
• When is the next version due? Can we wait, especially when we need some of the features coming in the
next version
• Or to be safe, should we always migrate into version (latest – 1)?
5
Give due consideration to decide on the target version you wish to migrate
your AEM into…
Assess your current state
Document your current state if you don’t have one already
• Topology of current deployment
• Infrastructure details
• OS and software version on the environment
• Content repository size and sanity assessment of the content
• OOB & custom components and services used by the application
• Configurations and customizations done if any
• User and usage volumes
• Constraints and limitations in the current application
• ….
6
Define target topology
Your objectives might require a different deployment topology than your current one
• Include all components when defining target topology – including integration, interface mechanisms with
any third party systems, …
• Validate the infrastructure for the target topology
• Validate compatibility of OS and software's for target AEM version
• Arrive at the hardware, OS and software upgrade/update requirements as needed
7
Agree downtime requirements
Approach to migration depends on downtime duration availablity
• Downtime of the systems for users vs. authoring downtime (Freeze on authoring)
• Application could be generating UGC content
• How much of content gets cached?
• Can the application be served by content in dispatcher cache while the migration of AEM repository is
happening?
8
Finalize the approach
Now define the approach for migration
• In-place upgrade vs. fresh install
• Fresh install is more involved but would be required if the objective is to cleanup content or to change the
deployment topology
• In-place upgrade becomes more suitable if content is retained as-is with revision history and audit logs
intact
• Decide on fresh authoring vs. automated content migration in case of fresh install.
• Could be some content are to be auto migrated while others are freshly authored
9
Prepare
10
Prepare for migration
Build the pieces needed to perform the migration
• Get ready the infrastructure with OS and software's as needed for the target state
• Update & validate the code build for the target environment
• Create all the scripts and commands needed for migration and validate them
• Detail out the steps to migrate each of the components (Author, Publish, dispatcher)
• Create a process document with a checklist – which aids the execution of migration. Let this cover all the
steps – all pre-migration activities, migration steps and all post migration activities
• Cover the testing to be done post migration and establish criteria to measure the success of migration
• Include rollback, fallback procedures and create scripts & commands needed for invoking rollback
11
Test & Validate
Perform a test migration
• Preferred to clone the production instance and perform test migration on it
• Follow the process as documented in the previous step. Update the document to reflect reality
• Do not assume any step as trivial. Execute each step and validate it
• Perform post migration testing and validate the success criteria
– Has all objectives set for the migration achieved?
– Application functions and performs in the target environment as expected
– Is the migration performed within the downtime limit agreed
• Perform rollback and validate the rollback procedure
12
Tweak and retest – if needed
Accommodate changes and tweaks needed and redo test migration
• Do not hesitate to go back to preparation step if needed to tweak the migration process
• Update the migration process document and checklist to reflect the tweaked process
• Redo the migration from the beginning
• Essential to have a full end-to-end cycle done on test for the same to be repeated in production
• Make sure you have a proven process, that’s documented which can be followed in prod for successful
migration
13
Redefine development, Operations and DevOps processes
Test migration is successful… You are sure of rolling it out in production
• Time to align development, operations and devops processes for the new version
• All lower environment can be migrated to new version
• Maintenance procedures shall be updated for the new version
• Assess the release cycles and plan for new releases in the newer version
14
Train your stakeholders
Time to get all stakeholders excited about the new version
• This is an essential part of migration that often gets overlooked
• Include business team, developers, technical support, administrators and operations staff
• Its not always a classroom training… self exploration, going through the documentation or video based…
any such mechanism can be used for training
• Remember… this is an important step to bring everyone onboard
• Also this helps individual teams to prepare their work and innovate based on new version
15
Finalize cutover date
On what date should be migration be complete and cutover done?
• We know the migration should be complete by year end. But performing the migration on Dec 31st is not a
good idea
• You might have to choose a non-peak day and off-peak hours to perform your migration
• Consult key stakeholders and agree on the migration period and cutover date
• Agree on authoring freeze period if needed and cutoff access to authors during authoring freeze
• Communicate the timelines and implication in advance to all stakeholders
16
Socialize the fallback options
Things going wrong is not always your mistake, but not planning for it is definitely yours
• Unexpected things do happen at unexpected time
• Not sufficient to keep your fallback options ready, its equally important to socialize it with all stakeholders
• Keep the key decision makers well informed of implication of each of your fallback option so that they can
take quick decisions if and when needed
17
Perform
18
Migrate
And… here you go…
• Follow the document tested and validated
• Avoid temptation to do any experiment or take any deviation
• Stick to the tested process
• If something goes wrong, access it quickly and kick off the appropriate fallback process
• Hopefully everything goes fine… well you are not fully there yet!!!
• Time to kick start the testing process
19
Test and certify the migration
Perform all the testing and certify the success of the migration
• Conduct the functional and performance test of the application
• If you have crunched time window, you could perform a quick sanity test and declare the migration
complete while continuing to perform elaborate testing
• Validate the application to tick off for each of the objective achieved
• Certify the success of migration after all the testing is complete
20
Adopt
21
The new normal
Embrace the new normal
• Adopt to the changes in development, operations and devops processes
• And remember… sometime not very far from now, another migration is due…
22
More details at
https://aem-musings.blogspot.com/2019/06/steps-to-plan-and-perform-aem-upgrade.html
Thank You
23
Feedback and suggestions welcome. Please write to
ashokkumar_ta / ashokkumar.ta@gmail.com

More Related Content

DOCX
HelpDesk Training Manual
PDF
Deploying and releasing applications
PDF
Agile Methodology - Software Engineering
PDF
Agile Model & Methodology
PPTX
CISSP - Software Development Security
PPTX
When agility meets software quality
PDF
Ncerc rlmca202 adm m3 ssm
HelpDesk Training Manual
Deploying and releasing applications
Agile Methodology - Software Engineering
Agile Model & Methodology
CISSP - Software Development Security
When agility meets software quality
Ncerc rlmca202 adm m3 ssm

Similar to Upgrading or migrating to a higher AEM version - Planning and process (20)

DOC
Arokia Raj RM Resume
PPT
what-is-devops.ppt
PPTX
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
PPTX
Puppet + Diaxon: Getting to the next stage of DevOps evolution
PPTX
DevOps Engineering.pptx
PPTX
Improve the Development Process with DevOps Practices by Fedorov Vadim
PPT
SDLC Final (1)
PDF
Constant Contact SF's Road to CD
PPTX
Extreme Makeover OnBase Edition
PPTX
Proposal dms for dwf v2
PPTX
Agile software development
PPT
Chapter6
PPTX
Prepare the sled in summer and project release at its beginning
PPTX
DevOps model in software engineering.pptx
PPTX
Software engineering 4 critical analysis of waterfall model
PPTX
Waterfall Model.pptx
PDF
Continuous Deployment
PPTX
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
PDF
Preparing for DevOps
PPTX
Agile Implementations
Arokia Raj RM Resume
what-is-devops.ppt
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Puppet + Diaxon: Getting to the next stage of DevOps evolution
DevOps Engineering.pptx
Improve the Development Process with DevOps Practices by Fedorov Vadim
SDLC Final (1)
Constant Contact SF's Road to CD
Extreme Makeover OnBase Edition
Proposal dms for dwf v2
Agile software development
Chapter6
Prepare the sled in summer and project release at its beginning
DevOps model in software engineering.pptx
Software engineering 4 critical analysis of waterfall model
Waterfall Model.pptx
Continuous Deployment
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Preparing for DevOps
Agile Implementations
Ad

More from Ashokkumar T A (18)

PDF
A quick introduction to Strapi CMS
PDF
A quick introduction to GraphQL
PDF
Cloud trends - 2020
PDF
AEM - Binary less replication
PDF
Microservices trends - 2020
PDF
Aligning to AEMs Release Cycle
PDF
Designing for search in AEM
PDF
AEM - A Collection of developer friendly tools
PDF
On MQ Series & JMS
PDF
Aem offline content
PDF
Reactive applications
PDF
Redis overview
PDF
Apache shiro security framework
PDF
Web analytics an intro
PDF
The six key steps to AEM architecture
PDF
Cms product evaluation
PDF
Aem maintenance
PDF
Aem dispatcher – tips & tricks
A quick introduction to Strapi CMS
A quick introduction to GraphQL
Cloud trends - 2020
AEM - Binary less replication
Microservices trends - 2020
Aligning to AEMs Release Cycle
Designing for search in AEM
AEM - A Collection of developer friendly tools
On MQ Series & JMS
Aem offline content
Reactive applications
Redis overview
Apache shiro security framework
Web analytics an intro
The six key steps to AEM architecture
Cms product evaluation
Aem maintenance
Aem dispatcher – tips & tricks
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation theory and applications.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Review of recent advances in non-invasive hemoglobin estimation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Network Security Unit 5.pdf for BCA BBA.
Encapsulation theory and applications.pdf
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf

Upgrading or migrating to a higher AEM version - Planning and process

  • 1. AEM Migration – to a higher version A comprehensive process for planning & performing the migration Ashokkumar T A | 31-Aug-2019
  • 3. Establish the objectives Be clear on why you are doing what you are doing… • As-is vs. clean up vs. rewrite • List down all the objectives • Classify them into primary (must achieve) vs. secondary (nice to achieve) • Assign priority to each objective in primary and secondary (greatly aids in decision making during execution) 3
  • 5. Finalize the target version Obviously to the latest version available right? • No… not always… • How stable is the latest version? • When is the next version due? Can we wait, especially when we need some of the features coming in the next version • Or to be safe, should we always migrate into version (latest – 1)? 5 Give due consideration to decide on the target version you wish to migrate your AEM into…
  • 6. Assess your current state Document your current state if you don’t have one already • Topology of current deployment • Infrastructure details • OS and software version on the environment • Content repository size and sanity assessment of the content • OOB & custom components and services used by the application • Configurations and customizations done if any • User and usage volumes • Constraints and limitations in the current application • …. 6
  • 7. Define target topology Your objectives might require a different deployment topology than your current one • Include all components when defining target topology – including integration, interface mechanisms with any third party systems, … • Validate the infrastructure for the target topology • Validate compatibility of OS and software's for target AEM version • Arrive at the hardware, OS and software upgrade/update requirements as needed 7
  • 8. Agree downtime requirements Approach to migration depends on downtime duration availablity • Downtime of the systems for users vs. authoring downtime (Freeze on authoring) • Application could be generating UGC content • How much of content gets cached? • Can the application be served by content in dispatcher cache while the migration of AEM repository is happening? 8
  • 9. Finalize the approach Now define the approach for migration • In-place upgrade vs. fresh install • Fresh install is more involved but would be required if the objective is to cleanup content or to change the deployment topology • In-place upgrade becomes more suitable if content is retained as-is with revision history and audit logs intact • Decide on fresh authoring vs. automated content migration in case of fresh install. • Could be some content are to be auto migrated while others are freshly authored 9
  • 11. Prepare for migration Build the pieces needed to perform the migration • Get ready the infrastructure with OS and software's as needed for the target state • Update & validate the code build for the target environment • Create all the scripts and commands needed for migration and validate them • Detail out the steps to migrate each of the components (Author, Publish, dispatcher) • Create a process document with a checklist – which aids the execution of migration. Let this cover all the steps – all pre-migration activities, migration steps and all post migration activities • Cover the testing to be done post migration and establish criteria to measure the success of migration • Include rollback, fallback procedures and create scripts & commands needed for invoking rollback 11
  • 12. Test & Validate Perform a test migration • Preferred to clone the production instance and perform test migration on it • Follow the process as documented in the previous step. Update the document to reflect reality • Do not assume any step as trivial. Execute each step and validate it • Perform post migration testing and validate the success criteria – Has all objectives set for the migration achieved? – Application functions and performs in the target environment as expected – Is the migration performed within the downtime limit agreed • Perform rollback and validate the rollback procedure 12
  • 13. Tweak and retest – if needed Accommodate changes and tweaks needed and redo test migration • Do not hesitate to go back to preparation step if needed to tweak the migration process • Update the migration process document and checklist to reflect the tweaked process • Redo the migration from the beginning • Essential to have a full end-to-end cycle done on test for the same to be repeated in production • Make sure you have a proven process, that’s documented which can be followed in prod for successful migration 13
  • 14. Redefine development, Operations and DevOps processes Test migration is successful… You are sure of rolling it out in production • Time to align development, operations and devops processes for the new version • All lower environment can be migrated to new version • Maintenance procedures shall be updated for the new version • Assess the release cycles and plan for new releases in the newer version 14
  • 15. Train your stakeholders Time to get all stakeholders excited about the new version • This is an essential part of migration that often gets overlooked • Include business team, developers, technical support, administrators and operations staff • Its not always a classroom training… self exploration, going through the documentation or video based… any such mechanism can be used for training • Remember… this is an important step to bring everyone onboard • Also this helps individual teams to prepare their work and innovate based on new version 15
  • 16. Finalize cutover date On what date should be migration be complete and cutover done? • We know the migration should be complete by year end. But performing the migration on Dec 31st is not a good idea • You might have to choose a non-peak day and off-peak hours to perform your migration • Consult key stakeholders and agree on the migration period and cutover date • Agree on authoring freeze period if needed and cutoff access to authors during authoring freeze • Communicate the timelines and implication in advance to all stakeholders 16
  • 17. Socialize the fallback options Things going wrong is not always your mistake, but not planning for it is definitely yours • Unexpected things do happen at unexpected time • Not sufficient to keep your fallback options ready, its equally important to socialize it with all stakeholders • Keep the key decision makers well informed of implication of each of your fallback option so that they can take quick decisions if and when needed 17
  • 19. Migrate And… here you go… • Follow the document tested and validated • Avoid temptation to do any experiment or take any deviation • Stick to the tested process • If something goes wrong, access it quickly and kick off the appropriate fallback process • Hopefully everything goes fine… well you are not fully there yet!!! • Time to kick start the testing process 19
  • 20. Test and certify the migration Perform all the testing and certify the success of the migration • Conduct the functional and performance test of the application • If you have crunched time window, you could perform a quick sanity test and declare the migration complete while continuing to perform elaborate testing • Validate the application to tick off for each of the objective achieved • Certify the success of migration after all the testing is complete 20
  • 22. The new normal Embrace the new normal • Adopt to the changes in development, operations and devops processes • And remember… sometime not very far from now, another migration is due… 22 More details at https://aem-musings.blogspot.com/2019/06/steps-to-plan-and-perform-aem-upgrade.html
  • 23. Thank You 23 Feedback and suggestions welcome. Please write to ashokkumar_ta / ashokkumar.ta@gmail.com