Click here to load reader

The Agile App Developer’s Guide to Success with to Success with DevOps Tooling or, ... likely no QA team Fast, ... The Agile App Developer’s Guide to Success with

  • View
    214

  • Download
    1

Embed Size (px)

Text of The Agile App Developer’s Guide to Success with to Success with DevOps Tooling or, ......

  • The Agile App Developers

    Guide to Success

    with DevOps Tooling

    or, What on Earth was I thinking

    when I named this?

  • About Me

    Markus Silpala

    @msilpala

    markus@silpala.com

    Developer, Instructor, Coach, Architect,

    DevOps Engineer

    Software Maker

    mailto:markus@silpala.com

  • How About You?

  • The Agile App Developers

    Guide to Success

    with DevOps Tooling

  • Agile App Developer

    Cross-functional and co-located

    Pairing or tight collaboration

    Test-Driven Development (TDD)

    Lots of testing; likely no QA team

    Fast, frequent builds

    Separate ops group does deployments and admin

  • Working this way is AWESOME

  • Awesome ToolsVersion Control (often GitHub these days)

    Automated testing frameworks

    IDEs with refactoring and auto-completion

    Continuous Integration (CI) servers

    Build and dependency tools (kind-of awesome)

    Easy, consistent workstation setup

  • Awesome Practices

    Pairing (or maybe rapid fork-pull cycles)

    Collective code ownership

    TDD, BDD, and/or ATDD

    User stories and customer collaboration

    Frequent builds and/or releases

  • The Agile App Developers

    Guide to Success

    with DevOps Tooling

  • Here comes DevOpsor,

    Agile Infrastructure

  • Awesome Tools!

    Version Control (usually GitHub)

    Infrastructure automation (e.g. chef)

    Clouds of API-driven virtual machines

    Test automation frameworks (e.g. ChefSpec)

    CI Servers

    Dependency-management tools (e.g. berkshelf)

  • Awesome Practices!

    Pairing? Frequent fork-pull cycles, at least

    Collective Ownership probably

    Automated Builds

    Continuous Integration at least in some parts

  • And yet...

  • After going agile, no one ever asks for their requirements or testing silos back.

    Yet I have seen two very capable teams ask for their ops silos.

    Other colleagues have shares similar stories with me.

    After a while, the Java devs dont want anything to do with Chef.

  • Why?

    Immature tooling (relatively)

    Unfamiliar skill areas for a lot of app devs

    Much slower build automation

    More complex interactions across components.

    Uncomfortable time requirements (i.e. on call)

  • The Agile App Developers

    Guide to Success

    with DevOps Tooling

  • Unfamiliar tool space

    Linux: RHEL vs CentOS vs Ubuntu vs Debian

    Networking: DNS, TCP, UDP, interfaces, ports, routes

    Installation: source vs binary tarball vs package

    Services, processes, logging, CPU, RAM

    SSH, tunnels, private/public keys

  • Unfamiliar tool space

    Embed an ops person on the dev team

    Find some devs who do know these things

    Train or mentor the devs that you have

  • Workstations hard to set up consistently

    Document the exact steps used to set up a dev machine.

    Keep those docs up to date!

    Better: automate the setup.

  • Hard to test infra

    ChefSpec (if you're using Chef)

    ServerSpec

    Test Kitchen

    bats

    Self-testing builds

  • Long feedback loops

    http://xkcd.com/303/

    https://xkcd.com/303/

  • Long feedback loops

    Use ChefSpec and vagrant for local testing

    Use a local repository for any installation binaries

    Pre-build VM images with base installations in place

    Use a container system such as Docker

  • Dependencies are harder

    Try Puppet instead

    Try Ansible instead (python + ssh)

  • Devs just want to code

    Ops proficiency is the new testing

    Ensure they have the help (and time) they need to succeed in the infra space

    Embed an ops person on the dev team

    At least make sure they know each other's pain

  • These waters are still being charted

  • Questions?

    Markus Silpala @msilpala markus@silpala.com

    mailto:markus@silpala.com

  • Mini-RetrospectiveHow good a use of your hour was this session?

    (5) Best use of the last hour that I can think of

    (4) Highly valuable use of my time

    (3) Valuable

    (2) Meh

    (1) I wish I had left early

  • Thank You!

    Markus Silpala @msilpala markus@silpala.com

    mailto:markus@silpala.com

Search related