SlideShare ist ein Scribd-Unternehmen logo
1 von 19
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary.
PayPal's Cloud Journey From
Folsom to Kilo
Wei Tian -- Cloud Performance Lead at Paypal
10/ 28 / 2015
What We Learned in the Upgrade Progress
© 2014-15 PayPal Inc. All rights reserved. Confidential and proprietary.
Agenda
2
• About paypal Cloud
• Past Upgrade before Kilo
• Kilo Upgrade
• What next ?
© 2014-15 PayPal Inc. All rights reserved. Confidential and proprietary.
About PayPal Cloud
3
• Background
– Started in July 2012 with 1 engineer and 16 decommissioned servers
– Today, one of the world’s Largest OpenStack Private Cloud
– Number of Physical Servers: 8064
– Number of Racks: 84
– Total Cores: 386,000
– Block Storage: 2 peta bytes
– Largest AZ with 2500+ hypervisors
• Business Goals
– Hosting ~100% of PayPal’s production traffic (except Databases and Messaging)
– Powers 100% of PaaS, Dev/QA and M&As
– First production workload on SDN in 2013
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 4
Upgrade History
4
• Early 2014, Multiple versions of Openstack in 10 AZ’s.
• Grizzly and Folsom.
• Time to upgrade to Havana – 1 YEAR
• Decision – Skip Icehouse and Juno
• Don’t want to be in constant catch-up mode
• Upgrade directly to Kilo.
Current Status
• One AZ in Kilo
• Rest In-flight
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 5
Upgrade is Difficult!
5
• One of the largest Openstack private cloud.
• 100% of the Paypal production
• In Service Upgrade – No Availability Impact
Allowed.
• Mixed Folsom and Grizzly environments!
• Nova-network AND Neutron networking.
• Custom Code in-line with Upstream
• Two months to code-ready.
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 6
Complicated Code Base – Need Manual Merge
6
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 7
Prepare the Code for the Upgrade – it Takes Time
7
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 8
Custom Database Migration
8
• Custom tables (besides Nova tables)
• Custom DB migration script for Nova to
migrate content from the custom tables.
• Custom DB migration script for keystone
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 9
Seamless Migration from Nova-network to Neutron
9
• At Paypal, several data centers were using Folsom
nova-networking in production with thousands of VMs
in service. We successfully upgraded to OpenStack
Havana, adopted Neutron as a Network service
instead of nova-networking, and replaced Linux
bridge by Open vSwitch.
• The upgrade covered both control plane and data
plane migration. The control plane includes neutron
network/subnet/port management and SDN controller
integration, while the data plane includes tap device
migration from Linux bridge to openvswitch bridge,
DHCP service, security group, and Libvirt/KVM
configuration
• For more details, Check out the presentation from my
colleagues at the Paris Summit:
https://www.openstack.org/summit/openstack-paris-
summit-2014/session-videos/presentation/seamless-
migration-from-nova-network-to-neutron-in-ebay-
production
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 10
Openstack Services Deployment with Virtualenv
10
• Each controller node runs multiple services (keystone, nova, glance, neutron,
cinder, etc.) and each service runs in its own virtual environments.
• The best way to have painless and reproducible deployments is to package whole
virtual environments of the application you want to deploy including all
dependencies but without configuration.
• The benefit for upgrade with virtualenv packages:
• Speed. Deploying a new version is as simple as unzipping a tar ball.
• Predictability. Each service running with its own virtualenv and can be
upgrade independently.
• Easy rollback. All versions of a service exist under different folders, and
to rollback is simply changing the startup script with different working
directory.
• Simple Puppet Script. Only deal with startup script and config file for
Openstack services.
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 11
Kilo Upgrade from Havana
11
Principles
• No down time on data plane
• A few hours of down time on control
plane.
• Upgrade on Saturday while the usage
is low.
• Prepare hypervisors as much as we
can before the upgrade day.
Process
• Code readiness for kilo.
• Build a shadow control plane.
• Prepare run books for overall process
and for each components.
• Dry-run I
• QA cycle I with Functional testing,
performance and load testing.
• Dry-run II
• QA cycle II with Functional testing,
performance and load testing.
• Pre-upgrade. Prepare all hypervisors.
• The official upgrade.
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 12
Code Readiness for Kilo – Branch Strategy
12
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 13
Code Readiness for Kilo – Coding Guidelines
13
Guidelines
• No change to upstream code.
• No directly back port or merge from
havana changes.
• Completely re-write the Paypal
extensions align with kilo code.
• Apply standard Openstack extension
method..
• Actively anticipant in upstream.
• Report bug to upstream.
• Fix bug in upstream.
Ways to customize Openstack
• WSGI middleware.
• Openstack API extensions (resource,
controller, and child resource).
• Extending manager classes for services.
• Custom filters and weighers.
• Custom RPC methods.
• Nova hooks.
• Monkey patch as a last resort.
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 14
Code Readiness for Kilo – Project Structure
14
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 15
Build a Shadow Control Plane
15
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 16
Dry-Run
16
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 17
The Benefit of Using Latest Release from Upstream
17
• Latest features and bug fixes from upstream.
• We can also GIVE BACK to the community.
• No More cherry picking bug fixes.
• Older branches DELETED from Github !!!
• NO CODE DUPLICATION between Upstream and PayPal:
• In Folsom, we implemented ‘compute zone’.
• Similar to host aggregate.
• In Grizzly, we implemented a list of ‘aggregate_XXXX_filter’.
• Similar to the ‘aggregate_XXXX_filter’ in havana
• In Havana, we implemented nova extension to show host status and instance
faults in nova list and nova show.
• Was Added Upstreamin Juno
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 18
Prepare for the Liberty Upgrade
18
• After the overhaul refactoring in both code base and upgrade process, the preparation time for
Liberty upgrade will be weeks instead of months.
• From kilo to liberty, we could apply the recommended upgrade process from upstream and do
a live upgrade without down time in either control plane or data plane.
• The schedule for Liberty upgrade will be early next year.
© 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 19
Questions ?

Weitere ähnliche Inhalte

Kürzlich hochgeladen

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 

Kürzlich hochgeladen (20)

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

PayPal's Cloud Journey From Folsom to Kilo

  • 1. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. PayPal's Cloud Journey From Folsom to Kilo Wei Tian -- Cloud Performance Lead at Paypal 10/ 28 / 2015 What We Learned in the Upgrade Progress
  • 2. © 2014-15 PayPal Inc. All rights reserved. Confidential and proprietary. Agenda 2 • About paypal Cloud • Past Upgrade before Kilo • Kilo Upgrade • What next ?
  • 3. © 2014-15 PayPal Inc. All rights reserved. Confidential and proprietary. About PayPal Cloud 3 • Background – Started in July 2012 with 1 engineer and 16 decommissioned servers – Today, one of the world’s Largest OpenStack Private Cloud – Number of Physical Servers: 8064 – Number of Racks: 84 – Total Cores: 386,000 – Block Storage: 2 peta bytes – Largest AZ with 2500+ hypervisors • Business Goals – Hosting ~100% of PayPal’s production traffic (except Databases and Messaging) – Powers 100% of PaaS, Dev/QA and M&As – First production workload on SDN in 2013
  • 4. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 4 Upgrade History 4 • Early 2014, Multiple versions of Openstack in 10 AZ’s. • Grizzly and Folsom. • Time to upgrade to Havana – 1 YEAR • Decision – Skip Icehouse and Juno • Don’t want to be in constant catch-up mode • Upgrade directly to Kilo. Current Status • One AZ in Kilo • Rest In-flight
  • 5. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 5 Upgrade is Difficult! 5 • One of the largest Openstack private cloud. • 100% of the Paypal production • In Service Upgrade – No Availability Impact Allowed. • Mixed Folsom and Grizzly environments! • Nova-network AND Neutron networking. • Custom Code in-line with Upstream • Two months to code-ready.
  • 6. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 6 Complicated Code Base – Need Manual Merge 6
  • 7. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 7 Prepare the Code for the Upgrade – it Takes Time 7
  • 8. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 8 Custom Database Migration 8 • Custom tables (besides Nova tables) • Custom DB migration script for Nova to migrate content from the custom tables. • Custom DB migration script for keystone
  • 9. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 9 Seamless Migration from Nova-network to Neutron 9 • At Paypal, several data centers were using Folsom nova-networking in production with thousands of VMs in service. We successfully upgraded to OpenStack Havana, adopted Neutron as a Network service instead of nova-networking, and replaced Linux bridge by Open vSwitch. • The upgrade covered both control plane and data plane migration. The control plane includes neutron network/subnet/port management and SDN controller integration, while the data plane includes tap device migration from Linux bridge to openvswitch bridge, DHCP service, security group, and Libvirt/KVM configuration • For more details, Check out the presentation from my colleagues at the Paris Summit: https://www.openstack.org/summit/openstack-paris- summit-2014/session-videos/presentation/seamless- migration-from-nova-network-to-neutron-in-ebay- production
  • 10. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 10 Openstack Services Deployment with Virtualenv 10 • Each controller node runs multiple services (keystone, nova, glance, neutron, cinder, etc.) and each service runs in its own virtual environments. • The best way to have painless and reproducible deployments is to package whole virtual environments of the application you want to deploy including all dependencies but without configuration. • The benefit for upgrade with virtualenv packages: • Speed. Deploying a new version is as simple as unzipping a tar ball. • Predictability. Each service running with its own virtualenv and can be upgrade independently. • Easy rollback. All versions of a service exist under different folders, and to rollback is simply changing the startup script with different working directory. • Simple Puppet Script. Only deal with startup script and config file for Openstack services.
  • 11. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 11 Kilo Upgrade from Havana 11 Principles • No down time on data plane • A few hours of down time on control plane. • Upgrade on Saturday while the usage is low. • Prepare hypervisors as much as we can before the upgrade day. Process • Code readiness for kilo. • Build a shadow control plane. • Prepare run books for overall process and for each components. • Dry-run I • QA cycle I with Functional testing, performance and load testing. • Dry-run II • QA cycle II with Functional testing, performance and load testing. • Pre-upgrade. Prepare all hypervisors. • The official upgrade.
  • 12. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 12 Code Readiness for Kilo – Branch Strategy 12
  • 13. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 13 Code Readiness for Kilo – Coding Guidelines 13 Guidelines • No change to upstream code. • No directly back port or merge from havana changes. • Completely re-write the Paypal extensions align with kilo code. • Apply standard Openstack extension method.. • Actively anticipant in upstream. • Report bug to upstream. • Fix bug in upstream. Ways to customize Openstack • WSGI middleware. • Openstack API extensions (resource, controller, and child resource). • Extending manager classes for services. • Custom filters and weighers. • Custom RPC methods. • Nova hooks. • Monkey patch as a last resort.
  • 14. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 14 Code Readiness for Kilo – Project Structure 14
  • 15. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 15 Build a Shadow Control Plane 15
  • 16. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 16 Dry-Run 16
  • 17. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 17 The Benefit of Using Latest Release from Upstream 17 • Latest features and bug fixes from upstream. • We can also GIVE BACK to the community. • No More cherry picking bug fixes. • Older branches DELETED from Github !!! • NO CODE DUPLICATION between Upstream and PayPal: • In Folsom, we implemented ‘compute zone’. • Similar to host aggregate. • In Grizzly, we implemented a list of ‘aggregate_XXXX_filter’. • Similar to the ‘aggregate_XXXX_filter’ in havana • In Havana, we implemented nova extension to show host status and instance faults in nova list and nova show. • Was Added Upstreamin Juno
  • 18. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 18 Prepare for the Liberty Upgrade 18 • After the overhaul refactoring in both code base and upgrade process, the preparation time for Liberty upgrade will be weeks instead of months. • From kilo to liberty, we could apply the recommended upgrade process from upstream and do a live upgrade without down time in either control plane or data plane. • The schedule for Liberty upgrade will be early next year.
  • 19. © 2015 PayPal Inc. All rights reserved. Confidential and proprietary. 19 Questions ?

Hinweis der Redaktion

  1. Code chagne for juno is a fix forward for commits in havana, To cheery-pick each change, it needs to go through a CICD cycle, functional testing and integration testing cycle
  2. No custom database