merging and migrating: data portability from the trenches

112
Data Portability Tales from the Trenches DAN HARDIKER | CTO | ADAPTAVIST | @DHARDIKER BRITTANY WISPELL | CONSULTANT | ADAPTAVIST | @REDHOTJIRAPEPPS

Upload: atlassian

Post on 21-Jan-2018

2.298 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Merging and Migrating: Data Portability from the Trenches

Data PortabilityTales from the Trenches

DAN HARDIKER | CTO | ADAPTAVIST | @DHARDIKER

BRITTANY WISPELL | CONSULTANT | ADAPTAVIST | @REDHOTJIRAPEPPS

Page 2: Merging and Migrating: Data Portability from the Trenches

Standard horizontal view logo.

Purposes: Website, Blogs, External PRs, External websites, Event websites.

Smaller lettering.

Purpose: Business cards.

Logo centralised.

Purpose: Events, stall headers, handouts.

Logo centralised.

Purpose: Events, stall headers, handouts.

Page 3: Merging and Migrating: Data Portability from the Trenches
Page 4: Merging and Migrating: Data Portability from the Trenches
Page 5: Merging and Migrating: Data Portability from the Trenches

AgendaTools & Support

Scenarios

Atlassian

Q&A

Page 6: Merging and Migrating: Data Portability from the Trenches

I have a cunning plan

BALDRICK, BLACKADDER http://www.fansshare.com/celebrities/blackadder-goes-forth/

Page 7: Merging and Migrating: Data Portability from the Trenches

APPROACHES CHECKLISTS

✅ Task1

✅ Task2

✅ Task3

...

Page 8: Merging and Migrating: Data Portability from the Trenches

Business as Usual

Infrastructure Change

Atlassian Cloud

Data Shaping

Scenarios

Page 9: Merging and Migrating: Data Portability from the Trenches

Business as Usual

Scenarios

Page 10: Merging and Migrating: Data Portability from the Trenches

Copy & Clone Driven by Operational Needs

Backup & Restore Driven by Business Requirements

Scenarios

Business as Usual

Page 11: Merging and Migrating: Data Portability from the Trenches

Managing Data

Business as Usual

Page 12: Merging and Migrating: Data Portability from the Trenches

XML Backups

Business as Usual > Managing Data

Page 13: Merging and Migrating: Data Portability from the Trenches

Backup

Restoration

Gotchas

Contents A zipped archive containing most of the data from your Jira system.

Location Found in the Jira home directory, within the exports folder.

Default Enabled by default, running nightly.

XML Backups

Page 14: Merging and Migrating: Data Portability from the Trenches
Page 15: Merging and Migrating: Data Portability from the Trenches

XML Backups

Backup

Restoration

Gotchas

Jira Admin UI Restoration is started through the Jira user interface.

Resource Intensive Intensive of use of Java memory, network & disk I/O.

Index Rebuilt After the restoration, a full reindex will be triggered.

Page 16: Merging and Migrating: Data Portability from the Trenches

XML Backups

Backup

Restoration

Gotchas

Missing in Action • Attachments • Bespoke Plugin Data • Plugin Installation Files

Never quite the same • Database record IDs are regenerated. • Application keys are unchanged.

Not Production Safe If Jira is updated during an XML backup, the resulting backup can be inconsistent or even corrupt.

Page 17: Merging and Migrating: Data Portability from the Trenches

File System & Database Snapshots

Business as Usual > Managing Data

Page 18: Merging and Migrating: Data Portability from the Trenches

Backup

Restoration

Gotchas

Contents Two separate snapshots taking the file system and database state, at a synchronised point in time.

Knowledge & Tooling Infrastructure and DBA knowledge required. Process & tooling is technology specific.

No Maintenance Mode Execute during an outage, or when minimal activity is running through Jira.

File System & Database Snapshots

Page 19: Merging and Migrating: Data Portability from the Trenches

File System & Database Snapshots

Backup

Restoration

Gotchas

Technology Specific Restore the entire snapshots of the file system & database directly.

Outage Required Jira must be offline for the restoration.

No Index Rebuilding The system will now be identical to that backed up.

Page 20: Merging and Migrating: Data Portability from the Trenches

File System & Database Snapshots

Backup

Restoration

Gotchas

Identical in every way • Base URL • Application Links • Inbound Email

Work together Synchronising the snapshots can get tough.

Page 21: Merging and Migrating: Data Portability from the Trenches

✅ Method • XML • Snapshot

✅ Storage • Frequency & Retention • Constrains your RPO

✅ Security (Access) • Sensitive data • Availability

✅ Security (Crypto) • In Transit / At Rest / In Use • Key Management

✅ Data Sovereignty • Where is your data? • DR / Backups / Support

✅ Compliance • ISO 27001 / HIPAA • Privacy Shield / DPA / GDPR

Business as Usual

Checklist

Page 22: Merging and Migrating: Data Portability from the Trenches

Business as Usual

Infrastructure Change

Atlassian Cloud

Data Shaping

Scenarios

Page 23: Merging and Migrating: Data Portability from the Trenches

Infrastructure Change

Scenarios

Page 24: Merging and Migrating: Data Portability from the Trenches

File System Changing system architecture

Database Moving between vendors / systems

Scenarios

Infrastructure Change

Page 25: Merging and Migrating: Data Portability from the Trenches

Transform Filter, modify and translate

the data as needed.

ETL

Load Hydrate the data into the

target system

Export Extract the data from the

source system

Infrastructure Change

Page 26: Merging and Migrating: Data Portability from the Trenches

utf8mb4

Page 27: Merging and Migrating: Data Portability from the Trenches

JRASERVER-36135MySQL 4-byte character support

Page 28: Merging and Migrating: Data Portability from the Trenches

Transform Filter, modify and translate

the data as needed.

ETL

Load Hydrate the data into the

target system

Export Extract the data from the

source system

Infrastructure Change

Page 29: Merging and Migrating: Data Portability from the Trenches

✅ Method • XML for DB changes • Snapshot for Lift & Shift

✅ Revisit Approach • Backups & Resilience Processes • Snapshot Consistency

✅ Ownership • Access & Control • DBA? Service Desks?

✅ Technology • Drivers, Firewalls, Tooling • Direct Integrations with FS & DB

✅ Conversion • DB schema changes • Indexes & Character Sets

✅ Dry Runs • Multiple iterations required • Outage sizing

Infrastructure Change

Checklist

Page 30: Merging and Migrating: Data Portability from the Trenches

KEEP CALM

& DRY RUN

Page 31: Merging and Migrating: Data Portability from the Trenches

✅ Method • XML for DB changes • Snapshot for Lift & Shift

✅ Revisit Approach • Backups & Resilience Processes • Snapshot Consistency

✅ Ownership • Access & Control • DBA? Service Desks?

✅ Technology • Drivers, Firewalls, Tooling • Direct Integrations with FS & DB

✅ Conversion • DB schema changes • Indexes & Character Sets

✅ Dry Runs • Multiple iterations required • Outage sizing

✅ Immutability • Prefer new & migrate • How do we back out?

✅ Monitoring • Benchmark latency & responsiveness • Validate in all environments

Infrastructure Change

Page 32: Merging and Migrating: Data Portability from the Trenches

Business as Usual

Infrastructure Change

Atlassian Cloud

Data Shaping

Scenarios

Page 33: Merging and Migrating: Data Portability from the Trenches

Atlassian Cloud

Scenarios

Page 34: Merging and Migrating: Data Portability from the Trenches

Scenarios

Atlassian Cloud

XML

Page 35: Merging and Migrating: Data Portability from the Trenches

http://www.pngmart.com/image/tag/terminator http://www.mcgamer.net/threads/gameover-us-clan.95893/

Page 36: Merging and Migrating: Data Portability from the Trenches

✅ Method • XML only • No Infrastructural Access

✅ XML Backing Up • Are more resources needed? • Is an outage required?

✅ Duration • How long does it take? • Backup, Transfer, Restore

✅ Versions • What versions are needed? • What change is expected?

✅ Complexity • How simple is your case? • Is transformation needed?

✅ Atlassian ID • What is your username schema? • Does any mapping need to happen?

Atlassian Cloud

✅ Functionality • Map the differences • Include add-ons

✅ Licensing • What are the commercial changes? • Include add-ons and environments

Checklist

Page 37: Merging and Migrating: Data Portability from the Trenches

Business as Usual

Infrastructure Change

Atlassian Cloud

Data Shaping

Scenarios

Page 38: Merging and Migrating: Data Portability from the Trenches

Data Shaping

Scenarios

Page 39: Merging and Migrating: Data Portability from the Trenches

MergingSplitting

Data Shaping

Scenarios

Page 40: Merging and Migrating: Data Portability from the Trenches

Splitting

Data Shaping

Page 41: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore

Splitting

Page 42: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups.

Splitting

Page 43: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Splitting

Page 44: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints

Splitting

Page 45: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints Target system must not exist.

Splitting

Page 46: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints Target system must not exist. Same technologies in both systems.

Splitting

Page 47: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints Target system must not exist. Same technologies in both systems.

Use Cases

Splitting

Page 48: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints Target system must not exist. Same technologies in both systems.

Use Cases Where the source system cannot be impacted.

Splitting

Page 49: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Duplicate the system from snapshot backups. Remove unwanted data from either system.

Constraints Target system must not exist. Same technologies in both systems.

Use Cases Where the source system cannot be impacted. Where cloning the system is straight forward.

Splitting

Page 50: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy

Splitting

Page 51: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system.

Splitting

Page 52: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration.

Splitting

Page 53: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data.

Splitting

Page 54: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Splitting

Page 55: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints

Splitting

Page 56: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match.

Splitting

Page 57: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match. Appropriate tooling must be purchased.

Splitting

Page 58: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match. Appropriate tooling must be purchased. Plugins data may be missed.

Splitting

Page 59: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match. Appropriate tooling must be purchased. Plugins data may be missed.

Use Cases

Splitting

Page 60: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match. Appropriate tooling must be purchased. Plugins data may be missed.

Use Cases Where the source system must remain live.

Splitting

Page 61: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Setup a new system. Copy global configuration. Use tooling to copy across project config & data. Remove copied data from source system.

Constraints Target system global configuration must match. Appropriate tooling must be purchased. Plugins data may be missed.

Use Cases Where the source system must remain live. Where a relatively small amount of data needs to be split off.

Splitting

Page 62: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore

Splitting

Page 63: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup.

Splitting

Page 64: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins.

Splitting

Page 65: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments.

Splitting

Page 66: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Splitting

Page 67: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints

Splitting

Page 68: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup.

Splitting

Page 69: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup. Typically consumes the most resources and takes the longest.

Splitting

Page 70: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup. Typically consumes the most resources and takes the longest.

Use Cases

Splitting

Page 71: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup. Typically consumes the most resources and takes the longest.

Use Cases Where transformation of the backup is needed.

Splitting

Page 72: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup. Typically consumes the most resources and takes the longest.

Use Cases Where transformation of the backup is needed. When the new system architecture is different.

Splitting

Page 73: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Setup a new system, restoring the XML backup. Install plugins. Copy over the attachments. Remove unwanted data from either system.

Constraints Source system must have an outage for backup. Typically consumes the most resources and takes the longest.

Use Cases Where transformation of the backup is needed. When the new system architecture is different. Can restore specific projects. (Server/DC only)

Splitting

Page 74: Merging and Migrating: Data Portability from the Trenches
Page 75: Merging and Migrating: Data Portability from the Trenches

X X X

Page 76: Merging and Migrating: Data Portability from the Trenches

Merging

Data Shaping

Page 77: Merging and Migrating: Data Portability from the Trenches

Merging

Page 78: Merging and Migrating: Data Portability from the Trenches

Snapshot Backup & Restore Not possible as target system already exists.

Merging

Page 79: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy

Merging

Page 80: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems.

Merging

Page 81: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems. Sync target system global & project configuration.

Merging

Page 82: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems. Sync target system global & project configuration.

Conflict Resolution Resolve any configuration differences:

Merging

Page 83: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems. Sync target system global & project configuration.

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Merging

Page 84: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems. Sync target system global & project configuration.

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Project keys Including historic

Merging

Page 85: Merging and Migrating: Data Portability from the Trenches

Tooling Based Copy Align Jira & add-on versions in both systems. Sync target system global & project configuration.

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Project keys Including historic

Dashboards & Agile Rapid Boards & Filters Compound key: item name + owning user

Merging

Page 86: Merging and Migrating: Data Portability from the Trenches

Strategies

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Project keys Including historic

Dashboards & Agile Rapid Boards & Filters Compound key: item name + owning user

Merging

Page 87: Merging and Migrating: Data Portability from the Trenches

Strategies Technical

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Project keys Including historic

Dashboards & Agile Rapid Boards & Filters Compound key: item name + owning user

Merging

Page 88: Merging and Migrating: Data Portability from the Trenches

Strategies Technical Process

Conflict Resolution Resolve any configuration differences:

Globals Users & Groups, Resolutions, Statuses

Project keys Including historic

Dashboards & Agile Rapid Boards & Filters Compound key: item name + owning user

Merging

Page 89: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore

Merging

Page 90: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Merging

Page 91: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints

Merging

Page 92: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints Sensitive to change.

Merging

Page 93: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints Sensitive to change. Edge cases require testing.

Merging

Page 94: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints Sensitive to change. Edge cases require testing.

Use Cases

Merging

Page 95: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints Sensitive to change. Edge cases require testing.

Use Cases Where complex migrations are needed.

Merging

Page 96: Merging and Migrating: Data Portability from the Trenches

XML Backup & Restore Transform the XML backup in-flight.

Constraints Sensitive to change. Edge cases require testing.

Use Cases Where complex migrations are needed. Extreme changes in data structure and architecture.

Merging

Page 97: Merging and Migrating: Data Portability from the Trenches

✅ Versions • See: Atlassian Cloud • Add-ons too

✅ Add-ons • Where is the data? • How is it managed?

✅ Scope • Whole or partial? • New or merge in existing?

✅ Conflict Resolution • Full assessment upfront • Tooling assistance helpful

✅ Transformation • What needs to change? • Users, Keys, Globals

✅ Validation • Missing Data (Script Fields) • Smoke Test (config item count)

Data Shaping

Checklist

Page 98: Merging and Migrating: Data Portability from the Trenches

Data Shaping

Page 99: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A

Page 100: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A

Page 101: Merging and Migrating: Data Portability from the Trenches

http://wheelhouseworkshop.com/2017/04/06/its-dangerous-to-go-alone-take-this/

Page 102: Merging and Migrating: Data Portability from the Trenches

Botron Software Configuration Manager

for JiraProject Configurator

for Jira

Atlassian Recommends

Tools & Support

AdaptavistAwnaba

Page 103: Merging and Migrating: Data Portability from the Trenches

Atlassian Support Standard or Premium.

Consider a TAM.

You are not alone!

Solution Partners Professionals who have done

this many times before.

Atlassian Community Documentation, Q&A,

support from your peers.

Tools & Support

Page 104: Merging and Migrating: Data Portability from the Trenches

Start off Simple

Tools & Support

Page 105: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A

Page 106: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A

Page 107: Merging and Migrating: Data Portability from the Trenches

• Merging and migrating are really tough problems

• We're incredibly thankful for our solution partners

• We recognize your pain and are finally ready to help

Page 108: Merging and Migrating: Data Portability from the Trenches

Announcing a dedicated migration team!

• Migration (not just export/import)

• Multiple products (not just Jira)

• Rome wasn't built in a day

• Server->Cloud to start

Page 109: Merging and Migrating: Data Portability from the Trenches

Cloud migration, worthy of Atlassian

Inviting Make migration feel like the natural next step in the customer

journey

Scalable Migrate everything from single projects to massive instances

with confidence

Reliable Tell customers what is happening, before, during, and after (and

make sure it does)

Flexible Support multiple

migration modes and approaches based on

customer needs

Page 110: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A

Page 111: Merging and Migrating: Data Portability from the Trenches

Tools & Support

Scenarios

Atlassian

Q&A?

Page 112: Merging and Migrating: Data Portability from the Trenches

Thank you!

DAN HARDIKER | CTO | ADAPTAVIST | @DHARDIKER

BRITTANY WISPELL | CONSULTANT | ADAPTAVIST | @REDHOTJIRAPEPPS