$30 off During Our Annual Pro Sale. View Details »

Overview of DevOps

Phil Huang
December 01, 2016

Overview of DevOps

Phil Huang

December 01, 2016
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. Overview of DevOps
    Phil Huang
    SDN Solution Engineer, Edgecore Networks Corporation
    Dec 1, 2016

    View Slide

  2. 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

    View Slide

  3. 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

    View Slide

  4. 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

    View Slide

  5. 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/

    View Slide

  6. Operator got…
    6
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com
    Ref: VMWare ESX Host Purple Diagnostic Screen

    View Slide

  7. PM & QA think…
    7
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  8. You think…
    8
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  9. 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

    View Slide

  10. No Value, No Revenue
    10
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  11. 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

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 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

    View Slide

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

    View Slide

  17. 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

    View Slide

  18. 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

    View Slide

  19. 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

    View Slide

  20. 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/

    View Slide

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

    View Slide

  22. 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

    View Slide

  23. Sharing
    23
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com
    § Focus on communication
    § Any experiences for team
    ØFocus on people

    View Slide

  24. 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/

    View Slide

  25. Periodic Table of DevOps Tools
    25
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  26. 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

    View Slide

  27. 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

    View Slide

  28. 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

    View Slide

  29. 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

    View Slide

  30. 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

    View Slide

  31. Baby Step 3 – Packer + Vagrant
    31
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com
    Provisioning
    Runtime VM

    View Slide

  32. 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

    View Slide

  33. Gerrit Code Review
    33
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  34. Jenkins
    34
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  35. 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

    View Slide

  36. 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

    View Slide

  37. Case Study – BigSwitch Chaos Monkey
    37
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  38. 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

    View Slide

  39. 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..

    View Slide

  40. 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

    View Slide

  41. 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

    View Slide

  42. Show Changes In Action
    42
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  43. 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

    View Slide

  44. Step 3: Choose CM
    44
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  45. Ansible Network Modules
    45
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  46. 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

    View Slide

  47. Step 5: Virtualize Copy of Network
    47
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  48. 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

    View Slide

  49. Summary
    49
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com
    § More communication
    § Get early feedback
    § Automate everything
    § Version control
    § Visibility

    View Slide

  50. Recommend Books
    50
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  51. 51
    Open Networking
    from
    Freedom
    Control
    Innovation
    © 2016 Edgecore Networks. All rights reserved | www.edge-core.com

    View Slide

  52. © 2015 Edgecore Networks. All rights reserved. Subject to errors and misprints. | www.edge-core.com

    View Slide