Skip to content

Instantly share code, notes, and snippets.

@inkflow
Forked from jpswade/devops_best_practices.md
Last active February 6, 2024 07:36
Show Gist options
  • Select an option

  • Save inkflow/e045d2f8e02d054605cef98890e0f340 to your computer and use it in GitHub Desktop.

Select an option

Save inkflow/e045d2f8e02d054605cef98890e0f340 to your computer and use it in GitHub Desktop.

Revisions

  1. inkflow revised this gist Jun 5, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ DevOps在不断演变。目前,DevOps[不存在认证、角色、系列工具

    <!--more-->

    _注:以下实践准则已经按它们最合适出现的阶段划分,以望读者能更容易地理解……虽然并不能保证这种划分一定准确
    _注:以下实践准则已经按它们最合适出现的阶段划分,以望读者能更容易地理解……虽然并不能保证这种划分一定准确_

    ## Waterfall to Agile

  2. inkflow revised this gist Jun 5, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -4,15 +4,15 @@ DevOps始于"[敏捷系统管理](https://blog.newrelic.com/2014/05/16/devops-na

    如今,DevOps的概念已经不止于开发、系统管理和基础,它包括[开发、运维、敏捷、云、开源和商业化](https://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/)等等。

    DevOps在不断演变。目前,DevOps[不存在认证、角色、系列工具或是固定流程](https://sites.google.com/a/jezhumble.net/devops-manifesto/)。没有规范,也不是一个产品或是职位的名称。没有一种权威的说法能定义DevOps是什么或不是什么。它关乎于态度、思想、习惯、行为、文化、范式、哲学。它是一种思考、行动、存在的方式。实践就是最好的布道。践行DevOps是一场对话,你将采取最佳的方式实践并将经验分享给他人。
    DevOps在不断演变。目前,DevOps[不存在认证、角色、系列工具或是固定流程](https://sites.google.com/a/jezhumble.net/devops-manifesto/)。没有规范也不是一个产品或是职位的名称。没有一种权威的说法能定义DevOps是什么或不是什么。它关乎于态度、思想、习惯、行为、文化、范式、哲学。它是一种思考、行动、存在的方式。实践就是最好的布道。践行DevOps是一场对话,你将采取最佳的方式实践并将经验分享给他人。

    以下有一些已经被验证有效的非常重要的质量标准、指导原则、技术要点,每个人都应该了解。从它们开始实践DevOps会是最好的尝试。

    开始学习吧!

    <!--more-->

    _Note: Though not necessarily accurate, the practices are broken down into their evolutionary stages to make it easier to digest..._
    _注:以下实践准则已经按它们最合适出现的阶段划分,以望读者能更容易地理解……虽然并不能保证这种划分一定准确

    ## Waterfall to Agile

  3. inkflow revised this gist Jun 5, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    DevOps始于"[敏捷系统管理](https://blog.newrelic.com/2014/05/16/devops-name/)"一文。 2008年, [安德鲁(Andrew Shafer)](https://twitter.com/littleidea)发表了["敏捷基础(Agile Infrastucture)"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) 的演讲,意图解决许多开发者和公司遇到的类似问题。

    2009年,[帕特里克(Patrick Debois)](https://twitter.com/patrickdebois)创立了"DevOpsDays"会议来推广DevOps的概念。然而,直到[2010年趋势](https://trends.google.co.uk/trends/explore?date=all&q=devops)一文发布,人们才开始把DevOps当成一项[独立的概念](http://www.somic.org/2010/03/02/the-rise-of-devops/)
    2009年,[帕特里克(Patrick Debois)](https://twitter.com/patrickdebois)创立了"DevOpsDays"会议来推广DevOps的概念。然而,直到谷歌发布[2010年趋势盘点](https://trends.google.co.uk/trends/explore?date=all&q=devops)一文后,人们才开始把DevOps当成一项[独立的概念](http://www.somic.org/2010/03/02/the-rise-of-devops/)

    如今,DevOps的概念已经不止于开发、系统管理和基础,它包括[开发、运维、敏捷、云、开源和商业化](https://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/)等等。

  4. inkflow revised this gist Jun 5, 2019. 1 changed file with 6 additions and 6 deletions.
    12 changes: 6 additions & 6 deletions devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,14 @@
    DevOps始于"[敏捷系统管理](https://blog.newrelic.com/2014/05/16/devops-name/)"一文。 2008年, [安德鲁(Andrew Shafer)](https://twitter.com/littleidea)发表了["敏捷基础(Agile Infrastucture)"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) 的演讲,意图解决许多开发者和公司遇到的类似问题。

    In 2009, [Patrick Debois](https://twitter.com/patrickdebois) created "DevOpsDays" conference to help to bring it to light. However, it wouldn't begin to [trend until about 2010](https://trends.google.co.uk/trends/explore?date=all&q=devops), when people would begin to describe it as a [standalone discipline](http://www.somic.org/2010/03/02/the-rise-of-devops/).
    2009年,[帕特里克(Patrick Debois](https://twitter.com/patrickdebois)创立了"DevOpsDays"会议来推广DevOps的概念。然而,直到[2010年趋势](https://trends.google.co.uk/trends/explore?date=all&q=devops)一文发布,人们才开始把DevOps当成一项[独立的概念](http://www.somic.org/2010/03/02/the-rise-of-devops/)

    Today, DevOps goes beyond just developers, systems administration and infrastructure, its about [dev, ops, agile, cloud, open source and business](https://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/), everything.
    如今,DevOps的概念已经不止于开发、系统管理和基础,它包括[开发、运维、敏捷、云、开源和商业化](https://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/)等等。

    DevOps is a movement. There's [no certificate, role, set of tools or prescriptive process](https://sites.google.com/a/jezhumble.net/devops-manifesto/). There's no specification, it's not a product, or job title. There's no one true voice on what DevOps is or isn't. It's about attitude, ideas, customs and behaviours. Culture, paradigms and philosophy. It's a way of thinking, a way of doing and a way of being. Practicing as well as preaching. It's a conversation. It's about taking the best experiences and sharing those with others.
    DevOps在不断演变。目前,DevOps[不存在认证、角色、系列工具或是固定流程](https://sites.google.com/a/jezhumble.net/devops-manifesto/)。没有规范,也不是一个产品或是职位的名称。没有一种权威的说法能定义DevOps是什么或不是什么。它关乎于态度、思想、习惯、行为、文化、范式、哲学。它是一种思考、行动、存在的方式。实践就是最好的布道。践行DevOps是一场对话,你将采取最佳的方式实践并将经验分享给他人。

    There are some very important qualities, principles and techniques that have proven to work, that everyone should be aware of, they are the best practices.
    Let's explore those...
    以下有一些已经被验证有效的非常重要的质量标准、指导原则、技术要点,每个人都应该了解。从它们开始实践DevOps会是最好的尝试。

    开始学习吧!

    <!--more-->

  5. inkflow revised this gist Jun 5, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    DevOps始于"[敏捷系统管理]一文(https://blog.newrelic.com/2014/05/16/devops-name/)"。 2008年, [安德鲁(Andrew Shafer)](https://twitter.com/littleidea)发表了["敏捷基础(Agile Infrastucture)"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) 的演讲,意图解决许多开发者和公司遇到的类似问题。
    DevOps始于"[敏捷系统管理](https://blog.newrelic.com/2014/05/16/devops-name/)"一文。 2008年, [安德鲁(Andrew Shafer)](https://twitter.com/littleidea)发表了["敏捷基础(Agile Infrastucture)"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) 的演讲,意图解决许多开发者和公司遇到的类似问题。

    In 2009, [Patrick Debois](https://twitter.com/patrickdebois) created "DevOpsDays" conference to help to bring it to light. However, it wouldn't begin to [trend until about 2010](https://trends.google.co.uk/trends/explore?date=all&q=devops), when people would begin to describe it as a [standalone discipline](http://www.somic.org/2010/03/02/the-rise-of-devops/).

  6. inkflow renamed this gist Jun 5, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md → devops_best_practices-zh.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    DevOps started out as "[Agile Systems Administration](https://blog.newrelic.com/2014/05/16/devops-name/)". In 2008, [Andrew Shafer](https://twitter.com/littleidea) did a talk called ["Agile Infrastucture"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) addressing issues around involving more of the company in the same disciplines as programmers.
    DevOps始于"[敏捷系统管理]一文(https://blog.newrelic.com/2014/05/16/devops-name/)" 2008年, [安德鲁(Andrew Shafer](https://twitter.com/littleidea)发表了["敏捷基础(Agile Infrastucture"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) 的演讲,意图解决许多开发者和公司遇到的类似问题。

    In 2009, [Patrick Debois](https://twitter.com/patrickdebois) created "DevOpsDays" conference to help to bring it to light. However, it wouldn't begin to [trend until about 2010](https://trends.google.co.uk/trends/explore?date=all&q=devops), when people would begin to describe it as a [standalone discipline](http://www.somic.org/2010/03/02/the-rise-of-devops/).

  7. @jpswade jpswade revised this gist May 17, 2018. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -60,6 +60,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Achieving 10 deployments per day](https://www.youtube.com/watch?v=LdOe18KhtT4) - the story of how Flickr adopted DevOps.
    - [Continuous Integration](https://martinfowler.com/bliki/ContinuousIntegrationCertification.html) - When the build fails, it’s usually back to green within ten minutes.
    - [Quality Built In](https://www.slideshare.net/AndrewDzynia/quality-built-in/) - Build quality in, from start to end. Quality is not something you tack on the end.
    - [Zero Bugs](http://schd.ws/hosted_files/aatc2017/c9/Zero%20Bugs.pdf)
    - [Don't fire the QA](https://www.thoughtworks.com/insights/blog/qa-role-what-it-really) - Are we building the correct product? If so, are we building it correctly?
    - [Automation](https://dzone.com/articles/what-is-devops-and-how-automation-helps-achieve-it)
    - [Test Automation](https://www.atlassian.com/blog/devops/test-automation-secret-devops-success)
  8. @jpswade jpswade revised this gist Dec 13, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [People over process](https://jezhumble.net/2007/09/11/line-management.html)
    - [Test at the appropriate level](https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid)
    - [High trust culture](https://gotocon.com/dl/goto-cph-sept-2014/slides/JezHumble_LeanEnterprisePartII.pdf)
    - [Address Technical Debt](https://18f.gsa.gov/2015/09/04/what-is-technical-debt/)

    ## Lean to Continuous Integration

  9. @jpswade jpswade revised this gist Nov 22, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Shu-Ha-Ri](https://martinfowler.com/bliki/ShuHaRi.html) - Follow the rule, break the rule, be the rule.
    - [Sacrificial Architecture](https://martinfowler.com/bliki/SacrificialArchitecture.html)
    - [Embrace failure](https://www.thebalance.com/steve-jobs-and-how-embracing-failure-saved-apple-1200640)
    - [Apply Conway's law](https://haacked.com/archive/2013/05/13/applying-conways-law.aspx/)

    ## Agile to Lean

  10. @jpswade jpswade revised this gist Nov 20, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -30,7 +30,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Blameless Post-Mortems](https://codeascraft.com/2012/05/22/blameless-postmortems/)
    - [Release early, release often](http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html) - until code is in production, no value is actually being generated. [If it hurts, do it more often](https://martinfowler.com/bliki/FrequencyReducesDifficulty.html), and bring the pain forward.
    - Release often - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - Listen to customers - Close the loop, focus on building a great product that people want to use
    - Listen to customers - Close the loop, focus on building a great product that people want to use
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)
    - [Shu-Ha-Ri](https://martinfowler.com/bliki/ShuHaRi.html) - Follow the rule, break the rule, be the rule.
    - [Sacrificial Architecture](https://martinfowler.com/bliki/SacrificialArchitecture.html)
    @@ -50,7 +50,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Lean startup](http://ecorner.stanford.edu/videos/2329/Evangelizing-for-the-Lean-Startup-Entire-Talk)
    - [People over process](https://jezhumble.net/2007/09/11/line-management.html)
    - [Test at the appropriate level](https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid)
    - [High trust culture](https://www.slideshare.net/jezhumble/lean-enterprise-42651898)
    - [High trust culture](https://gotocon.com/dl/goto-cph-sept-2014/slides/JezHumble_LeanEnterprisePartII.pdf)

    ## Lean to Continuous Integration

  11. @jpswade jpswade revised this gist Nov 20, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -34,6 +34,7 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)
    - [Shu-Ha-Ri](https://martinfowler.com/bliki/ShuHaRi.html) - Follow the rule, break the rule, be the rule.
    - [Sacrificial Architecture](https://martinfowler.com/bliki/SacrificialArchitecture.html)
    - [Embrace failure](https://www.thebalance.com/steve-jobs-and-how-embracing-failure-saved-apple-1200640)

    ## Agile to Lean

  12. @jpswade jpswade revised this gist Nov 20, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -97,4 +97,5 @@ _Note: Though not necessarily accurate, the practices are broken down into their
    - [Immutable infrastructure](https://dzone.com/articles/why-you-should-build-immutable)
    - [Big data](http://blog.syncsort.com/2017/04/big-data/big-data-and-devops/)
    - [Platform as a service](https://blogs.msdn.microsoft.com/brunoterkaly/2014/04/17/the-devops-story-why-it-is-really-about-platform-as-a-service/)
    - [Cloud](https://www.infoq.com/articles/cloud-and-devops)
    - [Cloud](https://www.infoq.com/articles/cloud-and-devops)
    - [Design for failure](https://martinfowler.com/articles/microservices.html#DesignForFailure)
  13. @jpswade jpswade revised this gist Nov 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ Let's explore those...

    <!--more-->

    _Note: Though not necessarily accurate, the practices are broken down into their evolutionary stages to make fit easier to digest..._
    _Note: Though not necessarily accurate, the practices are broken down into their evolutionary stages to make it easier to digest..._

    ## Waterfall to Agile

  14. @jpswade jpswade revised this gist Nov 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ Let's explore those...

    <!--more-->

    _Note: Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest..._
    _Note: Though not necessarily accurate, the practices are broken down into their evolutionary stages to make fit easier to digest..._

    ## Waterfall to Agile

  15. @jpswade jpswade revised this gist Nov 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ Let's explore those...

    <!--more-->

    ~Note: Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest...~
    _Note: Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest..._

    ## Waterfall to Agile

  16. @jpswade jpswade revised this gist Nov 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ Let's explore those...

    <!--more-->

    Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest...
    ~Note: Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest...~

    ## Waterfall to Agile

  17. @jpswade jpswade revised this gist Nov 9, 2017. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -50,7 +50,6 @@ Though not necessarily accurate, I've broken them down into their evolutionary s
    - [People over process](https://jezhumble.net/2007/09/11/line-management.html)
    - [Test at the appropriate level](https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid)
    - [High trust culture](https://www.slideshare.net/jezhumble/lean-enterprise-42651898)
    - [Blameless Postmortems](http://codeascraft.com/2012/05/22/blameless-postmortems/)

    ## Lean to Continuous Integration

  18. @jpswade jpswade revised this gist Nov 9, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -50,6 +50,7 @@ Though not necessarily accurate, I've broken them down into their evolutionary s
    - [People over process](https://jezhumble.net/2007/09/11/line-management.html)
    - [Test at the appropriate level](https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid)
    - [High trust culture](https://www.slideshare.net/jezhumble/lean-enterprise-42651898)
    - [Blameless Postmortems](http://codeascraft.com/2012/05/22/blameless-postmortems/)

    ## Lean to Continuous Integration

  19. @jpswade jpswade revised this gist Nov 5, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -32,6 +32,8 @@ Though not necessarily accurate, I've broken them down into their evolutionary s
    - Release often - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - Listen to customers - Close the loop, focus on building a great product that people want to use
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)
    - [Shu-Ha-Ri](https://martinfowler.com/bliki/ShuHaRi.html) - Follow the rule, break the rule, be the rule.
    - [Sacrificial Architecture](https://martinfowler.com/bliki/SacrificialArchitecture.html)

    ## Agile to Lean

  20. @jpswade jpswade revised this gist Nov 5, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -30,7 +30,7 @@ Though not necessarily accurate, I've broken them down into their evolutionary s
    - [Blameless Post-Mortems](https://codeascraft.com/2012/05/22/blameless-postmortems/)
    - [Release early, release often](http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html) - until code is in production, no value is actually being generated. [If it hurts, do it more often](https://martinfowler.com/bliki/FrequencyReducesDifficulty.html), and bring the pain forward.
    - Release often - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - Listen to customers
    - Listen to customers - Close the loop, focus on building a great product that people want to use
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)

    ## Agile to Lean
  21. @jpswade jpswade revised this gist Nov 5, 2017. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -28,14 +28,15 @@ Though not necessarily accurate, I've broken them down into their evolutionary s
    - [Prioritisation - Work on the most important thing first](http://www.theagilemindset.co.uk/the-scrum-philosophy/)
    - [Use analogies to communicate important concepts](http://www.techrepublic.com/blog/10-things/10-ways-to-explain-things-more-effectively/)
    - [Blameless Post-Mortems](https://codeascraft.com/2012/05/22/blameless-postmortems/)
    - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - [Release early, release often](http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html) - until code is in production, no value is actually being generated. [If it hurts, do it more often](https://martinfowler.com/bliki/FrequencyReducesDifficulty.html), and bring the pain forward.
    - Release often - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - Listen to customers
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)

    ## Agile to Lean

    - [Continuous Improvement](https://en.wikipedia.org/wiki/Kaizen) - An “improvement,” or “change for the better” which refers to a philosophy or practices that focus on continuous improvement of processes in manufacturing, engineering, game development, and business management.
    - [Reduce waste](https://itrevolution.com/japanese-words-for-devops-practitioners/)
    - [Release early, release often](http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html) - Until code is in production, no value is actually being generated. [If it hurts, do it more often](https://martinfowler.com/bliki/FrequencyReducesDifficulty.html), and bring the pain forward.
    - [No silos](https://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/) - Cross-functional teams and T-shaped people, an attitude of shared responsibility is an aspect of DevOps culture that encourages closer [collaboration](https://blog.chef.io/2017/03/01/devops-is-all-about-collaboration/).
    - [Key Performance Indicators](https://www.atlassian.com/devops#measurement) - Management thinker Peter Drucker is often quoted as saying that "you can't improve what you can't measure".
    - [Non-Functional Requirements as user stories](https://legacy.devopsdays.org/blog/wp-content/uploads/2010/02/rachel-davies-nonfunctional-devopsdays.pdf)
  22. @jpswade jpswade created this gist Nov 5, 2017.
    97 changes: 97 additions & 0 deletions devops_best_practices.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,97 @@
    DevOps started out as "[Agile Systems Administration](https://blog.newrelic.com/2014/05/16/devops-name/)". In 2008, [Andrew Shafer](https://twitter.com/littleidea) did a talk called ["Agile Infrastucture"](http://www.jedi.be/blog/2008/10/09/agile-2008-toronto-agile-infrastructure-and-operations-presentation/) addressing issues around involving more of the company in the same disciplines as programmers.

    In 2009, [Patrick Debois](https://twitter.com/patrickdebois) created "DevOpsDays" conference to help to bring it to light. However, it wouldn't begin to [trend until about 2010](https://trends.google.co.uk/trends/explore?date=all&q=devops), when people would begin to describe it as a [standalone discipline](http://www.somic.org/2010/03/02/the-rise-of-devops/).

    Today, DevOps goes beyond just developers, systems administration and infrastructure, its about [dev, ops, agile, cloud, open source and business](https://blogs.the451group.com/opensource/2010/03/03/devops-mixing-dev-ops-agile-cloud-open-source-and-business/), everything.

    DevOps is a movement. There's [no certificate, role, set of tools or prescriptive process](https://sites.google.com/a/jezhumble.net/devops-manifesto/). There's no specification, it's not a product, or job title. There's no one true voice on what DevOps is or isn't. It's about attitude, ideas, customs and behaviours. Culture, paradigms and philosophy. It's a way of thinking, a way of doing and a way of being. Practicing as well as preaching. It's a conversation. It's about taking the best experiences and sharing those with others.

    There are some very important qualities, principles and techniques that have proven to work, that everyone should be aware of, they are the best practices.

    Let's explore those...

    <!--more-->

    Though not necessarily accurate, I've broken them down into their evolutionary stages to make fit easier to digest...

    ## Waterfall to Agile

    - [People are the key](https://techbeacon.com/psychology-devops-understanding-people-key-success) - Get everyone together at the beginning. Keep meeting. Make it easy for everyone to see what’s happening.
    - [Products not projects](https://www.madetech.com/blog/products-not-projects) - Delivery teams run software products, not projects, that run from inception to retirement.
    - [Keep everything in version control](https://www.ibm.com/developerworks/library/a-devops6/index.html), all code should be under version control, allowing for code development and review, source code management tools, code merging.
    - [Culture](https://martinfowler.com/bliki/DevOpsCulture.html) - There's [t-shirts](https://www.redbubble.com/shop/devops+t-shirts), [songs](https://www.youtube.com/watch?v=pebIr4F-vjQ), [music videos](https://www.youtube.com/watch?v=iYLxw6OsZug), [podcasts](http://devopscafe.org/), [books](https://medium.com/devopslinks/10-great-books-for-aspiring-devops-sre-engineers-76536c7c4909). DevOps is as much about preaching as it is practicing.
    - [Kanban](http://blog.crisp.se/mattiasskarin/files/slides/introducing_kanban_in_operations.pdf) - Being able to limit the flow of work to a given worker is key, you must limit work in progress.
    - [Domain Driven Design](https://www.thoughtworks.com/insights/blog/domain-driven-design-services-architecture)
    - [System metaphor](https://en.wikibooks.org/wiki/Software_Engineering_with_an_Agile_Development_Framework/Iteration_One/System_metaphor)
    - [Systems thinking](https://en.wikipedia.org/wiki/Systems_theory)
    - [Two Pizza Teams](http://blog.idonethis.com/two-pizza-team/)
    - [Prioritisation - Work on the most important thing first](http://www.theagilemindset.co.uk/the-scrum-philosophy/)
    - [Use analogies to communicate important concepts](http://www.techrepublic.com/blog/10-things/10-ways-to-explain-things-more-effectively/)
    - [Blameless Post-Mortems](https://codeascraft.com/2012/05/22/blameless-postmortems/)
    - [How to eat an elephant - one bite at a time](https://www.linkedin.com/pulse/how-eat-elephant-one-bite-time-asia-shahzad/)
    - [Specification by Example](https://www.thoughtworks.com/insights/blog/specification-example)

    ## Agile to Lean

    - [Continuous Improvement](https://en.wikipedia.org/wiki/Kaizen) - An “improvement,” or “change for the better” which refers to a philosophy or practices that focus on continuous improvement of processes in manufacturing, engineering, game development, and business management.
    - [Reduce waste](https://itrevolution.com/japanese-words-for-devops-practitioners/)
    - [Release early, release often](http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html) - Until code is in production, no value is actually being generated. [If it hurts, do it more often](https://martinfowler.com/bliki/FrequencyReducesDifficulty.html), and bring the pain forward.
    - [No silos](https://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/) - Cross-functional teams and T-shaped people, an attitude of shared responsibility is an aspect of DevOps culture that encourages closer [collaboration](https://blog.chef.io/2017/03/01/devops-is-all-about-collaboration/).
    - [Key Performance Indicators](https://www.atlassian.com/devops#measurement) - Management thinker Peter Drucker is often quoted as saying that "you can't improve what you can't measure".
    - [Non-Functional Requirements as user stories](https://legacy.devopsdays.org/blog/wp-content/uploads/2010/02/rachel-davies-nonfunctional-devopsdays.pdf)
    - [Minimum viable product](http://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp)
    - [A journey, not a destination](https://notafactoryanymore.com/2015/08/14/a-personal-devops-journey-or-a-never-ending-journey-to-mastery/)
    - [Embrace change](https://www.theregister.co.uk/2016/01/15/devops_people_problem/)
    - [Build the right thing, then build it the right way](https://barryoreilly.com/2016/10/06/10-principles-to-transform/)
    - [Lean startup](http://ecorner.stanford.edu/videos/2329/Evangelizing-for-the-Lean-Startup-Entire-Talk)
    - [People over process](https://jezhumble.net/2007/09/11/line-management.html)
    - [Test at the appropriate level](https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid)
    - [High trust culture](https://www.slideshare.net/jezhumble/lean-enterprise-42651898)

    ## Lean to Continuous Integration

    - ["cattle rather than pets"](https://www.theregister.co.uk/2013/03/18/servers_pets_or_cattle_cern/) - the paradigm of disposable server infrastructure.
    - [Achieving 10 deployments per day](https://www.youtube.com/watch?v=LdOe18KhtT4) - the story of how Flickr adopted DevOps.
    - [Continuous Integration](https://martinfowler.com/bliki/ContinuousIntegrationCertification.html) - When the build fails, it’s usually back to green within ten minutes.
    - [Quality Built In](https://www.slideshare.net/AndrewDzynia/quality-built-in/) - Build quality in, from start to end. Quality is not something you tack on the end.
    - [Don't fire the QA](https://www.thoughtworks.com/insights/blog/qa-role-what-it-really) - Are we building the correct product? If so, are we building it correctly?
    - [Automation](https://dzone.com/articles/what-is-devops-and-how-automation-helps-achieve-it)
    - [Test Automation](https://www.atlassian.com/blog/devops/test-automation-secret-devops-success)
    - [Automation over documentation](https://githubengineering.com/runnable-documentation/)
    - [Shift left](https://dzone.com/articles/the-shift-left-principle-and-devops-1)
    - [Testing as code](http://www.bbc.co.uk/blogs/internet/entries/ff14236d-098a-3565-b678-ff4ba5776a5f) - Use the gherkin language "[Business Readable, Domain Specific Language](https://martinfowler.com/bliki/BusinessReadableDSL.html)", for manual as well as automated. Keep all your tests with your code, use version control to track changes.

    ## Continuous Integration to Continuous Delivery

    - [Continuous Delivery](https://techbeacon.com/agile-devops-continuous-delivery-evolution-software-delivery) - Continuous Delivery is a key part of the evolution of adopting a DevOps culture.
    - [Deployment Pipelines](https://continuousdelivery.com/implementing/patterns/) - Get humans out of the deployment business. Create a repeatable, reliable process for releasing software.
    - [Trunk based Development](https://www.thoughtworks.com/insights/blog/enabling-trunk-based-development-deployment-pipelines) - Moving to trunk-based development is an ([essential step in getting to continuous deployment](https://engineering.moonpig.com/development/move-to-trunk-based-development-without-the-chaos)).
    - [Production-ready software](https://www.slideshare.net/jezhumble/devops-and-agile-release-management) - Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration.
    - [Everything as code](https://www.slideshare.net/dubsquared/eac-25454047) - Infrastructure as Code, Security as Code, Compliance as Code, Testing as Code.
    - [Reduce the risk of releasing](http://slidesha.re/dsSZIr)
    - [Automate (almost) everything](https://www.thoughtworks.com/insights/blog/automate-almost-everything)
    - [Securing Software through Continuous Delivery](https://www.oreilly.com/learning/devopssec-securing-software-through-continuous-delivery)
    - [Focus on mean time to recovery](https://www.thoughtworks.com/radar/techniques/focus-on-mean-time-to-recovery)
    - [Pipelines as code](http://inedo.com/blog/pipelines-as-code-how-you-can-fully-embrace-agile-and-devops)
    - [Decrease lead time](https://techbeacon.com/doing-continuous-delivery-focus-first-reducing-release-cycle-times)

    ## Continuous Delivery to Continuous Deployment

    - [Feature Toggles](https://martinfowler.com/bliki/FeatureToggle.html) rather than feature branches, avoiding merge hell and more control over features and deployments.
    - [Infrastructure as Code](https://stochasticresonance.wordpress.com/2009/07/12/infrastructure-renaissance/) - Using orchestration and provisioning tools such as Terraform, Docker, Kubernetes, Ansible, Chef, Puppet.
    - [Done means released](https://blog.codecentric.de/en/2010/10/devopsdays-in-hamburg-%E2%80%9Cdone%E2%80%9D-means-released/)
    - [Everybody is responsible for delivery](http://blog.macisaacconsulting.com/continuous-delivery-everybody-responsible-quality/)

    ## Continuous Deployment to Continuous Operations

    - [Blue Green Deployments](https://martinfowler.com/bliki/BlueGreenDeployment.html)
    - [Put devs on call](https://victorops.com/putting-devs-on-call/) - Developers are responsible for monitoring and alerting
    - [High Scalability](http://highscalability.com/blog/2015/1/12/the-stunning-scale-of-aws-and-what-it-means-for-the-future-o.html)
    - [Moving from Monoliths to Microservices](https://gotocon.com/amsterdam-2016/presentation/Journey%20from%20Monolith%20to%20Microservices%20and%20DevOps)
    - [Data-driven products](https://medium.com/@neal_lathia/what-do-we-mean-when-we-talk-about-data-driven-products-127ceb3e6cf)
    - [Performance testing as a first-class citizen](https://internetperformanceexpert.com/2013/09/26/treat-performance-as-a-first-class-citizen/)
    - [Embrace NoSQL](https://diginomica.com/category/devops-stack/)
    - [Immutable infrastructure](https://dzone.com/articles/why-you-should-build-immutable)
    - [Big data](http://blog.syncsort.com/2017/04/big-data/big-data-and-devops/)
    - [Platform as a service](https://blogs.msdn.microsoft.com/brunoterkaly/2014/04/17/the-devops-story-why-it-is-really-about-platform-as-a-service/)
    - [Cloud](https://www.infoq.com/articles/cloud-and-devops)