Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Overview of DevOps

Avatar for Phil Huang Phil Huang
December 01, 2016

Overview of DevOps

Avatar for Phil Huang

Phil Huang

December 01, 2016
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. Summary © 2016 Edgecore Networks. All rights reserved. Subject to

    errors and misprints. | www.edge-core.com Overview of DevOps 01 04 02 Overview of NetDevOps 03 DevOps Case Studies
  2. Who am I? 3 © 2016 Edgecore Networks. All rights

    reserved | www.edge-core.com § Phil Huang § Edgecore SDN Solution Engineer § ONOS/CORD Ambassador § Familiar with § Open Source / DevOps / NetDevOps § SDN Open Source Committer § ONOS / Mininet / ONIE § Project § Global ONOS SDN-IP Deployment, Taiwan § GitHub § pichuang
  3. General Product Team 4 © 2016 Edgecore Networks. All rights

    reserved | www.edge-core.com Ref: http://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/ You QA/QC PM Operator
  4. Problem1: What’s wrong? 5 © 2016 Edgecore Networks. All rights

    reserved | www.edge-core.com Ref: http://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/
  5. Operator got… 6 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com Ref: VMWare ESX Host Purple Diagnostic Screen
  6. PM & QA think… 7 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com
  7. Problem 2: Lead time Too Long 9 © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com § Lead Time § Time between request to delivery ØThis is what customer sees § Cycle Time (or Process Time) § Time between production start to completion ØNot visible to customer Ref: http://www.slideshare.net/Managewell/lean-and-kanbanbased-software-development Time Request Delivery Production Start Lead Time Cycle Time
  8. No Value, No Revenue 10 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com
  9. Problem 3: Schedule Visibility 11 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com Result Visible Part Mindset Thinking Invisible Part Experience You Dirty work
  10. Problem 4: Human Error Race • 80% of outages impacting

    mission-critical services will be caused by people and process issue • 20% of those outages will be caused by change/configuration/release integration and hand-off issues © 2016 Edgecore Networks. All rights reserved | www.edge-core.com 12 Ref: http://www.slideshare.net/giganati/is-orchestration-the-next-big-thing-in-devops
  11. Problem 5: What happened in your system? 13 © 2016

    Edgecore Networks. All rights reserved | www.edge-core.com Administrator control via GUI and CLI Crontab from system Force majeure … Input Output
  12. Why DevOps? 14 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com § Collaboration § Developer + Operator § Reduce challenges related to Ops and Dev collaboration § Deployment § Minimize deployment related downtime § Minimize roll-backs of deployed application § Defect resolution § Minimize MTTR § Increase the ability to reproduce and fix defects MTTR = Mean Time To Resolution
  13. DevOps is about CALMS 15 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com §Culture § More communication with team member §Automation § The idea that you should program everything §Lean § Keeping everything to a minimum §Measurement § Try to have visibility into everything §Sharing § Regular exchanging of ideas across team
  14. Culture 16 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com More Feedback Communication Automation
  15. Culture 17 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com Waterfall Plan Code Build Test Release Deploy Operate Time Plan Code Build Test Release Plan Code Build Test Release Plan Code Build Test Release Agile
  16. Automation 18 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com § DevOps Lifecycle Plan Code Build Test Release Deploy Operate Monitoring Metrics Analytics Feedback
  17. Automation 19 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com Plan Commit Build Test Release Deploy Operate Monitoring Metrics Analytics Feedback Continuous Integration Continuous Delivery
  18. Lean 20 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com §MVP ( Minimal Viable Product ) § Set a goal § Minimum cost § Time, Money…etc § Feedback from customer § Continual Improvement Ref: http://justinmcgill.net/product-idea-validation-dont-build-mvp/
  19. Lean 21 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com Ref: https://blog.engineyard.com/2015/actually-mvp
  20. Measurement 22 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com § Data collection § Syslog, performance data § Definition of measurement § Data visualization § A picture is worth a thousand words § Data analysis § Find business value
  21. Sharing 23 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com § Focus on communication § Any experiences for team ØFocus on people
  22. 2016 State of DevOps Report 24 © 2016 Edgecore Networks.

    All rights reserved | www.edge-core.com Ref: https://puppet.com/resources/white-paper/2016-state-devops-report/
  23. Periodic Table of DevOps Tools 25 © 2016 Edgecore Networks.

    All rights reserved | www.edge-core.com
  24. Develop workflow 26 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com You Workflow 1. Launch VM 2. Setting environment 3. Install applications 4. Quick start 5. Develop 6. Compile 7. Re-install application Choose Hypervisor, CPU, RAM, Disk size, location Bash, vim, dependency package View INSTALL file View README files View Developer’s Guide
  25. Develop workflow 27 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com You Workflow 1. Launch VM 2. Setting environment 3. Install applications 4. Quick start 5. Develop 6. Compile 7. Re-install application Choose Hypervisor, CPU, RAM, Disk size, location Bash, vim, dependency package View INSTALL file View README files View Developer’s Guide
  26. Baby Step 1 – Reduce Routine Manual Job $ cd

    $PROJECT_ROOT $ python setup.py build $ python setup.py install $ cd $WORK_ROOT $ ./service start • $ /usr/bin/rebuild.sh © 2016 Edgecore Networks. All rights reserved | www.edge-core.com 28 Manually One-Click #!/bin/bash set -x cd $PROJECT_ROOT python setup.py build python setup.py install cd $WORK_ROOT/service start
  27. Baby Step 2 – Version Control Everything • $ /usr/bin/rebuild.sh

    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com 29 #!/bin/bash set -x cd $PROJECT_ROOT echo “Start build” python setup.py build echo “Start install” python setup.py install cd $WORK_ROOT/service start
  28. Develop workflow 30 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com You Workflow 1. Launch VM 2. Setting environment 3. Install applications 4. Quick start 5. Develop 6. Compile 7. Re-install application Choose Hypervisor, CPU, RAM, Disk size, location Bash, vim, dependency package View INSTALL file View README files View Developer’s Guide
  29. Baby Step 3 – Packer + Vagrant 31 © 2016

    Edgecore Networks. All rights reserved | www.edge-core.com Provisioning Runtime VM
  30. Case Study - OpenSource Contribution Workflow 32 © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com Ref: http://docs.openstack.org/infra/manual/developers.html You
  31. Case Study - CISCO 35 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com Ref: http://www.slideshare.net/CiscoDevNet/enabing-devops-in-an-sdn-world
  32. Case Study - Spirent 36 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com Ref: http://dw.connect.sys-con.com/session/2779/Marc_Hornbeek.pdf
  33. Case Study – BigSwitch Chaos Monkey 37 © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com
  34. What is NetDevOps? 38 © 2016 Edgecore Networks. All rights

    reserved | www.edge-core.com § Infrastructure as Code (IaC) § Bare Metal network § VM network § Container network Ø Configuration Management § Network automation ØRapid provisioning
  35. Traditional Networking Methodology 39 © 2016 Edgecore Networks. All rights

    reserved | www.edge-core.com § Logging in manually with a password § Typing commands § Copy and paste over console or terminal § Check, check and check..
  36. Step 1: Using Git & GitHub 40 © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com § Configuration file repository § File change and revision management § Build for teams to work the same files
  37. Step 2: Commit Your Configuration 41 © 2016 Edgecore Networks.

    All rights reserved | www.edge-core.com $ git add . $ git commit -a -m "Add new switch configuration" –s [master 8cf8a38] Add new switch configuration 1 file changed, 1 insertion(+) create mode 100644 ofswitch.conf $ git push -u origin master
  38. Show Changes In Action 42 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com
  39. Blame someone 43 © 2016 Edgecore Networks. All rights reserved

    | www.edge-core.com $ git blame ofswitch.conf 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 1) Phil Huang 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 2) is a 60643262 (Phil Huang 2016-12-01 15:00:51 +0800 3) good 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 4) man
  40. Step 3: Choose CM 44 © 2016 Edgecore Networks. All

    rights reserved | www.edge-core.com
  41. Step 4: Templatize Configuration Files 46 © 2016 Edgecore Networks.

    All rights reserved | www.edge-core.com § Let you reuse code snippets § Avoid human error and typos Ref: https://github.com/CumulusNetworks/cldemo-netq-l3
  42. Step 5: Virtualize Copy of Network 47 © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com
  43. Step 6: Continuous Integrations System 48 © 2016 Edgecore Networks.

    All rights reserved | www.edge-core.com § Catch error or typos early § Make sure all of the setting is same as production
  44. Summary 49 © 2016 Edgecore Networks. All rights reserved |

    www.edge-core.com § More communication § Get early feedback § Automate everything § Version control § Visibility
  45. 51 Open Networking from Freedom Control Innovation © 2016 Edgecore

    Networks. All rights reserved | www.edge-core.com