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

Effectively Culturing a Healthy Culture and Wor...

Effectively Culturing a Healthy Culture and Workflow - DevOps Days Tel Aviv 2016

Jeff Pierce

December 12, 2016
Tweet

More Decks by Jeff Pierce

Other Decks in Programming

Transcript

  1. About Jeff • Stints at Apple, Rackspace, and change.org •

    Project Lead and Developer on Cassabon (https:// github.com/jeffpierce/ cassabon) • Blogs infrequently at almostinteresting.net
  2. Culture and Workflow • Personal Responsibility • Choose an application

    architecture philosophy and stick to it! • Make important decisions before you’re under fire
  3. Culture and Workflow • Personal Responsibility • Choose an application

    architecture philosophy and stick to it! • Make important decisions before you’re under fire • Use existing tools whenever possible
  4. Personal Responsibility • Developers deploy their own code • Requires

    a strong CI/CD toolchain to get code checked and deployed fast
  5. Personal Responsibility • Developers deploy their own code • Requires

    a strong CI/CD toolchain to get code checked and deployed fast • Requires a robust infrastructure plan that makes rolling back bad deploys easy — like immutable servers!
  6. Personal Responsibility • All Hands Pager! • Requires a strong

    set of runbooks for troubleshooting • Spreads around the pain of on-call duty
  7. Personal Responsibility • All Hands Pager! • Requires a strong

    set of runbooks for troubleshooting • Spreads around the pain of on-call duty • It helps to have a common architecture philosophy to make troubleshooting individual applications easier…
  8. Pick an application architecture philosophy…and stick with it! • 12

    Factor App (https://12factor.net) • Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; • Have a clean contract with the underlying operating system, offering maximum portability between execution environments; • Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; • Minimize divergence between development and production, enabling continuous deployment for maximum agility; • And can scale up without significant changes to tooling, architecture, or development practices
  9. Pick an application architecture philosophy…and stick with it! • Makes

    on-boarding new engineers faster! • Makes tooling more portable/reusable
  10. Pick an application architecture philosophy…and stick with it! • Makes

    on-boarding new engineers faster! • Makes tooling more portable/reusable • Makes planning for new applications and microservices a breeze!
  11. Make decisions when you aren’t under fire! • Mistakes are

    made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis
  12. Make decisions when you aren’t under fire! • Mistakes are

    made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell
  13. Make decisions when you aren’t under fire! • Mistakes are

    made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell • DevOps/Infrastructure teams: Sit in on feature planning!
  14. Make decisions when you aren’t under fire! • Mistakes are

    made when planning is rushed • Plan your objectives on a yearly, quarterly, and per- sprint basis • Write runbooks to remove the amount of thought required at 03:25 and it all goes to hell • DevOps/Infrastructure teams: Sit in on feature planning! • Be proactive, not reactive.
  15. Use existing tools when possible • Using tools your company

    already uses… • Reduces training • Requires less engineering
  16. Use existing tools when possible • Using tools your company

    already uses… • Reduces training • Requires less engineering • Saves time and money
  17. Be the change you want to see! Or, how do

    I actually get all this in place?!
  18. Be the change you want to see • Find a

    compelling story • Identify key stakeholders
  19. Be the change you want to see • Find a

    compelling story • Identify key stakeholders • Engage those key stakeholders
  20. Be the change you want to see • Find a

    compelling story • Identify key stakeholders • Engage those key stakeholders • Make a business case
  21. Be the change you want to see • Find a

    compelling story • Identify key stakeholders • Engage those key stakeholders • Make a business case • Prototype your plan