SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Rob Hirschfeld
Dell, Distinguished Engineer




                               http://lifeatthebar.com
• This session could repeat a lot from last summit
  • http://www.openstack.org/summit/san-diego-2012/openstack-summit-
    sessions/presentation/getting-from-folsom-to-grizzly-a-devops-upgrade-
    pattern
• Interoperability & Reference Architecture
  • Reference Architecture w/ Heat (Tuesday @ 11:00)
  • Interop Panel (Tuesday @ 5:20)
• Upgrade Projects
  • https://wiki.openstack.org/wiki/Upgrade-with-minimal-downtime
  • https://wiki.openstack.org/wiki/Grenade
•   The “Problem“ with Migration
•   Paths to Nirvana (or Roads to Perdition)
•   Alternatives
•   An Opinion
•   Discussion
                                           F                       G




                                                                            H


                    http://learn.genetics.utah.edu/content/begin/cells/organelles/
• OpenStack has 3 month release major/minor cycle
  • Major version every 6 months
  • Minor version (but important) 3 & 6 months after release
• Lots of Changes
  •   Bugs are fixed
  •   Operating Systems upgrade
  •   New technologies appear
  •   Whole projects are split off
• We expect operators to
  • Keep systems running
  • Never loose data
  • And… Stay up to date                                      http://cdn2.arkive.org
                   sockeye-salmon-predated-by-grizzly-bear-on-migration-upstream.jpg
• What are we upgrading?
    • OpenStack - Yes!
    • Dependent packages - Probably?
    • Base OS - Maybe?
• What is the state during the "in-between" time?
    • Infrastructure downtime?
    • VM downtime? VM Reboot? Controlled/Informed?
    • Availability Windows?
• What contingency plans?
    • Dry run? Maybe.
    • Recover by going backwards? Maybe.
• What level of safety and trust do you need?
    • Assure data integrity?
    • Assure Infrastructure Integrity?
    • Maintain Security?
• How long can the migration take?
    •   Big bang move or gradual migrate?
    •   How will my API consumers/ecosystem cope?
    •   Can Keystone Grizzly work with Folsom Nova???
    •   What about futures? G.1 to G.2? H to I?
    •   Can I skip versions? Jump from G to I?
                                                        http://www.publicdomainpictures.net
                                                                Steep Steps by Peter Griffin
• Beginning Answers
   • Distros will manage dependencies and packaging
   • We can’t lose data or compromise security
   • Infrastructure state and integrity will vary by solution
• Assumption of Staging
   •   Some managed environment (not a manual deploy)
   •   Staging/test environment to get "familiar" with the problem.
   •   Maintenance window for production - limits scope of change
   •   Step-wise changes are OK (big bang is not required)
   •   We can make trade-offs to defray expensive requirements
• Beyond Assumptions… Paradigm Shifts
   • There are shared best practices
   • Upgrades can be automated in a sharable way


 http://www.theemailadmin.com/wp-content/uploads/2012/09/GFI229-hot-water-migration.jpg
All the nodes update to the latest code
in a short time window

• Details:
   1.    Cookbooks include update (instead of install) directives.
   2.    Control upstream package point (e.g. apt-update when appropriate)
   3.    Force chef-client run
   4.    Now at new level
• Considerations
   •   Pros: Potentially fast, continuous operation
   •   Cons: Don't mess up, it is your production environment
   •   Scope: Security updates
   •   Code Assumptions:
        • System can function through service restarts.
        • Underlying data models don't change or migrate appropriately.
Nodes migrate in staged groups

• Details:
   1.   Choose subset of machines and quiesce them.
   2.   Update set
   3.   Freeze state (by tenant)
   4.   Migrate service/tenant content
   5.   Repurpose after complete.
• Considerations
   • Pros: Safer, more controlled, and can move tenants as needed
   • Cons: Takes longer, still has cut-over point, but less open

                       http://allgodscrittersgotrhythm.blogspot.com/2010_08_01_archive.html
Nodes changed individually by a system-wide
orchestration that supports components of multiple versions

• Details
   1.   Components must be able to straddle versions
   2.   Orchestration updates core components to new version
   3.   System as a whole queiseces and is validated (requires self test)
   4.   Orchestration individually migrates components (return to step 3)
• Considerations
   • Pros: Creates a highly resilient system that handles higher rate of change
   • Cons: More complex to create and maintain

   http://www.grizzlycentral.com/forum/grizzly-tire-wheel-combos/1204-upgrade-tires-grizzly.html
• Orchestration (not just deployment automation)
• Awareness of physical layout is required
  • Must respect fault zones to sustain HA
  • Proximity of resources matters for migration
  • Networking transitions are essential
• Collaboration with development teams is essential
  • Components must support current and previous
  • Upgrade plan must be baked into configuration and tested
  • Upgrade dependencies must be 1) clear and 2) minimized
• HA complicates upgrades
  • Upgrade can be detected as a failure
  • HA system must be able to bridge versions
• Partial features were confusing
• We wanted to get ahead on upgrade
• It looked like dev jumped to Grizzly

• Good news:
  • Some testing of upgrade
  • Folsom to Grizzly ops was pretty smooth
• Bad news:
  • Grizzly is more complex (more moving parts)
  • Missing multi-node upgrade validation
DB        Oslo


                     Keystone
          Msg Bus

Client               Glance


                      Nova      Compute


         Dashboard    Cinder    Celimeter


                     Quantum
•   Fault Tolerance on BOTH SIDES AND VERSIONS
•   Same Version = EASY
•   Backwards Version = HARD
•   Forward Version = IMPOSSIBLE

                   Keystone
                    Grizzly




                   Keystone       Easy       Nova
                   Havana                   Havana
• We want to limit need to sustain old services
• New versions should support past APIs
• API consumers can migrate in steps                 Nova
                                                    Grizzly

                               Keystone




                                                      Step 2
                                Grizzly
                                 API

                           Keystone                  Nova
                           Havana          Step 3
                                                    Havana


    Ideally, we’d server AND client would be multi-version
• Size Matters
   • Big Steps = Release Based
   • Small Steps = Commit Based         G              H
• Small steps are digest
   • Easier to test small steps
   • Incur less technical debt
   • Expose issues to developers while code is fresh
• Large steps create risk
   • More combinations to test
   • More changes at one time
   • Difficult to fix design issues
Forced Client
                                                                Big Bang!
                              Migration



 Protocol                                      Protocol
 Driven                                        Stepping


                                          Rolling
                                          Upgrade
      Server vs Client




                                                                  Parallel
                                                                  Operation



Continuous               Small Step vs Large          Staged
Deploy                                                Upgrade
Forced Client
                                                                Big Bang!
                              Migration



 Protocol                                      Protocol
 Driven                                        Stepping


                                          Rolling
                                          Upgrade
      Server vs Client




                                                                  Parallel
                                                                  Operation



Continuous               Small Step vs Large          Staged
Deploy                                                Upgrade
Forced Client
                                                                Big Bang!
                              Migration



 Protocol                                      Protocol
 Driven                                        Stepping


                                          Rolling
                                          Upgrade
      Server vs Client




                                                                  Parallel
                                                                  Operation



Continuous               Small Step vs Large          Staged
Deploy                                                Upgrade
•   Servers & agents must be version tolerant
•   Clients protocols must be testable and documented
•   Ensure non-destructive migration
•   Fast-fail on client, but version tolerant on server

• Require Expectation that servers will migrate need to be built
  into the system! Servers must be adopting latest protocols or
  clients will not follow.

• Servers must test legacy clients/protocols! We must have tests!
• We must be able to find and upgrade legacy clients
• Deployment Upstream Cookbooks/Modules
• Best Practice Discussions
• Code for Upgradeability

• Crowbar Collaboration
  •   Upgrade is a FEATURE!
  •   Orchestration + Chef
  •   Pull from Source Deployments
  •   System Discovery
  •   Networking Configuration
  •   Operating System Install

                   http://farm3.static.flickr.com/2561/3891653055_262410bc31.jpg

Contenu connexe

Tendances

ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5Bruno Alves
 
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld
 
VMworld 2015: What's New in vSphere?
VMworld 2015: What's New in vSphere?VMworld 2015: What's New in vSphere?
VMworld 2015: What's New in vSphere?VMworld
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterContinuent
 
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld
 
Performance evaluation between checkpoint services in multi tier stateful
Performance evaluation between checkpoint services in multi tier statefulPerformance evaluation between checkpoint services in multi tier stateful
Performance evaluation between checkpoint services in multi tier statefulDemis Gomes
 
VMworld 2015: Extreme Performance Series - vSphere Compute & Memory
VMworld 2015: Extreme Performance Series - vSphere Compute & MemoryVMworld 2015: Extreme Performance Series - vSphere Compute & Memory
VMworld 2015: Extreme Performance Series - vSphere Compute & MemoryVMworld
 
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesJosef Adersberger
 
VMware Log Insight
VMware Log Insight VMware Log Insight
VMware Log Insight Iwan Rahabok
 
VMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMworld
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous DeliveryXebiaLabs
 
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld
 
The Platform Mullet
The Platform MulletThe Platform Mullet
The Platform Mulletpczarkowski
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsLior Kamrat
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryMandi Walls
 

Tendances (20)

ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5
 
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
 
VMworld 2015: What's New in vSphere?
VMworld 2015: What's New in vSphere?VMworld 2015: What's New in vSphere?
VMworld 2015: What's New in vSphere?
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
 
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
 
Performance evaluation between checkpoint services in multi tier stateful
Performance evaluation between checkpoint services in multi tier statefulPerformance evaluation between checkpoint services in multi tier stateful
Performance evaluation between checkpoint services in multi tier stateful
 
VMworld 2015: Extreme Performance Series - vSphere Compute & Memory
VMworld 2015: Extreme Performance Series - vSphere Compute & MemoryVMworld 2015: Extreme Performance Series - vSphere Compute & Memory
VMworld 2015: Extreme Performance Series - vSphere Compute & Memory
 
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
VMware Log Insight
VMware Log Insight VMware Log Insight
VMware Log Insight
 
VMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and Security
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
VMworld Europe 204: Technical Deep Dive on EVO: RAIL, the new VMware Hyper-Co...
 
The Platform Mullet
The Platform MulletThe Platform Mullet
The Platform Mullet
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
 
Avoiding the Release Weekend
Avoiding the Release Weekend Avoiding the Release Weekend
Avoiding the Release Weekend
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
 

Similaire à Rob Hirschfeld: Getting OpenStack Upgrades Right with Continuous Delivery

Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenance
Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenanceOtm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenance
Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenancejucaab
 
2013 OTM EU SIG evolv applications Data Management
2013 OTM EU SIG evolv applications Data Management2013 OTM EU SIG evolv applications Data Management
2013 OTM EU SIG evolv applications Data ManagementMavenWire
 
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerDevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerR3
 
Five Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration MethodsFive Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration MethodsPeak 10
 
Neotys PAC - Ian Molyneaux
Neotys PAC - Ian MolyneauxNeotys PAC - Ian Molyneaux
Neotys PAC - Ian MolyneauxNeotys_Partner
 
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015TAUS - The Language Data Network
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsPrecisely
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application SecurityJason Chan
 
Trunk based development and Canary deployment
Trunk based development and Canary deploymentTrunk based development and Canary deployment
Trunk based development and Canary deploymentHai Lu
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applicationsGigaSpaces
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Architecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureArchitecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureLen Bass
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)Amazon Web Services
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary DeploymentsPraveen Yalagandula
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...Brian Petrini
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...Brian Petrini
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...HostedbyConfluent
 

Similaire à Rob Hirschfeld: Getting OpenStack Upgrades Right with Continuous Delivery (20)

Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenance
Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenanceOtm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenance
Otm 2013 c13_e-23b-hatcher-neil-otm-gtm-data-maintenance
 
2013 OTM EU SIG evolv applications Data Management
2013 OTM EU SIG evolv applications Data Management2013 OTM EU SIG evolv applications Data Management
2013 OTM EU SIG evolv applications Data Management
 
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerDevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
 
Five Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration MethodsFive Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration Methods
 
Neotys PAC - Ian Molyneaux
Neotys PAC - Ian MolyneauxNeotys PAC - Ian Molyneaux
Neotys PAC - Ian Molyneaux
 
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015
Brendan McGuinness (Oracle) at the Industry Leaders Forum 2015
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
 
Real World Cloud Application Security
Real World Cloud Application SecurityReal World Cloud Application Security
Real World Cloud Application Security
 
Trunk based development and Canary deployment
Trunk based development and Canary deploymentTrunk based development and Canary deployment
Trunk based development and Canary deployment
 
A scalable server environment for your applications
A scalable server environment for your applicationsA scalable server environment for your applications
A scalable server environment for your applications
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Architecture for the cloud deployment case study future
Architecture for the cloud deployment case study futureArchitecture for the cloud deployment case study future
Architecture for the cloud deployment case study future
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
 

Plus de rhirschfeld

What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?rhirschfeld
 
RackN Physical Layer Automation Innovation
RackN Physical Layer Automation InnovationRackN Physical Layer Automation Innovation
RackN Physical Layer Automation Innovationrhirschfeld
 
Kubecon 2017 Zero Touch Kubernetes
Kubecon 2017 Zero Touch KubernetesKubecon 2017 Zero Touch Kubernetes
Kubecon 2017 Zero Touch Kubernetesrhirschfeld
 
#SREcon Immutable Infrastructure: rethinking configuration mgmt
#SREcon Immutable Infrastructure: rethinking configuration mgmt#SREcon Immutable Infrastructure: rethinking configuration mgmt
#SREcon Immutable Infrastructure: rethinking configuration mgmtrhirschfeld
 
Immutable infrastructure & Rethinking Configuration PREVIEW
Immutable infrastructure & Rethinking Configuration PREVIEWImmutable infrastructure & Rethinking Configuration PREVIEW
Immutable infrastructure & Rethinking Configuration PREVIEWrhirschfeld
 
Open Patterns for Day 2 Ops [Gluecon 2017]
Open Patterns for Day 2 Ops [Gluecon 2017]Open Patterns for Day 2 Ops [Gluecon 2017]
Open Patterns for Day 2 Ops [Gluecon 2017]rhirschfeld
 
Interop ITX Kubernetes Presentation
Interop ITX Kubernetes PresentationInterop ITX Kubernetes Presentation
Interop ITX Kubernetes Presentationrhirschfeld
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)rhirschfeld
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Presorhirschfeld
 
The developer rebellion against infrastructure
The developer rebellion against infrastructureThe developer rebellion against infrastructure
The developer rebellion against infrastructurerhirschfeld
 
IBM Interconnect: Think you can Out Innovate Open Source
IBM Interconnect: Think you can Out Innovate Open SourceIBM Interconnect: Think you can Out Innovate Open Source
IBM Interconnect: Think you can Out Innovate Open Sourcerhirschfeld
 
Joint OpenStack Kubernetes Environment (March 17 update)
Joint OpenStack Kubernetes Environment (March 17 update)Joint OpenStack Kubernetes Environment (March 17 update)
Joint OpenStack Kubernetes Environment (March 17 update)rhirschfeld
 
Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017rhirschfeld
 
The Messy Underlay Dilemma - automating PKI at Defragcon
The Messy Underlay Dilemma - automating PKI at DefragconThe Messy Underlay Dilemma - automating PKI at Defragcon
The Messy Underlay Dilemma - automating PKI at Defragconrhirschfeld
 
Joint OpenStack Kubernetes Environment (OpenStack Summit)
Joint OpenStack Kubernetes Environment (OpenStack Summit)Joint OpenStack Kubernetes Environment (OpenStack Summit)
Joint OpenStack Kubernetes Environment (OpenStack Summit)rhirschfeld
 
Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!rhirschfeld
 
Gluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructurerhirschfeld
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructurerhirschfeld
 
OpenServerSummit: Operating Hybrid Infrastructure
OpenServerSummit:  Operating Hybrid InfrastructureOpenServerSummit:  Operating Hybrid Infrastructure
OpenServerSummit: Operating Hybrid Infrastructurerhirschfeld
 
Git & dev ops come together, right now!
Git & dev ops come together, right now!Git & dev ops come together, right now!
Git & dev ops come together, right now!rhirschfeld
 

Plus de rhirschfeld (20)

What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?
 
RackN Physical Layer Automation Innovation
RackN Physical Layer Automation InnovationRackN Physical Layer Automation Innovation
RackN Physical Layer Automation Innovation
 
Kubecon 2017 Zero Touch Kubernetes
Kubecon 2017 Zero Touch KubernetesKubecon 2017 Zero Touch Kubernetes
Kubecon 2017 Zero Touch Kubernetes
 
#SREcon Immutable Infrastructure: rethinking configuration mgmt
#SREcon Immutable Infrastructure: rethinking configuration mgmt#SREcon Immutable Infrastructure: rethinking configuration mgmt
#SREcon Immutable Infrastructure: rethinking configuration mgmt
 
Immutable infrastructure & Rethinking Configuration PREVIEW
Immutable infrastructure & Rethinking Configuration PREVIEWImmutable infrastructure & Rethinking Configuration PREVIEW
Immutable infrastructure & Rethinking Configuration PREVIEW
 
Open Patterns for Day 2 Ops [Gluecon 2017]
Open Patterns for Day 2 Ops [Gluecon 2017]Open Patterns for Day 2 Ops [Gluecon 2017]
Open Patterns for Day 2 Ops [Gluecon 2017]
 
Interop ITX Kubernetes Presentation
Interop ITX Kubernetes PresentationInterop ITX Kubernetes Presentation
Interop ITX Kubernetes Presentation
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
 
The developer rebellion against infrastructure
The developer rebellion against infrastructureThe developer rebellion against infrastructure
The developer rebellion against infrastructure
 
IBM Interconnect: Think you can Out Innovate Open Source
IBM Interconnect: Think you can Out Innovate Open SourceIBM Interconnect: Think you can Out Innovate Open Source
IBM Interconnect: Think you can Out Innovate Open Source
 
Joint OpenStack Kubernetes Environment (March 17 update)
Joint OpenStack Kubernetes Environment (March 17 update)Joint OpenStack Kubernetes Environment (March 17 update)
Joint OpenStack Kubernetes Environment (March 17 update)
 
Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017Kubernetes community demo march 16 2017
Kubernetes community demo march 16 2017
 
The Messy Underlay Dilemma - automating PKI at Defragcon
The Messy Underlay Dilemma - automating PKI at DefragconThe Messy Underlay Dilemma - automating PKI at Defragcon
The Messy Underlay Dilemma - automating PKI at Defragcon
 
Joint OpenStack Kubernetes Environment (OpenStack Summit)
Joint OpenStack Kubernetes Environment (OpenStack Summit)Joint OpenStack Kubernetes Environment (OpenStack Summit)
Joint OpenStack Kubernetes Environment (OpenStack Summit)
 
Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!
 
Gluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
OpenServerSummit: Operating Hybrid Infrastructure
OpenServerSummit:  Operating Hybrid InfrastructureOpenServerSummit:  Operating Hybrid Infrastructure
OpenServerSummit: Operating Hybrid Infrastructure
 
Git & dev ops come together, right now!
Git & dev ops come together, right now!Git & dev ops come together, right now!
Git & dev ops come together, right now!
 

Rob Hirschfeld: Getting OpenStack Upgrades Right with Continuous Delivery

  • 1. Rob Hirschfeld Dell, Distinguished Engineer http://lifeatthebar.com
  • 2. • This session could repeat a lot from last summit • http://www.openstack.org/summit/san-diego-2012/openstack-summit- sessions/presentation/getting-from-folsom-to-grizzly-a-devops-upgrade- pattern • Interoperability & Reference Architecture • Reference Architecture w/ Heat (Tuesday @ 11:00) • Interop Panel (Tuesday @ 5:20) • Upgrade Projects • https://wiki.openstack.org/wiki/Upgrade-with-minimal-downtime • https://wiki.openstack.org/wiki/Grenade
  • 3. The “Problem“ with Migration • Paths to Nirvana (or Roads to Perdition) • Alternatives • An Opinion • Discussion F G H http://learn.genetics.utah.edu/content/begin/cells/organelles/
  • 4. • OpenStack has 3 month release major/minor cycle • Major version every 6 months • Minor version (but important) 3 & 6 months after release • Lots of Changes • Bugs are fixed • Operating Systems upgrade • New technologies appear • Whole projects are split off • We expect operators to • Keep systems running • Never loose data • And… Stay up to date http://cdn2.arkive.org sockeye-salmon-predated-by-grizzly-bear-on-migration-upstream.jpg
  • 5. • What are we upgrading? • OpenStack - Yes! • Dependent packages - Probably? • Base OS - Maybe? • What is the state during the "in-between" time? • Infrastructure downtime? • VM downtime? VM Reboot? Controlled/Informed? • Availability Windows? • What contingency plans? • Dry run? Maybe. • Recover by going backwards? Maybe. • What level of safety and trust do you need? • Assure data integrity? • Assure Infrastructure Integrity? • Maintain Security? • How long can the migration take? • Big bang move or gradual migrate? • How will my API consumers/ecosystem cope? • Can Keystone Grizzly work with Folsom Nova??? • What about futures? G.1 to G.2? H to I? • Can I skip versions? Jump from G to I? http://www.publicdomainpictures.net Steep Steps by Peter Griffin
  • 6. • Beginning Answers • Distros will manage dependencies and packaging • We can’t lose data or compromise security • Infrastructure state and integrity will vary by solution • Assumption of Staging • Some managed environment (not a manual deploy) • Staging/test environment to get "familiar" with the problem. • Maintenance window for production - limits scope of change • Step-wise changes are OK (big bang is not required) • We can make trade-offs to defray expensive requirements • Beyond Assumptions… Paradigm Shifts • There are shared best practices • Upgrades can be automated in a sharable way http://www.theemailadmin.com/wp-content/uploads/2012/09/GFI229-hot-water-migration.jpg
  • 7. All the nodes update to the latest code in a short time window • Details: 1. Cookbooks include update (instead of install) directives. 2. Control upstream package point (e.g. apt-update when appropriate) 3. Force chef-client run 4. Now at new level • Considerations • Pros: Potentially fast, continuous operation • Cons: Don't mess up, it is your production environment • Scope: Security updates • Code Assumptions: • System can function through service restarts. • Underlying data models don't change or migrate appropriately.
  • 8. Nodes migrate in staged groups • Details: 1. Choose subset of machines and quiesce them. 2. Update set 3. Freeze state (by tenant) 4. Migrate service/tenant content 5. Repurpose after complete. • Considerations • Pros: Safer, more controlled, and can move tenants as needed • Cons: Takes longer, still has cut-over point, but less open http://allgodscrittersgotrhythm.blogspot.com/2010_08_01_archive.html
  • 9. Nodes changed individually by a system-wide orchestration that supports components of multiple versions • Details 1. Components must be able to straddle versions 2. Orchestration updates core components to new version 3. System as a whole queiseces and is validated (requires self test) 4. Orchestration individually migrates components (return to step 3) • Considerations • Pros: Creates a highly resilient system that handles higher rate of change • Cons: More complex to create and maintain http://www.grizzlycentral.com/forum/grizzly-tire-wheel-combos/1204-upgrade-tires-grizzly.html
  • 10. • Orchestration (not just deployment automation) • Awareness of physical layout is required • Must respect fault zones to sustain HA • Proximity of resources matters for migration • Networking transitions are essential • Collaboration with development teams is essential • Components must support current and previous • Upgrade plan must be baked into configuration and tested • Upgrade dependencies must be 1) clear and 2) minimized • HA complicates upgrades • Upgrade can be detected as a failure • HA system must be able to bridge versions
  • 11.
  • 12. • Partial features were confusing • We wanted to get ahead on upgrade • It looked like dev jumped to Grizzly • Good news: • Some testing of upgrade • Folsom to Grizzly ops was pretty smooth • Bad news: • Grizzly is more complex (more moving parts) • Missing multi-node upgrade validation
  • 13. DB Oslo Keystone Msg Bus Client Glance Nova Compute Dashboard Cinder Celimeter Quantum
  • 14. Fault Tolerance on BOTH SIDES AND VERSIONS • Same Version = EASY • Backwards Version = HARD • Forward Version = IMPOSSIBLE Keystone Grizzly Keystone Easy Nova Havana Havana
  • 15. • We want to limit need to sustain old services • New versions should support past APIs • API consumers can migrate in steps Nova Grizzly Keystone Step 2 Grizzly API Keystone Nova Havana Step 3 Havana Ideally, we’d server AND client would be multi-version
  • 16. • Size Matters • Big Steps = Release Based • Small Steps = Commit Based G H • Small steps are digest • Easier to test small steps • Incur less technical debt • Expose issues to developers while code is fresh • Large steps create risk • More combinations to test • More changes at one time • Difficult to fix design issues
  • 17. Forced Client Big Bang! Migration Protocol Protocol Driven Stepping Rolling Upgrade Server vs Client Parallel Operation Continuous Small Step vs Large Staged Deploy Upgrade
  • 18. Forced Client Big Bang! Migration Protocol Protocol Driven Stepping Rolling Upgrade Server vs Client Parallel Operation Continuous Small Step vs Large Staged Deploy Upgrade
  • 19. Forced Client Big Bang! Migration Protocol Protocol Driven Stepping Rolling Upgrade Server vs Client Parallel Operation Continuous Small Step vs Large Staged Deploy Upgrade
  • 20. Servers & agents must be version tolerant • Clients protocols must be testable and documented • Ensure non-destructive migration • Fast-fail on client, but version tolerant on server • Require Expectation that servers will migrate need to be built into the system! Servers must be adopting latest protocols or clients will not follow. • Servers must test legacy clients/protocols! We must have tests! • We must be able to find and upgrade legacy clients
  • 21. • Deployment Upstream Cookbooks/Modules • Best Practice Discussions • Code for Upgradeability • Crowbar Collaboration • Upgrade is a FEATURE! • Orchestration + Chef • Pull from Source Deployments • System Discovery • Networking Configuration • Operating System Install http://farm3.static.flickr.com/2561/3891653055_262410bc31.jpg