370 likes | 479 Vues
Learn from Mike Ryan and Moshe Weitzman on seamless data migration project management. Analysis, design, and launch strategies shared for a successful transfer. Master the key steps and elements for a stress-free transition.
E N D
Business and Strategy Migration: Smoothing the Move Presented by Mike Ryan and Moshe Weitzman
Mike Ryan • Drupal developer since 2003 • Original author of Pathauto module • Primary author of Migrate module • Certified to Rock score of 8 • Senior Technical Consultant at Acquia
Moshe Weitzman • Drupal developer since 2001 (d.o uid 23) • 2nd most prolific contributor in Drupal history • Certified to Rock score of 11 • Creator and/or maintainer of Drush, Devel, Organic Groups, and several other projects • Director, Research and Development at Acquia
What is migration? • “Migration” might mean the regular seasonal journey undertaken by many species of birds.
What is migration? • “Migration” might mean the regular seasonal journey undertaken by many species of birds. • “Migration” might mean moving your Drupal site as a whole between servers or hosting platforms.
What is migration? • “Migration” might mean the regular seasonal journey undertaken by many species of birds. • “Migration” might mean moving your web site as a whole between servers or hosting platforms. • “Migration” might mean the transfer of data and content from one platform to another.
What are we talking about? • The big picture of a data migration project • The importance of communication • The unknowns, and how to deal with them
What aren’t we talking about? • The Migrate module (technically speaking)
Project model • Typical migration project – 3 participants: • Client with content to migrate from some other CMS to Drupal • Site-building team – develops new site functionality, designs and themes the site • Migration team – develops the processes to move the content from old site to new site
The process • Analyze – understand the legacy data • Map – line up the pegs with the holes • Iterate – implement, test, and refine, repeatedly • Launch!
Analysis • Design is top-down, working from the front-end
Analysis • Design is top-down, working from the front-end • The migrators need to work bottom-up, from the raw data
Analysis • Design is top-down, working from the front-end • The migrators need to work bottom-up, from the raw data • There is always stuff not directly visible on the site that is important
Be thorough • Get access to the full source data up front
Be thorough • Get access to the full source data up front • Examine it closely, table-by-table and row-by-row
Be thorough • Get access to the full source data up front • Examine it closely, table-by-table and row-by-row • Act like a 3-year-old – Why?
Be thorough • Get access to the full source data up front • Examine it closely, table-by-table and row-by-row • Act like a 3-year-old – Why? Why?
Be thorough • Get access to the full source data up front • Examine it closely, table-by-table and row-by-row • Act like a 3-year-old – Why? Why? But why?
Preliminary mappings • Obvious: Source data subject => Drupal title • Educated guess – 98% of the status values are “2” – that probably means “published” • Ambiguities – make best guess. • WTH? Annotate with questions.
Mappings, bloody mappings • Migrator • Technical resource • Stakeholders • Site-builders
Iteration • Implement the understood mappings • Staging server – let the team see the results • Refine and repeat
Launch • A day or two before launch, run a full import into the to-be-production site. Sic QA on it.
Launch • A day or two before launch, run a full import into the to-be-production site. Sic QA on it. • At the designated time, set the old site read-only.
Launch • A day or two before launch, run a full import into the to-be-production site. Sic QA on it. • At the designated time, set the old site read-only. • Run the final delta migration.
Launch • A day or two before launch, run a full import into the to-be-production site. Sic QA on it. • At the designated time, set the old site read-only. • Run the final delta migration. • Final QA review.
Launch • A day or two before launch, run a full import into the to-be-production site. Sic QA on it. • At the designated time, set the old site read-only. • Run the final delta migration. • Final QA review. • Switchover
Elements of Success • Start the migration development, with the analysis stage, as early as possible. • Get the mapping meetings done as soon as possible after that. • Communicate! All parties – stakeholders, site-builders, migrators – must be responsive to each other.
A typical question • We’ve got 1,000,000 articles and 100,000 users – how long will it take us to migrate? • But, if you think about it…
Estimation • Which is harder to migrate? • 1,000,000 articles with 3 fields each, or • 1000 blog posts with 5 fields, 500 articles with 10 fields, 3000 forum topics with 7 fields, and 800 recipes with 15 fields (including complex fields like “ingredients” and “directions”)
A formula • Basic: Number “migrations”, plus 5 X total number of fields, times a magic factor • Refined: Taxonomy migrations count less, file migrations count more. Complex fields count more.
For the techies • BOF: Migrate in Drupal 8 – 1pm Thursday in room 210
What did you think? Locate this session on theDrupalCon Denver website http://denver2012.drupal.org/program Click the “Take the Survey” link. Thank You!