SlideShare a Scribd company logo
1 of 20
Migrating your CMS to the
Cloud
Vasken Hauri
VP of Engineering
10up Inc.
A bit about 10up
• ~125 employees; fully distributed
• Focus on making the web better by “finely crafting
websites & tools for content creators.”
• Cross-discipline (designers, UX engineers,
sysadmins, web & front-end engineers, PMs), with a
large concentration of engineering (75+)
• Lots of different use-cases for CMS migrations:
– Large publishers with lots of legacy content (old stories, galleries, etc)
– Sites with large user bases (discussion forums, heavily-commented sites)
– Publishers changing CMS platforms
• Migrations have totaled well over 1m posts with over 20 years of legacy
content
© 2017 Imperva, Inc. All rights reserved.2
Most of our clients are in the cloud
© 2017 Imperva, Inc. All rights reserved.3
But they used to be here…
© 2017 Imperva, Inc. All rights reserved.4
Arguments for on-premises systems
• Physical security
– “If the server is right down the hall, at least we know someone isn’t hacking it from the
server room”
• Sunk costs
– “We bought and paid for the shiny servers with the colorful firewall and email scanning
appliances so now they’re essentially free and we need to get our money’s worth”
• Lease vs Own
– “Monthly fees for the cloud will add up quickly and can be unpredictable, plus we can’t
depreciate anything”
© 2017 Imperva, Inc. All rights reserved.5
Arguments against On-Premises
• Robust access management in the cloud
• Better uptime and reliability potential at lower cost/effort
• Infrastructure spend matches needs
• Scalability and flexibility
© 2017 Imperva, Inc. All rights reserved.6
So how do we migrate?
© 2017 Imperva, Inc. All rights reserved.7
Source: http://wallpapersafari.com
© 2017 Imperva, Inc. All rights reserved.8
Creating a Migration Plan
• Make sure to document each and
every step with a high level of detail
– When will the task be performed?
– Who performs the task?
– How do we test if the task was
successful?
• Every step should have an
equivalent rollback plan
– How do we roll back if a step is
unsuccessful?
– What criteria do we have to determine if
we should roll back?
Don’t count on people to think clearly and make great decisions during
times of stress: give them simple instructions to follow.
© 2017 Imperva, Inc. All rights reserved.9
© 2017 Imperva, Inc. All rights reserved.10
Migration Effort by Phase
© 2017 Imperva, Inc. All rights reserved.11
Planning
Execution
A few things to consider
• Create a testing plan that covers all your content types, and all types of
content:
– Make sure all objects in the schema are accounted for (e.g
books and orders if you’re running an online bookstore)
– Test all types of content. Find a very short story, a very long
story, a story with images, one without.
– Test with various user roles to ensure everyone has access
to what they need
© 2017 Imperva, Inc. All rights reserved.12
A few things to consider
• Figure out who controls DNS
– What’s the current TTL?
– What does it take to request a change?
– Lead time?
• Where do you point your DNS in the cloud?
– Load balancer or HAProxy
– CDN Provider
– Web Server
© 2017 Imperva, Inc. All rights reserved.13
A few things to consider
• Use the right approach to handle outlier content
– Approach it with cost and ROI in mind—don’t fall into the
engineering trap
– Copy/paste is often best for a small amount of content
– Altering a migration script might make sense for a larger
subset of data
• Communicate the content plan
– Determine if a delta migration is worthwhile
– Make sure all stakeholders are aware of any necessary
content freeze
– Proactively communicate during any downtime or freeze
– Assume some people won’t listen
© 2017 Imperva, Inc. All rights reserved.14
A few things to consider
• Have someone cross-check your plan
– Find someone familiar with the technology but not the
specifics of the migration project
– Ask them to review the plan as if they had to perform
the migration
– Don’t ignore or explain any gaps—note the issues and
fix them in your plan!
– The actual migration is a high stress time. An engineer
unfamiliar with the project reviewing a plan is about as
effective as one familiar with the plan trying to troubleshoot
a site that’s down.
© 2017 Imperva, Inc. All rights reserved.15
Planning for the future
• Plan for disaster
– Where are we replicating data?
– What happens if our primary datacenter fails? (avoid DNS TTLs with a CDN)
– How can we minimize disruption to our business?
• Plan for scale
– Scaling horizontally is cool, but don’t ignore vertical scaling
– Push your content to the edge with a CDN
– Consider intelligent caching rules
– Monitor apps with tools like New Relic to foresee scaling needs
• Plan for security
– Put a Web Application Firewall (like Incapsula) in front of your site
– Consider a 3rd-party code review for large, open-source based projects
© 2017 Imperva, Inc. All rights reserved.16
Post-Migration Cleanup
• Make sure to decommission old servers—they pose a security risk and
turning them off can save money
– Old SSH accounts, etc. will become useless once you shut things down
– Unpatched servers become increasingly risky
– Power for the datacenter costs money
• Forgotten servers can cause unforeseen problems
– Cron jobs continue to run
– People forget they set a static IP for the site in their hosts file
• Create and address a post-migration backlog
– Fix any items discovered in your post-migration testing that were not considered blockers
© 2017 Imperva, Inc. All rights reserved.17
“The first step in any successful migration is
a bathroom break.”
Casey Bisson, Joyent
Sometime in 2012
© 2017 Imperva, Inc. All rights reserved.18
© 2017 Imperva, Inc. All rights reserved.19
Thank you!
Vasken Hauri
VP of Engineering
@vaskenhauri
vasken@10up.com
Migrating Your CMS to the Cloud in 40 Steps

More Related Content

What's hot

A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...Redis Labs
 
Running OpenStack in Production
Running OpenStack in ProductionRunning OpenStack in Production
Running OpenStack in ProductionTesora
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans Redis Labs
 
Hybird Cloud - An adoption roadmap
Hybird Cloud - An adoption roadmapHybird Cloud - An adoption roadmap
Hybird Cloud - An adoption roadmapJohn Georgiadis
 
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...InfluxData
 
Migrating to Cassandra
Migrating to CassandraMigrating to Cassandra
Migrating to CassandraInstaclustr
 
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...InfluxData
 
Moving the Elephant in the Room: Data Migration at Scale
Moving the Elephant in the Room: Data Migration at ScaleMoving the Elephant in the Room: Data Migration at Scale
Moving the Elephant in the Room: Data Migration at ScaleTyrone Hinderson
 

What's hot (8)

A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
 
Running OpenStack in Production
Running OpenStack in ProductionRunning OpenStack in Production
Running OpenStack in Production
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans
 
Hybird Cloud - An adoption roadmap
Hybird Cloud - An adoption roadmapHybird Cloud - An adoption roadmap
Hybird Cloud - An adoption roadmap
 
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...
How Sysbee Manages Infrastructures and Provides Advanced Monitoring by Using ...
 
Migrating to Cassandra
Migrating to CassandraMigrating to Cassandra
Migrating to Cassandra
 
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...
Using InfluxDB for Full Observability of a SaaS Platform by Aleksandr Tavgen,...
 
Moving the Elephant in the Room: Data Migration at Scale
Moving the Elephant in the Room: Data Migration at ScaleMoving the Elephant in the Room: Data Migration at Scale
Moving the Elephant in the Room: Data Migration at Scale
 

Similar to Migrating Your CMS to the Cloud in 40 Steps

Make a Move to AWS Now
Make a Move to AWS Now Make a Move to AWS Now
Make a Move to AWS Now Buurst
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructureMike Fowler
 
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...Amazon Web Services
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindAvere Systems
 
Apache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft LibraryApache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft LibraryTsz-Wo (Nicholas) Sze
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014EDB
 
Make a Move to the Azure Cloud with SoftNAS
Make a Move to the Azure Cloud with SoftNASMake a Move to the Azure Cloud with SoftNAS
Make a Move to the Azure Cloud with SoftNASBuurst
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentEDB
 
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...DataWorks Summit/Hadoop Summit
 
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy Clusters
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy ClustersData Works Summit Munich 2017 - Worldpay - Multi Tenancy Clusters
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy ClustersDavid Walker
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryCarlo Bonamico
 
Cloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaSCloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaSAndrew Khoury
 
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Jaime Crespo
 
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)Storage Switzerland
 
TrueReusableCode-BigDataCodeCamp2016
TrueReusableCode-BigDataCodeCamp2016TrueReusableCode-BigDataCodeCamp2016
TrueReusableCode-BigDataCodeCamp2016Eduard Lazar
 
start_your_datacenter_sds_v3
start_your_datacenter_sds_v3start_your_datacenter_sds_v3
start_your_datacenter_sds_v3David Byte
 
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...BIOIT14: Deploying very low cost cloud storage technology in a traditional re...
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...Dirk Petersen
 
Migrate Existing Applications to AWS without Re-engineering
Migrate Existing Applications to AWS without Re-engineeringMigrate Existing Applications to AWS without Re-engineering
Migrate Existing Applications to AWS without Re-engineeringBuurst
 
Scaling HDFS to Manage Billions of Files with Distributed Storage Schemes
Scaling HDFS to Manage Billions of Files with Distributed Storage SchemesScaling HDFS to Manage Billions of Files with Distributed Storage Schemes
Scaling HDFS to Manage Billions of Files with Distributed Storage SchemesDataWorks Summit
 

Similar to Migrating Your CMS to the Cloud in 40 Steps (20)

Make a Move to AWS Now
Make a Move to AWS Now Make a Move to AWS Now
Make a Move to AWS Now
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructure
 
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...
EUT302_Data Ingestion at Seismic Scale Best Practices for Processing Petabyte...
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
 
Apache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft LibraryApache Ratis - In Search of a Usable Raft Library
Apache Ratis - In Search of a Usable Raft Library
 
Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014Top10 list planningpostgresdeployment.2014
Top10 list planningpostgresdeployment.2014
 
Make a Move to the Azure Cloud with SoftNAS
Make a Move to the Azure Cloud with SoftNASMake a Move to the Azure Cloud with SoftNAS
Make a Move to the Azure Cloud with SoftNAS
 
Top 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres DeploymentTop 10 Tips for an Effective Postgres Deployment
Top 10 Tips for an Effective Postgres Deployment
 
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...
Worldpay - Delivering Multi-Tenancy Applications in A Secure Operational Plat...
 
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy Clusters
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy ClustersData Works Summit Munich 2017 - Worldpay - Multi Tenancy Clusters
Data Works Summit Munich 2017 - Worldpay - Multi Tenancy Clusters
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
 
From traditional to GitOps
From traditional to GitOpsFrom traditional to GitOps
From traditional to GitOps
 
Cloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaSCloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaS
 
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)Scaling and hardware provisioning for databases (lessons learned at wikipedia)
Scaling and hardware provisioning for databases (lessons learned at wikipedia)
 
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)
Storage Refresh? 3 Capabilities Primary Storage Must Have (but probably doesn’t)
 
TrueReusableCode-BigDataCodeCamp2016
TrueReusableCode-BigDataCodeCamp2016TrueReusableCode-BigDataCodeCamp2016
TrueReusableCode-BigDataCodeCamp2016
 
start_your_datacenter_sds_v3
start_your_datacenter_sds_v3start_your_datacenter_sds_v3
start_your_datacenter_sds_v3
 
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...BIOIT14: Deploying very low cost cloud storage technology in a traditional re...
BIOIT14: Deploying very low cost cloud storage technology in a traditional re...
 
Migrate Existing Applications to AWS without Re-engineering
Migrate Existing Applications to AWS without Re-engineeringMigrate Existing Applications to AWS without Re-engineering
Migrate Existing Applications to AWS without Re-engineering
 
Scaling HDFS to Manage Billions of Files with Distributed Storage Schemes
Scaling HDFS to Manage Billions of Files with Distributed Storage SchemesScaling HDFS to Manage Billions of Files with Distributed Storage Schemes
Scaling HDFS to Manage Billions of Files with Distributed Storage Schemes
 

More from Imperva Incapsula

D3TLV17- You have Incapsula...now what?
D3TLV17- You have Incapsula...now what?D3TLV17- You have Incapsula...now what?
D3TLV17- You have Incapsula...now what?Imperva Incapsula
 
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...Imperva Incapsula
 
D3TLV17- Advanced DDoS Mitigation Techniques
D3TLV17- Advanced DDoS Mitigation TechniquesD3TLV17- Advanced DDoS Mitigation Techniques
D3TLV17- Advanced DDoS Mitigation TechniquesImperva Incapsula
 
D3LDN17 - Recruiting the Browser
D3LDN17 - Recruiting the BrowserD3LDN17 - Recruiting the Browser
D3LDN17 - Recruiting the BrowserImperva Incapsula
 
D3LDN17 - A Pragmatists Guide to DDoS Mitigation
D3LDN17 - A Pragmatists Guide to DDoS MitigationD3LDN17 - A Pragmatists Guide to DDoS Mitigation
D3LDN17 - A Pragmatists Guide to DDoS MitigationImperva Incapsula
 
D3NY17- Customizing Incapsula to Accommodate Single Sign-On
D3NY17- Customizing Incapsula to Accommodate Single Sign-OnD3NY17- Customizing Incapsula to Accommodate Single Sign-On
D3NY17- Customizing Incapsula to Accommodate Single Sign-OnImperva Incapsula
 
D3NY17 - Migrating to the Cloud
D3NY17 - Migrating to the CloudD3NY17 - Migrating to the Cloud
D3NY17 - Migrating to the CloudImperva Incapsula
 
D3NY17- Using IncapRules to Customize Security
D3NY17- Using IncapRules to Customize SecurityD3NY17- Using IncapRules to Customize Security
D3NY17- Using IncapRules to Customize SecurityImperva Incapsula
 
D3SF17- Using Incap Rules to Customize Your Security and Access Control
D3SF17- Using Incap Rules to Customize Your Security and Access ControlD3SF17- Using Incap Rules to Customize Your Security and Access Control
D3SF17- Using Incap Rules to Customize Your Security and Access ControlImperva Incapsula
 
D3SF17- Boost Your Website Performance with Application Delivery Rules
D3SF17- Boost Your Website Performance with Application Delivery RulesD3SF17- Boost Your Website Performance with Application Delivery Rules
D3SF17- Boost Your Website Performance with Application Delivery RulesImperva Incapsula
 
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...Imperva Incapsula
 
D3SF17- Improving Our China Clients Performance
D3SF17- Improving Our China Clients PerformanceD3SF17- Improving Our China Clients Performance
D3SF17- Improving Our China Clients PerformanceImperva Incapsula
 
D3SF17 -Keynote - Staying Ahead of the Curve
D3SF17 -Keynote - Staying Ahead of the CurveD3SF17 -Keynote - Staying Ahead of the Curve
D3SF17 -Keynote - Staying Ahead of the CurveImperva Incapsula
 
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...Imperva Incapsula
 
Protect Your Assets with Single IP DDoS Protection
Protect Your Assets with Single IP DDoS ProtectionProtect Your Assets with Single IP DDoS Protection
Protect Your Assets with Single IP DDoS ProtectionImperva Incapsula
 
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...Imperva Incapsula
 
An Inside Look at a Sophisticated Multi-Vector DDoS Attack
An Inside Look at a Sophisticated Multi-Vector DDoS AttackAn Inside Look at a Sophisticated Multi-Vector DDoS Attack
An Inside Look at a Sophisticated Multi-Vector DDoS AttackImperva Incapsula
 
Migrating from Akamai to Incapsula: What You Need to Know
Migrating from Akamai to Incapsula: What You Need to KnowMigrating from Akamai to Incapsula: What You Need to Know
Migrating from Akamai to Incapsula: What You Need to KnowImperva Incapsula
 

More from Imperva Incapsula (20)

D3TLV17- You have Incapsula...now what?
D3TLV17- You have Incapsula...now what?D3TLV17- You have Incapsula...now what?
D3TLV17- You have Incapsula...now what?
 
D3TLV17- Keeping it Safe
D3TLV17-  Keeping it SafeD3TLV17-  Keeping it Safe
D3TLV17- Keeping it Safe
 
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...
D3TLV17- The Incapsula WAF: Your Best Line of Denfense Against Application La...
 
D3TLV17- Advanced DDoS Mitigation Techniques
D3TLV17- Advanced DDoS Mitigation TechniquesD3TLV17- Advanced DDoS Mitigation Techniques
D3TLV17- Advanced DDoS Mitigation Techniques
 
D3LDN17 - Recruiting the Browser
D3LDN17 - Recruiting the BrowserD3LDN17 - Recruiting the Browser
D3LDN17 - Recruiting the Browser
 
D3LDN17 - A Pragmatists Guide to DDoS Mitigation
D3LDN17 - A Pragmatists Guide to DDoS MitigationD3LDN17 - A Pragmatists Guide to DDoS Mitigation
D3LDN17 - A Pragmatists Guide to DDoS Mitigation
 
D3LDN17 - Keynote
D3LDN17 - KeynoteD3LDN17 - Keynote
D3LDN17 - Keynote
 
D3NY17- Customizing Incapsula to Accommodate Single Sign-On
D3NY17- Customizing Incapsula to Accommodate Single Sign-OnD3NY17- Customizing Incapsula to Accommodate Single Sign-On
D3NY17- Customizing Incapsula to Accommodate Single Sign-On
 
D3NY17 - Migrating to the Cloud
D3NY17 - Migrating to the CloudD3NY17 - Migrating to the Cloud
D3NY17 - Migrating to the Cloud
 
D3NY17- Using IncapRules to Customize Security
D3NY17- Using IncapRules to Customize SecurityD3NY17- Using IncapRules to Customize Security
D3NY17- Using IncapRules to Customize Security
 
D3SF17- Using Incap Rules to Customize Your Security and Access Control
D3SF17- Using Incap Rules to Customize Your Security and Access ControlD3SF17- Using Incap Rules to Customize Your Security and Access Control
D3SF17- Using Incap Rules to Customize Your Security and Access Control
 
D3SF17- Boost Your Website Performance with Application Delivery Rules
D3SF17- Boost Your Website Performance with Application Delivery RulesD3SF17- Boost Your Website Performance with Application Delivery Rules
D3SF17- Boost Your Website Performance with Application Delivery Rules
 
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...
D3SF17- A Single Source of Truth for Security Issues- Pushing Siem Logs to Cl...
 
D3SF17- Improving Our China Clients Performance
D3SF17- Improving Our China Clients PerformanceD3SF17- Improving Our China Clients Performance
D3SF17- Improving Our China Clients Performance
 
D3SF17 -Keynote - Staying Ahead of the Curve
D3SF17 -Keynote - Staying Ahead of the CurveD3SF17 -Keynote - Staying Ahead of the Curve
D3SF17 -Keynote - Staying Ahead of the Curve
 
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...
E-commerce Optimization: Using Load Balancing and CDN to Improve Website Perf...
 
Protect Your Assets with Single IP DDoS Protection
Protect Your Assets with Single IP DDoS ProtectionProtect Your Assets with Single IP DDoS Protection
Protect Your Assets with Single IP DDoS Protection
 
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...
[Webinar] DDoS Pentester Reveals: How Hackers Find Your Website’s Weak Points...
 
An Inside Look at a Sophisticated Multi-Vector DDoS Attack
An Inside Look at a Sophisticated Multi-Vector DDoS AttackAn Inside Look at a Sophisticated Multi-Vector DDoS Attack
An Inside Look at a Sophisticated Multi-Vector DDoS Attack
 
Migrating from Akamai to Incapsula: What You Need to Know
Migrating from Akamai to Incapsula: What You Need to KnowMigrating from Akamai to Incapsula: What You Need to Know
Migrating from Akamai to Incapsula: What You Need to Know
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Migrating Your CMS to the Cloud in 40 Steps

  • 1. Migrating your CMS to the Cloud Vasken Hauri VP of Engineering 10up Inc.
  • 2. A bit about 10up • ~125 employees; fully distributed • Focus on making the web better by “finely crafting websites & tools for content creators.” • Cross-discipline (designers, UX engineers, sysadmins, web & front-end engineers, PMs), with a large concentration of engineering (75+) • Lots of different use-cases for CMS migrations: – Large publishers with lots of legacy content (old stories, galleries, etc) – Sites with large user bases (discussion forums, heavily-commented sites) – Publishers changing CMS platforms • Migrations have totaled well over 1m posts with over 20 years of legacy content © 2017 Imperva, Inc. All rights reserved.2
  • 3. Most of our clients are in the cloud © 2017 Imperva, Inc. All rights reserved.3
  • 4. But they used to be here… © 2017 Imperva, Inc. All rights reserved.4
  • 5. Arguments for on-premises systems • Physical security – “If the server is right down the hall, at least we know someone isn’t hacking it from the server room” • Sunk costs – “We bought and paid for the shiny servers with the colorful firewall and email scanning appliances so now they’re essentially free and we need to get our money’s worth” • Lease vs Own – “Monthly fees for the cloud will add up quickly and can be unpredictable, plus we can’t depreciate anything” © 2017 Imperva, Inc. All rights reserved.5
  • 6. Arguments against On-Premises • Robust access management in the cloud • Better uptime and reliability potential at lower cost/effort • Infrastructure spend matches needs • Scalability and flexibility © 2017 Imperva, Inc. All rights reserved.6
  • 7. So how do we migrate? © 2017 Imperva, Inc. All rights reserved.7 Source: http://wallpapersafari.com
  • 8. © 2017 Imperva, Inc. All rights reserved.8 Creating a Migration Plan • Make sure to document each and every step with a high level of detail – When will the task be performed? – Who performs the task? – How do we test if the task was successful? • Every step should have an equivalent rollback plan – How do we roll back if a step is unsuccessful? – What criteria do we have to determine if we should roll back? Don’t count on people to think clearly and make great decisions during times of stress: give them simple instructions to follow.
  • 9. © 2017 Imperva, Inc. All rights reserved.9
  • 10. © 2017 Imperva, Inc. All rights reserved.10
  • 11. Migration Effort by Phase © 2017 Imperva, Inc. All rights reserved.11 Planning Execution
  • 12. A few things to consider • Create a testing plan that covers all your content types, and all types of content: – Make sure all objects in the schema are accounted for (e.g books and orders if you’re running an online bookstore) – Test all types of content. Find a very short story, a very long story, a story with images, one without. – Test with various user roles to ensure everyone has access to what they need © 2017 Imperva, Inc. All rights reserved.12
  • 13. A few things to consider • Figure out who controls DNS – What’s the current TTL? – What does it take to request a change? – Lead time? • Where do you point your DNS in the cloud? – Load balancer or HAProxy – CDN Provider – Web Server © 2017 Imperva, Inc. All rights reserved.13
  • 14. A few things to consider • Use the right approach to handle outlier content – Approach it with cost and ROI in mind—don’t fall into the engineering trap – Copy/paste is often best for a small amount of content – Altering a migration script might make sense for a larger subset of data • Communicate the content plan – Determine if a delta migration is worthwhile – Make sure all stakeholders are aware of any necessary content freeze – Proactively communicate during any downtime or freeze – Assume some people won’t listen © 2017 Imperva, Inc. All rights reserved.14
  • 15. A few things to consider • Have someone cross-check your plan – Find someone familiar with the technology but not the specifics of the migration project – Ask them to review the plan as if they had to perform the migration – Don’t ignore or explain any gaps—note the issues and fix them in your plan! – The actual migration is a high stress time. An engineer unfamiliar with the project reviewing a plan is about as effective as one familiar with the plan trying to troubleshoot a site that’s down. © 2017 Imperva, Inc. All rights reserved.15
  • 16. Planning for the future • Plan for disaster – Where are we replicating data? – What happens if our primary datacenter fails? (avoid DNS TTLs with a CDN) – How can we minimize disruption to our business? • Plan for scale – Scaling horizontally is cool, but don’t ignore vertical scaling – Push your content to the edge with a CDN – Consider intelligent caching rules – Monitor apps with tools like New Relic to foresee scaling needs • Plan for security – Put a Web Application Firewall (like Incapsula) in front of your site – Consider a 3rd-party code review for large, open-source based projects © 2017 Imperva, Inc. All rights reserved.16
  • 17. Post-Migration Cleanup • Make sure to decommission old servers—they pose a security risk and turning them off can save money – Old SSH accounts, etc. will become useless once you shut things down – Unpatched servers become increasingly risky – Power for the datacenter costs money • Forgotten servers can cause unforeseen problems – Cron jobs continue to run – People forget they set a static IP for the site in their hosts file • Create and address a post-migration backlog – Fix any items discovered in your post-migration testing that were not considered blockers © 2017 Imperva, Inc. All rights reserved.17
  • 18. “The first step in any successful migration is a bathroom break.” Casey Bisson, Joyent Sometime in 2012 © 2017 Imperva, Inc. All rights reserved.18
  • 19. © 2017 Imperva, Inc. All rights reserved.19 Thank you! Vasken Hauri VP of Engineering @vaskenhauri vasken@10up.com