SlideShare a Scribd company logo
How to Eat an Elephant:
Managing Incremental Migrations
Presentation Slides: http://tiny.cc/govcon-elephant
What is this session about?
ABOUT WHY HOW LESSONS QUESTIONS
This session is about…
• Unique aspects of incremental migrations
• Lessons learned from experience
• Focus on project management aspects
• Case study examples from Justice.gov
Justice.gov Case Study: the Challenge
Migration
Sources
• 80% Hand
curated
HTML
• Custom CMS
• RedDot CMS
• Wordpress
• PHP + DB
Migration
Assets
• 250k pages
• 200k PDFs
• Images
• Videos
Migration
Stakeholders
• Content
owned by
120 offices
across DOJ
• Project
managed by
the OCIO
Justice.gov Case Study: the Results
Justice.gov
on Drupal!
200,000
nodes
120,000 file
entities
5,476 git
commits
750 content
managers
188 code
releases
163
migration
classes
189 organic
groups
18 months
Why would I consider
incremental migration?
ABOUT WHY HOW LESSONS QUESTIONS
Typical site migration project
Discover
Design
Develop
Migrate Training Cleanup Launch
Reference: http://www.acquia.com/blog/taking-migrations-madness-gladness
Typical site migration project doesn’t always work
• Feature re-engineering process potentially leads to
endless discovery phase
• Imbalance of training needs and resources
• Expectation of significant migration cleanup
• Benefits of agile approach: quick wins, stakeholder
engagement, risk mitigation
Discover
Design
Develop
Migrate Training Cleanup Launch
Good candidates for incremental migration
• Not planning a major visual redesign
• Decentralized management of a large site
• Many website content managers and few
project team resources
• Website can be divided into logical sections
How do I migrate incrementally?
ABOUT WHY HOW LESSONS QUESTIONS
Determine the migration sequence
Schedule  Sequence  Dependencies
Big picture: discovery meetings, follow-up meetings
Quick wins: visible change to energize stakeholders
Related content: data flows, common migration sources
Organizational needs: deadlines, high traffic periods
Establish a repeatable process for onboarding
• ROT analysis (redundant, outdated, trivial)
• Stakeholder communications
• Flexibility
Establish a reverse proxy layer or CDN
www.example.com/section1  legacy website IP address
www.example.com/section2  new Drupal website IP address
Create a reverse proxy layer with Apache or Varnish configs
Content delivery network (CDN) enables this IP routing, plus
performance and security benefits. Additional cost.
Reference: https://www.acquia.com/blog/dont-wait-migrate-drupal-continuous-migration
Add new content without modifying existing content
Deploy to Production Migrate to Production
How it
works
Migrate to staging environment.
Content cleanup in staging.
Deploy from staging to prod.
Go-live by changing proxy rules.
Migrate to prod environment.
Content cleanup in prod.
Go-live by changing proxy rules.
Pros Content cleanup “safer” in stage. Less complexity.
Cons Must patch Deploy to integrate
with some contributed modules.
Justice.gov
Experience
Tried it and gave up. Did it 150 times.
What should I watch out for?
ABOUT WHY HOW LESSONS QUESTIONS
Content review and cleanup can cause delays
1. Set accurate expectations for content cleanup
2. Define migration acceptance criteria in advance
3. Define the process for prioritizing bugs
4. Prepare project champions to unblock you when
the time comes
Reference: http://www.acquia.com/blog/10-tips-streamline-migration-review
Many artifacts can be slight variations of a template
• Kickoff meeting handouts
• Training materials and curriculum
• Tickets in the PM tracking software
• Base migration classes + extension classes for
each site section and content type
Effects of the experience curve are real
Reasons for the effect: labor efficiency, standardization,
specialization, methods improvements, optimizing the
resource mix, network effects, shared experience effects
Sync pace of development, content, and stakeholder work
Incremental migration allows for client enablement
Questions?
joshua.smith@acquia.com, gail.d.solomon@usdoj.gov
Presentation Slides: http://tiny.cc/govcon-elephant
ABOUT WHY HOW LESSONS QUESTIONS

More Related Content

What's hot

20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
Craeg Strong
 
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
Craeg Strong
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
Vadym Kazulkin
 
Sap HCI online training
Sap HCI online trainingSap HCI online training
Sap HCI online training
enrollmy training
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
Sunil Dalal
 
How to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleHow to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 people
RobBos10
 
Behavior-Driven Development with JGiven
Behavior-Driven Development with JGivenBehavior-Driven Development with JGiven
Behavior-Driven Development with JGiven
Haufe-Lexware GmbH & Co KG
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
Christian Posta
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
Yan Cui
 
Step-by-Step Parse Migration
Step-by-Step Parse MigrationStep-by-Step Parse Migration
Step-by-Step Parse Migration
MongoDB
 
Use Cases of #Grails in #WebApplications
Use Cases of #Grails in #WebApplicationsUse Cases of #Grails in #WebApplications
Use Cases of #Grails in #WebApplications
Xebia IT Architects
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Atlassian
 
Deploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
Eddie Lau
 
Automated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud FunctionsAutomated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud Functions
WeLoveSEO
 
Accelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to LaunchAccelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to Launch
Atlassian
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
Amazon Web Services
 
Intro to React
Intro to ReactIntro to React
Intro to React
Jamal Sinclair O'Garro
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
Amazon Web Services
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the Enterprise
Saul Caganoff
 

What's hot (20)

20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
20200429 PMI NYC Meetup Agile Governance Ariel Partners for Distribution
 
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
20211007 PMI LIC Chapter Agile Tool Celebrity Death Match Kanbanize vs Jira C...
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
 
Sap HCI online training
Sap HCI online trainingSap HCI online training
Sap HCI online training
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
How to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 peopleHow to run a global, cloud scale event for 10.000 people
How to run a global, cloud scale event for 10.000 people
 
Behavior-Driven Development with JGiven
Behavior-Driven Development with JGivenBehavior-Driven Development with JGiven
Behavior-Driven Development with JGiven
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
 
Lessons from running AppSync in prod
Lessons from running AppSync in prodLessons from running AppSync in prod
Lessons from running AppSync in prod
 
Step-by-Step Parse Migration
Step-by-Step Parse MigrationStep-by-Step Parse Migration
Step-by-Step Parse Migration
 
Use Cases of #Grails in #WebApplications
Use Cases of #Grails in #WebApplicationsUse Cases of #Grails in #WebApplications
Use Cases of #Grails in #WebApplications
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
 
Deploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
 
Automated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud FunctionsAutomated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud Functions
 
Accelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to LaunchAccelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to Launch
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the Enterprise
 

Similar to Drupal GovCon 2015 - Managing Incremental Migrations

Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
John Giaconia
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
Dan Taylor
 
Content Migrations: Getting from A to B
Content Migrations: Getting from A to BContent Migrations: Getting from A to B
Content Migrations: Getting from A to B
Blend Interactive
 
Accelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual DataAccelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual Data
Kyle Hailey
 
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Sascha Wenninger
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
Patrick Meenan
 
HadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop OverviewHadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop Overview
Yafang Chang
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Perficient, Inc.
 
They why behind php frameworks
They why behind php frameworksThey why behind php frameworks
They why behind php frameworks
Kirk Madera
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
Promet Source
 
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld
 
MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?
DrupalCamp Kyiv
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
John McCaffrey
 
e-IT exec lunch - "It's all about data" - 25 May '16
e-IT exec lunch - "It's all about data" - 25 May '16e-IT exec lunch - "It's all about data" - 25 May '16
e-IT exec lunch - "It's all about data" - 25 May '16
Devin Deen
 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the Time
Amazon Web Services
 

Similar to Drupal GovCon 2015 - Managing Incremental Migrations (20)

Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
Content Migrations: Getting from A to B
Content Migrations: Getting from A to BContent Migrations: Getting from A to B
Content Migrations: Getting from A to B
 
Accelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual DataAccelerate Develoment with VIrtual Data
Accelerate Develoment with VIrtual Data
 
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
HadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop OverviewHadoopCon- Trend Micro SPN Hadoop Overview
HadoopCon- Trend Micro SPN Hadoop Overview
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
They why behind php frameworks
They why behind php frameworksThey why behind php frameworks
They why behind php frameworks
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
 
MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
e-IT exec lunch - "It's all about data" - 25 May '16
e-IT exec lunch - "It's all about data" - 25 May '16e-IT exec lunch - "It's all about data" - 25 May '16
e-IT exec lunch - "It's all about data" - 25 May '16
 
CI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the TimeCI/CD on AWS Deploy Everything All the Time
CI/CD on AWS Deploy Everything All the Time
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Drupal GovCon 2015 - Managing Incremental Migrations

  • 1. How to Eat an Elephant: Managing Incremental Migrations Presentation Slides: http://tiny.cc/govcon-elephant
  • 2. What is this session about? ABOUT WHY HOW LESSONS QUESTIONS
  • 3. This session is about… • Unique aspects of incremental migrations • Lessons learned from experience • Focus on project management aspects • Case study examples from Justice.gov
  • 4. Justice.gov Case Study: the Challenge Migration Sources • 80% Hand curated HTML • Custom CMS • RedDot CMS • Wordpress • PHP + DB Migration Assets • 250k pages • 200k PDFs • Images • Videos Migration Stakeholders • Content owned by 120 offices across DOJ • Project managed by the OCIO
  • 5. Justice.gov Case Study: the Results Justice.gov on Drupal! 200,000 nodes 120,000 file entities 5,476 git commits 750 content managers 188 code releases 163 migration classes 189 organic groups 18 months
  • 6. Why would I consider incremental migration? ABOUT WHY HOW LESSONS QUESTIONS
  • 7. Typical site migration project Discover Design Develop Migrate Training Cleanup Launch Reference: http://www.acquia.com/blog/taking-migrations-madness-gladness
  • 8. Typical site migration project doesn’t always work • Feature re-engineering process potentially leads to endless discovery phase • Imbalance of training needs and resources • Expectation of significant migration cleanup • Benefits of agile approach: quick wins, stakeholder engagement, risk mitigation Discover Design Develop Migrate Training Cleanup Launch
  • 9. Good candidates for incremental migration • Not planning a major visual redesign • Decentralized management of a large site • Many website content managers and few project team resources • Website can be divided into logical sections
  • 10. How do I migrate incrementally? ABOUT WHY HOW LESSONS QUESTIONS
  • 11. Determine the migration sequence Schedule  Sequence  Dependencies Big picture: discovery meetings, follow-up meetings Quick wins: visible change to energize stakeholders Related content: data flows, common migration sources Organizational needs: deadlines, high traffic periods
  • 12. Establish a repeatable process for onboarding • ROT analysis (redundant, outdated, trivial) • Stakeholder communications • Flexibility
  • 13. Establish a reverse proxy layer or CDN www.example.com/section1  legacy website IP address www.example.com/section2  new Drupal website IP address Create a reverse proxy layer with Apache or Varnish configs Content delivery network (CDN) enables this IP routing, plus performance and security benefits. Additional cost. Reference: https://www.acquia.com/blog/dont-wait-migrate-drupal-continuous-migration
  • 14. Add new content without modifying existing content Deploy to Production Migrate to Production How it works Migrate to staging environment. Content cleanup in staging. Deploy from staging to prod. Go-live by changing proxy rules. Migrate to prod environment. Content cleanup in prod. Go-live by changing proxy rules. Pros Content cleanup “safer” in stage. Less complexity. Cons Must patch Deploy to integrate with some contributed modules. Justice.gov Experience Tried it and gave up. Did it 150 times.
  • 15. What should I watch out for? ABOUT WHY HOW LESSONS QUESTIONS
  • 16. Content review and cleanup can cause delays 1. Set accurate expectations for content cleanup 2. Define migration acceptance criteria in advance 3. Define the process for prioritizing bugs 4. Prepare project champions to unblock you when the time comes Reference: http://www.acquia.com/blog/10-tips-streamline-migration-review
  • 17. Many artifacts can be slight variations of a template • Kickoff meeting handouts • Training materials and curriculum • Tickets in the PM tracking software • Base migration classes + extension classes for each site section and content type
  • 18. Effects of the experience curve are real Reasons for the effect: labor efficiency, standardization, specialization, methods improvements, optimizing the resource mix, network effects, shared experience effects
  • 19. Sync pace of development, content, and stakeholder work
  • 20. Incremental migration allows for client enablement
  • 21. Questions? joshua.smith@acquia.com, gail.d.solomon@usdoj.gov Presentation Slides: http://tiny.cc/govcon-elephant ABOUT WHY HOW LESSONS QUESTIONS

Editor's Notes

  1. Gail Introductions Slides are available at this link
  2. Gail About, Why, How, Lessons, Questions
  3. Gail Incremental migration, phased migration, continuous migration
  4. Gail Large amount of content to migrate Large number of people to coordinate with Decentralized management and lack of formal authority
  5. Gail It is done, but it was a lot of work. Only could have been done incrementally.
  6. Josh
  7. Josh
  8. Josh
  9. Josh
  10. Gail
  11. Gail Must understand enough detail to get the sequence right Several types of dependencies that will affect sequence
  12. Gail Structure a repeatable process for additional migrations Create template instructions and slightly customize for each migration Update an intranet project site as new information becomes available Ongoing tasks are ROT analysis and stakeholder communications like advisory group, email newsletter, etc. Easier to be flexible when starting with a structure
  13. Josh Get the right people involved in this early (infrastructure, network ops, security)
  14. Josh
  15. Gail
  16. Gail 1- Discuss tips for working with different personalities 5- Story about OARM wanting to take the new site down immediately because it wasn’t perfect. Vijay pushed back and mobilized the team to quickly solve the issues.
  17. Gail / Josh With templates it’s less work than it seems.
  18. Josh Specialization: team members naturally fell into roles (search, UAT, kickoff, etc) Methods improvement: Developers got bored of writing similar migration classes over and over. Built a script to write the classes for them. First release included 2 migrations. Eleventh release included 21 migrations.
  19. Josh Much of the schedule in a project like this is spent with stakeholders: clarifying requirements, training, content cleanup Increasing the pace of development won’t make the project go faster Focus on optimizing project staffing to synchronize the pace of dev and content work
  20. Josh Vendor / Client handoff is hard. One bad approach. Another bad approach. Incremental allows a good approach. Incremental migration allowed the project to stay steady through many staffing transitions. CIO transition, 2 ADs retired, Only 1 remaining from initial migration team.