SlideShare uma empresa Scribd logo
1 de 35
Mastering the Complex
    Application Deployment

      Eric Minick, Lead Consultant




1
Your Deployments might be hard if….
• You have long deployment
• The business complains about long outage
  windows
• Numerous planning meetings
• You spend all weekend at the office
• Deployments are seen as risky
• We celebrate when we are successful



2
The Goal

Production releases should be a non-event




3
From “Hard” to a “Non-Event”
•   Why deployments are so complex
•   Where basic automation helps
•   Coordinating deployments
•   Increasing consistency




4
From “Hard” to a “Non-Event”
•   Why deployments are so complex
•   Where basic automation helps
•   Coordinating deployments
•   Increasing consistency




5
Modern systems have many pieces
• Complex Architecture: Tiers, SOA, busses…
• Inter-related systems mean changes have
  wide impact.




6                  Image from ischool.tv
Componentized applications are staying
• Agile encourages smaller teams

• Conway’s Law tells us that smaller
  teams, cooperating on a big system will
  produce more components.
    – And to deploy, we need all their expertise

• 84% of Global 2000 using SOA by end of 2010
  (Forrester)


7
Lots of steps and people
• Manual releases require lots of…
    – Steps to do the work
    – People to execute the steps
    – People on call to fix it when things break

• Deployment document example from a Fortune
  100 customer
    – ~15 components
    – 148 People
    – 600 lines in Excel

• We’ve seen the 10,000 step deployment plan

8
Our releases are inconsistent
• Many components in the system, but they
  don’t change all at once
    – Most changes involve more than one, but less
      than all pieces


• We write a new plan for each release




9
From “Hard” to a “Non-Event”
•    Why deployments are so complex
•    Where basic automation helps
•    Coordinating deployments
•    Increasing consistency




10
Automation is great…
• A basic script can turn 10 steps into 1 or 2
  steps.

• Distributed workflow engines can easily model
  a component deployment

• With environment modeling, you can
  consistently deploy through environments.


11
Automation works with people
• People are good at creative work and problem
  solving

• People are bad at “consistency”.

• Good plan:
     – People design automation and troubleshoot
     – Computer consistently runs a process.


• See our webcast “Death to Manual Deployments”

12
…but we still have a coordination problem

• Distributed automation or runbook can deploy
  components or even systems

• But what exactly do I deploy? What goes
  together?




13
From “Hard” to a “Non-Event”
•    Why deployments are so complex
•    Where basic automation helps
•    Coordinating deployments
•    Increasing consistency




14
How do we know what goes together?
• We want:
     – Components with changes ready to release
     – No components with changes not ready
     – All components needed by the components we
       need (deployment dependencies)




15
How do we know what goes together?
• “All components needed by the components we
  need” is a tough requirement

• Traditionally satisfied by asking Dev and trusting their
  omniscience
     • Works most of the time


– Or we trust the ALM (Source + Bug Tracking) tools
     • Could work if people were perfectly disciplined
     • People are not


16
How do we know what goes together?

• Test it!
     – ALM tools and developer oral histories
       suggest what to test together
     – Once verified, the stuff in Test is the stuff
       we want in Production




17
Model basedDeployment Strategy
• Model the system in a test environment

• Promote the model across environments

• Model includes:
     – applications, app
       configuration, databases, infrastructure, settings
     – Aware of environment specifics as well


18
Requirements for Model Promotion

• Inventory – what is where
• Recording inventory as a Model
• Testing that we can trust




19
Model Promotion: Inventory
• To promote what is in Test to Production, we must
  know what is in test

• To know the extent of the change, we must know
  what is in production

• Inventory of all environments
     • What versions of each component make up the system
     • Where appropriate, treat configuration as a component


• Bonus: Inventory helps with visibility and audit

20
Model Promotion: Model Snapshots
• Need to be able to snapshot the inventory to
  define a desired state

• Approaches:
     – Spreadsheets listing component versions
     – Change management tickets with components as
       attachments
     – Build it into your deployment product (we did)



21
Model Promotion: Testing we can trust
• Testing validates compatibility

• Must leave adequate time to test

• With more automated tests, we can:
     – Test quicker
     – Test more creatively

• Automated tests should run in ALL
  environments
22
From “Hard” to a “Non-Event”
•    Why deployments are so complex
•    Where basic automation helps
•    Coordinating deployments
•    Increasing consistency




23
Each deployment is different


• Only a subset of
  components change in
  a release

• Sometimes we change
  configuration




24
Have a single deployment process
• Define the process for releasing the entire
  system

• Note which steps are associated with what
  components

• Execute only the steps for the components
  that are changing (which your inventory tells
  you)

25
Relentlessly remove variation
• Developers and architects contribute to
  repeatable releases

• “Special” events (like adding a new data
  stream) must fit into any automation or
  defined process




26
Use the same process in Test and Live
• The earlier the process is used, the better
     – It will be tested more
     – Earlier environments have less tolerance for
       slowness


• The process or automation must take into
  account environmental differences




27
Key Takeaways
1. Releases are complex, and the business needs
   them done rapidly




28
Key Takeaways
1. Releases are complex, and the business needs
   them done rapidly
2. Traditional methods for determining what is
   released together should be used in Test




29
Key Takeaways
1. Releases are complex, and the business needs
   them done rapidly
2. Traditional methods for determining what is
   released together should be used in Test
3. Only components tested together should be
   released together




30
Key Takeaways
1. Releases are complex, and the business needs
   them done rapidly
2. Traditional methods for determining what is
   released together should be used in Test
3. Only components tested together should be
   released together
4. Simple deployment automation is very
   helpful, but coordination is key



31
Key Takeaways
1. Releases are complex, and the business needs
   them done rapidly
2. Traditional methods for determining what is
   released together should be used in Test
3. Only components tested together should be
   released together
4. Simple deployment automation is very helpful,
   but coordination is key
5. Getting this right is easier if you have help from
   developers, testers, operations and release
   management

32
References
        http://urbancode.com/resources
• Death to Manual Deployments!
• Build & Deployment Automation for the Lean
  Economy
• ITIL Release Management and Automation

Urbancode.com/blogs/
Twitter.com/UrbanCodeSoft
Facebook.com/UrbanCodeSoft

33
Yes, UrbanCode sells products for this
• AnthillPro is now the DevOps Platform

• DevOps Platform
     – Automated build, test and deployment. Includes
       UrbanDeploy.


• UrbanDeploy
     – Application Release Automation


34
Questions?




35

Mais conteúdo relacionado

Mais procurados

Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the GapSerena Software
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps CultureJumpCloud
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...Tori Wieldt
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisXebiaLabs
 
DevOps Explained
DevOps ExplainedDevOps Explained
DevOps ExplainedDevOpsAnon
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management TalkMichael Rembetsy
 
DevOps and the Future of IT Operations
DevOps and the Future of IT OperationsDevOps and the Future of IT Operations
DevOps and the Future of IT OperationsCorrelsense
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016Kelly Looney
 
DevOps: A Value Proposition
DevOps: A Value PropositionDevOps: A Value Proposition
DevOps: A Value PropositionNicole Forsgren
 
DevOps 101 for Government
DevOps 101 for GovernmentDevOps 101 for Government
DevOps 101 for GovernmentSanjeev Sharma
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devopsMatthew Skelton
 
Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017Danny Ariwicaksono
 
Making disaster routine
Making disaster routineMaking disaster routine
Making disaster routinePeter Varhol
 
DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?Tathagat Varma
 

Mais procurados (20)

Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the Gap
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture
 
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps Metamorphosis
 
DevOps Explained
DevOps ExplainedDevOps Explained
DevOps Explained
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management Talk
 
Devops
DevopsDevops
Devops
 
DevOps and the Future of IT Operations
DevOps and the Future of IT OperationsDevOps and the Future of IT Operations
DevOps and the Future of IT Operations
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
DevOps: A Value Proposition
DevOps: A Value PropositionDevOps: A Value Proposition
DevOps: A Value Proposition
 
DevOps 101 for Government
DevOps 101 for GovernmentDevOps 101 for Government
DevOps 101 for Government
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017
 
Making disaster routine
Making disaster routineMaking disaster routine
Making disaster routine
 
DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?DevOps: Process, Tool or Mindset?
DevOps: Process, Tool or Mindset?
 

Destaque

Enterprise architecture for complex system of-systems contexts
Enterprise architecture for complex system of-systems contextsEnterprise architecture for complex system of-systems contexts
Enterprise architecture for complex system of-systems contextsBoxer Research Ltd
 
Complex Number's Applications
Complex Number's ApplicationsComplex Number's Applications
Complex Number's ApplicationsNikhil Deswal
 
5 Reasons Why Healthcare Data is Unique and Difficult to Measure
5 Reasons Why Healthcare Data is Unique and Difficult to Measure5 Reasons Why Healthcare Data is Unique and Difficult to Measure
5 Reasons Why Healthcare Data is Unique and Difficult to MeasureHealth Catalyst
 
The many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareThe many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareStocker Partnership
 
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?Clinical Data Repository vs. A Data Warehouse - Which Do You Need?
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?Health Catalyst
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 pptMhae Lyn
 

Destaque (7)

Enterprise architecture for complex system of-systems contexts
Enterprise architecture for complex system of-systems contextsEnterprise architecture for complex system of-systems contexts
Enterprise architecture for complex system of-systems contexts
 
Complex Number's Applications
Complex Number's ApplicationsComplex Number's Applications
Complex Number's Applications
 
5 Reasons Why Healthcare Data is Unique and Difficult to Measure
5 Reasons Why Healthcare Data is Unique and Difficult to Measure5 Reasons Why Healthcare Data is Unique and Difficult to Measure
5 Reasons Why Healthcare Data is Unique and Difficult to Measure
 
IoT in Healthcare
IoT in HealthcareIoT in Healthcare
IoT in Healthcare
 
The many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareThe many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in Healthcare
 
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?Clinical Data Repository vs. A Data Warehouse - Which Do You Need?
Clinical Data Repository vs. A Data Warehouse - Which Do You Need?
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
 

Semelhante a Mastering Complex Application Deployments

Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeploySerena Software
 
Continuous Delivery Decision points
Continuous Delivery Decision pointsContinuous Delivery Decision points
Continuous Delivery Decision pointsKelly Looney
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro - Database DevOps
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)Serena Software
 
Ncerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmNcerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmssmarar
 
Itsummit2015 blizzard
Itsummit2015 blizzardItsummit2015 blizzard
Itsummit2015 blizzardkevin_donovan
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Emerasoft, solutions to collaborate
 
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSoftware Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSeniorStoryteller
 
Serena Release Management approach and solutions
Serena Release Management approach and solutionsSerena Release Management approach and solutions
Serena Release Management approach and solutionsSoftmart
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldDevOps Enterprise Summit
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleRyan McGuinness
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseXebiaLabs
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMasas Dani
 

Semelhante a Mastering Complex Application Deployments (20)

Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 
Continuous Delivery Decision points
Continuous Delivery Decision pointsContinuous Delivery Decision points
Continuous Delivery Decision points
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
Ncerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmNcerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssm
 
Itsummit2015 blizzard
Itsummit2015 blizzardItsummit2015 blizzard
Itsummit2015 blizzard
 
Puppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolutionPuppet + Diaxon: Getting to the next stage of DevOps evolution
Puppet + Diaxon: Getting to the next stage of DevOps evolution
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
 
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOpsSoftware Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
 
Serena Release Management approach and solutions
Serena Release Management approach and solutionsSerena Release Management approach and solutions
Serena Release Management approach and solutions
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
 
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the EnterpriseChoosing Automation for DevOps & Continuous Delivery in the Enterprise
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 

Mais de IBM UrbanCode Products

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9IBM UrbanCode Products
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesIBM UrbanCode Products
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversalIBM UrbanCode Products
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...IBM UrbanCode Products
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureIBM UrbanCode Products
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at ScaleIBM UrbanCode Products
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeIBM UrbanCode Products
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeployIBM UrbanCode Products
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsIBM UrbanCode Products
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapIBM UrbanCode Products
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilIBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployIBM UrbanCode Products
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 

Mais de IBM UrbanCode Products (20)

Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
Using UrbanCode Deploy to Migrate to WebSphere Application Server Version 9
 
What's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode DeployWhat's New with IBM UrbanCode Deploy
What's New with IBM UrbanCode Deploy
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 
Using Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT ChallengesUsing Blueprints to Overcome Multi-speed IT Challenges
Using Blueprints to Overcome Multi-speed IT Challenges
 
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps:  Standardizing Chaotic Culture at NBCUniversalEfficient DevOps:  Standardizing Chaotic Culture at NBCUniversal
Efficient DevOps: Standardizing Chaotic Culture at NBCUniversal
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
The Future of DevOps and UrbanCode
The Future of DevOps and UrbanCodeThe Future of DevOps and UrbanCode
The Future of DevOps and UrbanCode
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 
Leading the Transformation: Applying DevOps and Agile Principles at Scale
Leading the Transformation:  Applying DevOps and Agile Principles at ScaleLeading the Transformation:  Applying DevOps and Agile Principles at Scale
Leading the Transformation: Applying DevOps and Agile Principles at Scale
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCodeContinuous Delivery in the Enterprise - with IBM UrbanCode
Continuous Delivery in the Enterprise - with IBM UrbanCode
 
Securing the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode DeploySecuring the Automation of Application Deployment with UrbanCode Deploy
Securing the Automation of Application Deployment with UrbanCode Deploy
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
UrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the DotsUrbanCode Deploy and Docker Containers Connect the Dots
UrbanCode Deploy and Docker Containers Connect the Dots
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't EvilBuilding a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 

Último

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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!
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Mastering Complex Application Deployments

  • 1. Mastering the Complex Application Deployment Eric Minick, Lead Consultant 1
  • 2. Your Deployments might be hard if…. • You have long deployment • The business complains about long outage windows • Numerous planning meetings • You spend all weekend at the office • Deployments are seen as risky • We celebrate when we are successful 2
  • 3. The Goal Production releases should be a non-event 3
  • 4. From “Hard” to a “Non-Event” • Why deployments are so complex • Where basic automation helps • Coordinating deployments • Increasing consistency 4
  • 5. From “Hard” to a “Non-Event” • Why deployments are so complex • Where basic automation helps • Coordinating deployments • Increasing consistency 5
  • 6. Modern systems have many pieces • Complex Architecture: Tiers, SOA, busses… • Inter-related systems mean changes have wide impact. 6 Image from ischool.tv
  • 7. Componentized applications are staying • Agile encourages smaller teams • Conway’s Law tells us that smaller teams, cooperating on a big system will produce more components. – And to deploy, we need all their expertise • 84% of Global 2000 using SOA by end of 2010 (Forrester) 7
  • 8. Lots of steps and people • Manual releases require lots of… – Steps to do the work – People to execute the steps – People on call to fix it when things break • Deployment document example from a Fortune 100 customer – ~15 components – 148 People – 600 lines in Excel • We’ve seen the 10,000 step deployment plan 8
  • 9. Our releases are inconsistent • Many components in the system, but they don’t change all at once – Most changes involve more than one, but less than all pieces • We write a new plan for each release 9
  • 10. From “Hard” to a “Non-Event” • Why deployments are so complex • Where basic automation helps • Coordinating deployments • Increasing consistency 10
  • 11. Automation is great… • A basic script can turn 10 steps into 1 or 2 steps. • Distributed workflow engines can easily model a component deployment • With environment modeling, you can consistently deploy through environments. 11
  • 12. Automation works with people • People are good at creative work and problem solving • People are bad at “consistency”. • Good plan: – People design automation and troubleshoot – Computer consistently runs a process. • See our webcast “Death to Manual Deployments” 12
  • 13. …but we still have a coordination problem • Distributed automation or runbook can deploy components or even systems • But what exactly do I deploy? What goes together? 13
  • 14. From “Hard” to a “Non-Event” • Why deployments are so complex • Where basic automation helps • Coordinating deployments • Increasing consistency 14
  • 15. How do we know what goes together? • We want: – Components with changes ready to release – No components with changes not ready – All components needed by the components we need (deployment dependencies) 15
  • 16. How do we know what goes together? • “All components needed by the components we need” is a tough requirement • Traditionally satisfied by asking Dev and trusting their omniscience • Works most of the time – Or we trust the ALM (Source + Bug Tracking) tools • Could work if people were perfectly disciplined • People are not 16
  • 17. How do we know what goes together? • Test it! – ALM tools and developer oral histories suggest what to test together – Once verified, the stuff in Test is the stuff we want in Production 17
  • 18. Model basedDeployment Strategy • Model the system in a test environment • Promote the model across environments • Model includes: – applications, app configuration, databases, infrastructure, settings – Aware of environment specifics as well 18
  • 19. Requirements for Model Promotion • Inventory – what is where • Recording inventory as a Model • Testing that we can trust 19
  • 20. Model Promotion: Inventory • To promote what is in Test to Production, we must know what is in test • To know the extent of the change, we must know what is in production • Inventory of all environments • What versions of each component make up the system • Where appropriate, treat configuration as a component • Bonus: Inventory helps with visibility and audit 20
  • 21. Model Promotion: Model Snapshots • Need to be able to snapshot the inventory to define a desired state • Approaches: – Spreadsheets listing component versions – Change management tickets with components as attachments – Build it into your deployment product (we did) 21
  • 22. Model Promotion: Testing we can trust • Testing validates compatibility • Must leave adequate time to test • With more automated tests, we can: – Test quicker – Test more creatively • Automated tests should run in ALL environments 22
  • 23. From “Hard” to a “Non-Event” • Why deployments are so complex • Where basic automation helps • Coordinating deployments • Increasing consistency 23
  • 24. Each deployment is different • Only a subset of components change in a release • Sometimes we change configuration 24
  • 25. Have a single deployment process • Define the process for releasing the entire system • Note which steps are associated with what components • Execute only the steps for the components that are changing (which your inventory tells you) 25
  • 26. Relentlessly remove variation • Developers and architects contribute to repeatable releases • “Special” events (like adding a new data stream) must fit into any automation or defined process 26
  • 27. Use the same process in Test and Live • The earlier the process is used, the better – It will be tested more – Earlier environments have less tolerance for slowness • The process or automation must take into account environmental differences 27
  • 28. Key Takeaways 1. Releases are complex, and the business needs them done rapidly 28
  • 29. Key Takeaways 1. Releases are complex, and the business needs them done rapidly 2. Traditional methods for determining what is released together should be used in Test 29
  • 30. Key Takeaways 1. Releases are complex, and the business needs them done rapidly 2. Traditional methods for determining what is released together should be used in Test 3. Only components tested together should be released together 30
  • 31. Key Takeaways 1. Releases are complex, and the business needs them done rapidly 2. Traditional methods for determining what is released together should be used in Test 3. Only components tested together should be released together 4. Simple deployment automation is very helpful, but coordination is key 31
  • 32. Key Takeaways 1. Releases are complex, and the business needs them done rapidly 2. Traditional methods for determining what is released together should be used in Test 3. Only components tested together should be released together 4. Simple deployment automation is very helpful, but coordination is key 5. Getting this right is easier if you have help from developers, testers, operations and release management 32
  • 33. References http://urbancode.com/resources • Death to Manual Deployments! • Build & Deployment Automation for the Lean Economy • ITIL Release Management and Automation Urbancode.com/blogs/ Twitter.com/UrbanCodeSoft Facebook.com/UrbanCodeSoft 33
  • 34. Yes, UrbanCode sells products for this • AnthillPro is now the DevOps Platform • DevOps Platform – Automated build, test and deployment. Includes UrbanDeploy. • UrbanDeploy – Application Release Automation 34