SlideShare a Scribd company logo
1 of 52
Download to read offline
http://shipitsquirrel.github.com/

Monday, 30 April 12
DevOps
                                   &
                            Infrastructure
                               As Code
                      Gavin Heavyside - ACCU 2012 - 27 April 2012
                        gavin@heavyside.co.uk @gavinheavyside
Monday, 30 April 12
Getting Software
                           Into Production

                      • Deliver value to customers
                      • New features
                      • Bug fixes


Monday, 30 April 12
Software Releases

                      • QA cycle
                      • Downtime during deploy
                      • Out-of-hours
                      • Stress
                      • Risk

Monday, 30 April 12
“The Cloud”

                      • Virtualisation & Cloud IaaS lowered cost of
                        entry for businesses
                      • No hardware, but still sysadmin tasks
                      • Small companies get big company issues


Monday, 30 April 12
Agile Infrastructure

                      • New technologies iterate fast
                      • Changing platform requirements
                      • Cutting-edge vs tried-and-tested


Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
• www.mydrivesolutions.com
                      • Insurance telematics
                      • Linux, chef, GIS, Ruby, Rails, SQL, NoSQL,
                        AWS, C++


Monday, 30 April 12
Monday, 30 April 12
DevOps

                      • Name invented around 2009
                      • DevOps Days around the world
                      • Making releases easier through
                        collaboration and automation




Monday, 30 April 12
Development

                      • Driven by functional requirements
                       • Business needs
                       • Features
                      • Working on desktop OS
                      • Local configuration & settings

Monday, 30 April 12
Operations

                      • Driven by non-functional requirements
                       • Stability
                       • Performance
                       • Monitoring & Alerting
                       • Minimising operational risk

Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
Infrastructure As Code
                      • Repeatability
                      • Automation
                      • Agility
                      • Scalability
                      • Reassurance
                      • Disaster Recovery
Monday, 30 April 12
Infrastructure As Code

                      • “Break the infrastructure down into
                        independent, reusable, network-accessible
                        services.

                        Integrate these services in such a way as to
                        produce the functionality your
                        infrastructure requires” - Adam Jacob



Monday, 30 April 12
Key Principles

                      • Modularity
                      • Cooperation
                      • Composability
                      • Extensibility
                      • Flexibility

Monday, 30 April 12
Key Principles

                      • Repeatability
                      • Declaration
                      • Abstraction
                      • Idempotence
                      • Convergence

Monday, 30 April 12
Chef vs Puppet
                      A Battle To The Death?




Monday, 30 April 12
Chef
                      • Open-Source Configuration Management
                      • Developed by Opscode
                      • Solo, Server, Hosted



Monday, 30 April 12
Chef
                      • Scriptable, repeatable systems
                      • Write cookbooks containing recipes
                      • resources, attributes, data bags



Monday, 30 April 12
Cookbooks & Recipes
                      • Cookbooks are the canonical unit of
                        distribution & sharing in Chef
                      • Cookbooks contain
                       • Recipes
                       • Attributes
                       • Templates & Files
Monday, 30 April 12
Attributes

                      • Every node has attributes
                      • Saved on Chef server
                      • Updated each chef-client run
                      • Cookbooks specify default attributes
                       • Override per-role and/or per-node

Monday, 30 April 12
Roles


                      • Roles contain other roles and recipes
                      • Define what you want your node to be


Monday, 30 April 12
Monday, 30 April 12
Data Bags




Monday, 30 April 12
Using a Data Bag




Monday, 30 April 12
Chef Server




Monday, 30 April 12
Knife

                      • command line tool to interact with Chef
                      • manage cookbooks, roles, data bags
                      • Search nodes
                      • Bootstrap nodes
                      • Plugins to manage cloud servers

Monday, 30 April 12
Keeping nodes
                               up to date
                      • Run chef-client as a service
                      • Updated a cookbook?
                       • Applied to all nodes automatically



Monday, 30 April 12
Test-Driving
                              Infrastructure
                      • http://www.cucumber-chef.org/
                      • https://github.com/Atalanta/cucumber-chef




Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
Monday, 30 April 12
Vagrant

                      • http://vagrantup.com
                      • Lightweight, reproducible, portable VMs
                      • Configure with Puppet, Chef & others
                      • Package boxes for others to use

Monday, 30 April 12
Live Demo




Monday, 30 April 12
Monday, 30 April 12
NoOps


                      • PaaS
                      • Heroku, Elastic Beanstalk, etc


Monday, 30 April 12
Monitoring & Alerting

                      • Nagios, greylog2 etc
                      • Hosted options
                      • #monitoringsucks


Monday, 30 April 12
Metrics

                      • “If you can’t measure it, it doesn’t exist”
                      • Track performance
                      • Critical counters
                      • Report against SLAs
                      • Identify problems & bottlenecks

Monday, 30 April 12
Metrics
                      • Statsd, Graphite




Monday, 30 April 12
Monday, 30 April 12
Communicate




Monday, 30 April 12
Communicate




Monday, 30 April 12
Zero-Downtime
                              Deploys
                      • Deploy updated code
                      • Graceful restarts
                      • Allow existing processes/requests to
                        complete
                      • New requests get processed by updated
                        code


Monday, 30 April 12
Configuration


                      • The configuration of an environment is as
                        important as the code
                      • Settings, values, ordering


Monday, 30 April 12
Database Schemas


                      • Make your db migrations non-destructive
                      • Update the schema before deploying code


Monday, 30 April 12
• https://github.com/mydrive/capistrano-
                        deploytags




                      • https://github.com/mydrive/capistrano-
                        detect-migrations




Monday, 30 April 12
Recap

                      • Bridge the gap between dev & ops
                      • Put your infrastructure in source control
                      • De-risk deploys by doing lots of them
                      • Automate everything

Monday, 30 April 12
@gavinheavyside
   gavin@heavyside.co.uk

Monday, 30 April 12

More Related Content

Viewers also liked

Father’s Day Sermon 17th June 2012
Father’s Day Sermon 17th June 2012Father’s Day Sermon 17th June 2012
Father’s Day Sermon 17th June 2012SSMC
 
True Submission
True  SubmissionTrue  Submission
True SubmissionFanar
 
Audience Evaluation
Audience EvaluationAudience Evaluation
Audience Evaluationguest743866
 
Jhonner rondon informatica tema vi
Jhonner rondon informatica tema viJhonner rondon informatica tema vi
Jhonner rondon informatica tema vijhonner Rondon
 
Margarita Carranza Torres N L 5
Margarita Carranza Torres N L 5Margarita Carranza Torres N L 5
Margarita Carranza Torres N L 5piolinsita
 
PERFIL ALUMNE DEL SEFED
PERFIL ALUMNE DEL SEFEDPERFIL ALUMNE DEL SEFED
PERFIL ALUMNE DEL SEFEDfjsa2sa4
 
前端工程與Rwd _ 中原大學資管系
前端工程與Rwd _ 中原大學資管系前端工程與Rwd _ 中原大學資管系
前端工程與Rwd _ 中原大學資管系彭其捷 Jack
 
04 17 kingdom restoration
04 17 kingdom restoration04 17 kingdom restoration
04 17 kingdom restorationSSMC
 
Maximize How You Individualize: because the Journey and Outcome Matter
Maximize How You Individualize: because the Journey and Outcome Matter  Maximize How You Individualize: because the Journey and Outcome Matter
Maximize How You Individualize: because the Journey and Outcome Matter Nicholas Kontopoulos
 
致勝談領導八金律
致勝談領導八金律致勝談領導八金律
致勝談領導八金律彭其捷 Jack
 
Fotos Articulos 2
Fotos Articulos 2Fotos Articulos 2
Fotos Articulos 2Omayra
 
Raising godly children 19 jun 15
Raising godly children 19 jun 15Raising godly children 19 jun 15
Raising godly children 19 jun 15SSMC
 
De eerste echte update
De eerste echte updateDe eerste echte update
De eerste echte updateMirne
 
Fotos de Articulos 1
Fotos de Articulos 1Fotos de Articulos 1
Fotos de Articulos 1Omayra
 
03 23 a day of applause
03 23 a day of applause03 23 a day of applause
03 23 a day of applauseSSMC
 
The messianic prophecies victor g sermon 24 jan16
The messianic prophecies   victor g sermon 24 jan16The messianic prophecies   victor g sermon 24 jan16
The messianic prophecies victor g sermon 24 jan16SSMC
 
Tourist attractions
Tourist attractionsTourist attractions
Tourist attractionsmaucgg80
 

Viewers also liked (18)

Father’s Day Sermon 17th June 2012
Father’s Day Sermon 17th June 2012Father’s Day Sermon 17th June 2012
Father’s Day Sermon 17th June 2012
 
True Submission
True  SubmissionTrue  Submission
True Submission
 
Audience Evaluation
Audience EvaluationAudience Evaluation
Audience Evaluation
 
Jhonner rondon informatica tema vi
Jhonner rondon informatica tema viJhonner rondon informatica tema vi
Jhonner rondon informatica tema vi
 
Kenkuli
KenkuliKenkuli
Kenkuli
 
Margarita Carranza Torres N L 5
Margarita Carranza Torres N L 5Margarita Carranza Torres N L 5
Margarita Carranza Torres N L 5
 
PERFIL ALUMNE DEL SEFED
PERFIL ALUMNE DEL SEFEDPERFIL ALUMNE DEL SEFED
PERFIL ALUMNE DEL SEFED
 
前端工程與Rwd _ 中原大學資管系
前端工程與Rwd _ 中原大學資管系前端工程與Rwd _ 中原大學資管系
前端工程與Rwd _ 中原大學資管系
 
04 17 kingdom restoration
04 17 kingdom restoration04 17 kingdom restoration
04 17 kingdom restoration
 
Maximize How You Individualize: because the Journey and Outcome Matter
Maximize How You Individualize: because the Journey and Outcome Matter  Maximize How You Individualize: because the Journey and Outcome Matter
Maximize How You Individualize: because the Journey and Outcome Matter
 
致勝談領導八金律
致勝談領導八金律致勝談領導八金律
致勝談領導八金律
 
Fotos Articulos 2
Fotos Articulos 2Fotos Articulos 2
Fotos Articulos 2
 
Raising godly children 19 jun 15
Raising godly children 19 jun 15Raising godly children 19 jun 15
Raising godly children 19 jun 15
 
De eerste echte update
De eerste echte updateDe eerste echte update
De eerste echte update
 
Fotos de Articulos 1
Fotos de Articulos 1Fotos de Articulos 1
Fotos de Articulos 1
 
03 23 a day of applause
03 23 a day of applause03 23 a day of applause
03 23 a day of applause
 
The messianic prophecies victor g sermon 24 jan16
The messianic prophecies   victor g sermon 24 jan16The messianic prophecies   victor g sermon 24 jan16
The messianic prophecies victor g sermon 24 jan16
 
Tourist attractions
Tourist attractionsTourist attractions
Tourist attractions
 

Similar to DevOps at ACCU 2012

Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Ontico
 
Automated Testing with Databases
Automated Testing with DatabasesAutomated Testing with Databases
Automated Testing with DatabasesStephen Ritchie
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistAcquia
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory OverviewArnaud Héritier
 
Ciso executive summit 2012
Ciso executive summit 2012Ciso executive summit 2012
Ciso executive summit 2012Bill Burns
 
MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010Ivan Zoratti
 
The Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesThe Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesVardot
 
Cloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesCloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesRobin Howlett
 
Choosing a backend for your mobile app? Don’t roll the dice!
Choosing a backend for your mobile app? Don’t roll the dice!Choosing a backend for your mobile app? Don’t roll the dice!
Choosing a backend for your mobile app? Don’t roll the dice!Codemotion
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudJames Casey
 
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterA Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterJohn McCaffrey
 
Drupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentDrupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentAttila Cs. Nagy
 
Availability, the Cloud and Everything
Availability, the Cloud and EverythingAvailability, the Cloud and Everything
Availability, the Cloud and Everythinglogicalstack
 
Puppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningDavide Mauri
 
Sharpen your axe drupal concph 2010
Sharpen your axe drupal concph 2010Sharpen your axe drupal concph 2010
Sharpen your axe drupal concph 2010Simon Surtees
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionJazkarta, Inc.
 

Similar to DevOps at ACCU 2012 (20)

Iterating Plone
Iterating PloneIterating Plone
Iterating Plone
 
Practical CQRS
Practical CQRSPractical CQRS
Practical CQRS
 
Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)
 
Automated Testing with Databases
Automated Testing with DatabasesAutomated Testing with Databases
Automated Testing with Databases
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type Checklist
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
Ciso executive summit 2012
Ciso executive summit 2012Ciso executive summit 2012
Ciso executive summit 2012
 
MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010
 
The Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesThe Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal Services
 
Cloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesCloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web Services
 
Choosing a backend for your mobile app? Don’t roll the dice!
Choosing a backend for your mobile app? Don’t roll the dice!Choosing a backend for your mobile app? Don’t roll the dice!
Choosing a backend for your mobile app? Don’t roll the dice!
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the Cloud
 
Theory of Constraints
Theory of ConstraintsTheory of Constraints
Theory of Constraints
 
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterA Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
 
Drupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentDrupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven Development
 
Availability, the Cloud and Everything
Availability, the Cloud and EverythingAvailability, the Cloud and Everything
Availability, the Cloud and Everything
 
Puppet Camp London 2014: Keynote
Puppet Camp London 2014: KeynotePuppet Camp London 2014: Keynote
Puppet Camp London 2014: Keynote
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Sharpen your axe drupal concph 2010
Sharpen your axe drupal concph 2010Sharpen your axe drupal concph 2010
Sharpen your axe drupal concph 2010
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel Discussion
 

More from Gavin Heavyside

Location Location Location
Location Location LocationLocation Location Location
Location Location LocationGavin Heavyside
 
Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Gavin Heavyside
 
Coding Dojo - Surrey Rubyists #2 - 26 April 2011
Coding Dojo - Surrey Rubyists #2 - 26 April 2011Coding Dojo - Surrey Rubyists #2 - 26 April 2011
Coding Dojo - Surrey Rubyists #2 - 26 April 2011Gavin Heavyside
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Gavin Heavyside
 
Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Gavin Heavyside
 

More from Gavin Heavyside (6)

Docker at ACCU2015
Docker at ACCU2015Docker at ACCU2015
Docker at ACCU2015
 
Location Location Location
Location Location LocationLocation Location Location
Location Location Location
 
Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010
 
Coding Dojo - Surrey Rubyists #2 - 26 April 2011
Coding Dojo - Surrey Rubyists #2 - 26 April 2011Coding Dojo - Surrey Rubyists #2 - 26 April 2011
Coding Dojo - Surrey Rubyists #2 - 26 April 2011
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
 
Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010Introduction to Hadoop - ACCU2010
Introduction to Hadoop - ACCU2010
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

DevOps at ACCU 2012

  • 2. DevOps & Infrastructure As Code Gavin Heavyside - ACCU 2012 - 27 April 2012 gavin@heavyside.co.uk @gavinheavyside Monday, 30 April 12
  • 3. Getting Software Into Production • Deliver value to customers • New features • Bug fixes Monday, 30 April 12
  • 4. Software Releases • QA cycle • Downtime during deploy • Out-of-hours • Stress • Risk Monday, 30 April 12
  • 5. “The Cloud” • Virtualisation & Cloud IaaS lowered cost of entry for businesses • No hardware, but still sysadmin tasks • Small companies get big company issues Monday, 30 April 12
  • 6. Agile Infrastructure • New technologies iterate fast • Changing platform requirements • Cutting-edge vs tried-and-tested Monday, 30 April 12
  • 10. • www.mydrivesolutions.com • Insurance telematics • Linux, chef, GIS, Ruby, Rails, SQL, NoSQL, AWS, C++ Monday, 30 April 12
  • 12. DevOps • Name invented around 2009 • DevOps Days around the world • Making releases easier through collaboration and automation Monday, 30 April 12
  • 13. Development • Driven by functional requirements • Business needs • Features • Working on desktop OS • Local configuration & settings Monday, 30 April 12
  • 14. Operations • Driven by non-functional requirements • Stability • Performance • Monitoring & Alerting • Minimising operational risk Monday, 30 April 12
  • 17. Infrastructure As Code • Repeatability • Automation • Agility • Scalability • Reassurance • Disaster Recovery Monday, 30 April 12
  • 18. Infrastructure As Code • “Break the infrastructure down into independent, reusable, network-accessible services. Integrate these services in such a way as to produce the functionality your infrastructure requires” - Adam Jacob Monday, 30 April 12
  • 19. Key Principles • Modularity • Cooperation • Composability • Extensibility • Flexibility Monday, 30 April 12
  • 20. Key Principles • Repeatability • Declaration • Abstraction • Idempotence • Convergence Monday, 30 April 12
  • 21. Chef vs Puppet A Battle To The Death? Monday, 30 April 12
  • 22. Chef • Open-Source Configuration Management • Developed by Opscode • Solo, Server, Hosted Monday, 30 April 12
  • 23. Chef • Scriptable, repeatable systems • Write cookbooks containing recipes • resources, attributes, data bags Monday, 30 April 12
  • 24. Cookbooks & Recipes • Cookbooks are the canonical unit of distribution & sharing in Chef • Cookbooks contain • Recipes • Attributes • Templates & Files Monday, 30 April 12
  • 25. Attributes • Every node has attributes • Saved on Chef server • Updated each chef-client run • Cookbooks specify default attributes • Override per-role and/or per-node Monday, 30 April 12
  • 26. Roles • Roles contain other roles and recipes • Define what you want your node to be Monday, 30 April 12
  • 29. Using a Data Bag Monday, 30 April 12
  • 31. Knife • command line tool to interact with Chef • manage cookbooks, roles, data bags • Search nodes • Bootstrap nodes • Plugins to manage cloud servers Monday, 30 April 12
  • 32. Keeping nodes up to date • Run chef-client as a service • Updated a cookbook? • Applied to all nodes automatically Monday, 30 April 12
  • 33. Test-Driving Infrastructure • http://www.cucumber-chef.org/ • https://github.com/Atalanta/cucumber-chef Monday, 30 April 12
  • 37. Vagrant • http://vagrantup.com • Lightweight, reproducible, portable VMs • Configure with Puppet, Chef & others • Package boxes for others to use Monday, 30 April 12
  • 40. NoOps • PaaS • Heroku, Elastic Beanstalk, etc Monday, 30 April 12
  • 41. Monitoring & Alerting • Nagios, greylog2 etc • Hosted options • #monitoringsucks Monday, 30 April 12
  • 42. Metrics • “If you can’t measure it, it doesn’t exist” • Track performance • Critical counters • Report against SLAs • Identify problems & bottlenecks Monday, 30 April 12
  • 43. Metrics • Statsd, Graphite Monday, 30 April 12
  • 47. Zero-Downtime Deploys • Deploy updated code • Graceful restarts • Allow existing processes/requests to complete • New requests get processed by updated code Monday, 30 April 12
  • 48. Configuration • The configuration of an environment is as important as the code • Settings, values, ordering Monday, 30 April 12
  • 49. Database Schemas • Make your db migrations non-destructive • Update the schema before deploying code Monday, 30 April 12
  • 50. • https://github.com/mydrive/capistrano- deploytags • https://github.com/mydrive/capistrano- detect-migrations Monday, 30 April 12
  • 51. Recap • Bridge the gap between dev & ops • Put your infrastructure in source control • De-risk deploys by doing lots of them • Automate everything Monday, 30 April 12
  • 52. @gavinheavyside gavin@heavyside.co.uk Monday, 30 April 12