SlideShare a Scribd company logo
1 of 23
Download to read offline
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

What's hot

Certification Journey in AWS Cloud
Certification Journey in AWS CloudCertification Journey in AWS Cloud
Certification Journey in AWS CloudHussain Mansoor
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the boxKangaroot
 
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...Amazon Web Services
 
API Lifecycle, Part 2: Monitor and Deploy an API
API Lifecycle, Part 2: Monitor and Deploy an APIAPI Lifecycle, Part 2: Monitor and Deploy an API
API Lifecycle, Part 2: Monitor and Deploy an APIPostman
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesApcera
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introductionShirish Bari
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management WSO2
 
RedHat Certification Track
RedHat Certification TrackRedHat Certification Track
RedHat Certification Trackssuser113f26
 
Red Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformationRed Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformationEric D. Schabell
 
UiPath Automation Cloud - Best Practises session1.pptx
UiPath Automation Cloud - Best Practises session1.pptxUiPath Automation Cloud - Best Practises session1.pptx
UiPath Automation Cloud - Best Practises session1.pptxRohit Radhakrishnan
 
Launching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateLaunching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateOutSystems
 
Building Microservices with gRPC and NATS
Building Microservices with gRPC and NATSBuilding Microservices with gRPC and NATS
Building Microservices with gRPC and NATSShiju Varghese
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystemconfluent
 
Federation of OpenStack clouds
Federation of OpenStack cloudsFederation of OpenStack clouds
Federation of OpenStack cloudsCoreStack
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysAngel Alberici
 

What's hot (20)

RabbitMQ
RabbitMQ RabbitMQ
RabbitMQ
 
Certification Journey in AWS Cloud
Certification Journey in AWS CloudCertification Journey in AWS Cloud
Certification Journey in AWS Cloud
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
What is RabbitMQ ?
What is RabbitMQ ?What is RabbitMQ ?
What is RabbitMQ ?
 
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...
The Cloud Operating Model MVP: From Zero to Production Ready in 12 Weeks - Bu...
 
API Lifecycle, Part 2: Monitor and Deploy an API
API Lifecycle, Part 2: Monitor and Deploy an APIAPI Lifecycle, Part 2: Monitor and Deploy an API
API Lifecycle, Part 2: Monitor and Deploy an API
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices Architectures
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management
 
RedHat Certification Track
RedHat Certification TrackRedHat Certification Track
RedHat Certification Track
 
Red Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformationRed Hat OpenShift - a foundation for successful digital transformation
Red Hat OpenShift - a foundation for successful digital transformation
 
UiPath Automation Cloud - Best Practises session1.pptx
UiPath Automation Cloud - Best Practises session1.pptxUiPath Automation Cloud - Best Practises session1.pptx
UiPath Automation Cloud - Best Practises session1.pptx
 
Launching a BPT Process on Entity Update
Launching a BPT Process on Entity UpdateLaunching a BPT Process on Entity Update
Launching a BPT Process on Entity Update
 
Building Microservices with gRPC and NATS
Building Microservices with gRPC and NATSBuilding Microservices with gRPC and NATS
Building Microservices with gRPC and NATS
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
Federation of OpenStack clouds
Federation of OpenStack cloudsFederation of OpenStack clouds
Federation of OpenStack clouds
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
Rabbitmq basics
Rabbitmq basicsRabbitmq basics
Rabbitmq basics
 

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

Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applicationsMa Xuebin
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodologyyasirkhan_77
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development SecurityKarthikeyan Dhayalan
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssmssmarar
 
Arokia Raj RM Resume
Arokia Raj RM  ResumeArokia Raj RM  Resume
Arokia Raj RM Resumearokiagetz
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Eggplant
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptxAbalBoot
 
Improve the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimImprove the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimSoftServe
 
Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CDSolano Labs
 
Proposal dms for dwf v2
Proposal   dms for dwf v2Proposal   dms for dwf v2
Proposal dms for dwf v2Media-Mosaic
 
Agile software development
Agile software developmentAgile software development
Agile software developmentSiddharth Sharma
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningVadym Fedorov
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelVaibhav Khanna
 

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

Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Agile Model & Methodology
Agile Model & MethodologyAgile Model & Methodology
Agile Model & Methodology
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Arokia Raj RM Resume
Arokia Raj RM  ResumeArokia Raj RM  Resume
Arokia Raj RM Resume
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolution
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
 
Improve the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimImprove the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov Vadim
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CD
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
Proposal dms for dwf v2
Proposal   dms for dwf v2Proposal   dms for dwf v2
Proposal dms for dwf v2
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Chapter6
Chapter6Chapter6
Chapter6
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginning
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall model
 

More from Ashokkumar T A

A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMSAshokkumar T A
 
A quick introduction to GraphQL
A quick introduction to GraphQLA quick introduction to GraphQL
A quick introduction to GraphQLAshokkumar T A
 
AEM - Binary less replication
AEM - Binary less replicationAEM - Binary less replication
AEM - Binary less replicationAshokkumar T A
 
Microservices trends - 2020
Microservices   trends - 2020Microservices   trends - 2020
Microservices trends - 2020Ashokkumar T A
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release CycleAshokkumar T A
 
Designing for search in AEM
Designing for search in AEMDesigning for search in AEM
Designing for search in AEMAshokkumar T A
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAshokkumar T A
 
Apache shiro security framework
Apache shiro security frameworkApache shiro security framework
Apache shiro security frameworkAshokkumar T A
 
Web analytics an intro
Web analytics   an introWeb analytics   an intro
Web analytics an introAshokkumar T A
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architectureAshokkumar T A
 
Cms product evaluation
Cms product evaluationCms product evaluation
Cms product evaluationAshokkumar T A
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAshokkumar T A
 

More from Ashokkumar T A (18)

A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMS
 
A quick introduction to GraphQL
A quick introduction to GraphQLA quick introduction to GraphQL
A quick introduction to GraphQL
 
Cloud trends - 2020
Cloud   trends - 2020Cloud   trends - 2020
Cloud trends - 2020
 
AEM - Binary less replication
AEM - Binary less replicationAEM - Binary less replication
AEM - Binary less replication
 
Microservices trends - 2020
Microservices   trends - 2020Microservices   trends - 2020
Microservices trends - 2020
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release Cycle
 
Designing for search in AEM
Designing for search in AEMDesigning for search in AEM
Designing for search in AEM
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
 
On MQ Series & JMS
On MQ Series & JMSOn MQ Series & JMS
On MQ Series & JMS
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
 
Reactive applications
Reactive applicationsReactive applications
Reactive applications
 
Redis overview
Redis overviewRedis overview
Redis overview
 
Apache shiro security framework
Apache shiro security frameworkApache shiro security framework
Apache shiro security framework
 
Web analytics an intro
Web analytics   an introWeb analytics   an intro
Web analytics an intro
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architecture
 
Cms product evaluation
Cms product evaluationCms product evaluation
Cms product evaluation
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.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