id: 6194fd2fe5f84e64a7c6d8190dcac9cd
parent_id: 
item_type: 1
item_id: f726c88954614156aede0175faad9f9f
item_updated_time: 1764345479019
title_diff: "[{\"diffs\":[[1,\"给 DevOps 初学者的入门指南\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":17}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>给 DevOps 初学者的入门指南</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"14776\\\"></a>\\\r\\\n<h1>给 DevOps 初学者的入门指南</h1>\\\r\\\n\\\r\\\n<div><span>\\\n  <div>\\\n<div><div><div><div><div><div><div><div><div><h1>给 DevOps 初学者的入门指南</h1><div><div></div></div></div><div><div><div><div><span><div><div><a href=\\\"https://www.zhihu.com/people/flowci\\\" target=\\\"_blank\\\">flow.ci</a></div></div></span></div><div><div><div>将开发测试流程自动化</div></div></div></div></div></div><p>当我们谈到 DevOps 时，可能讨论的是：流程和管理，运维和自动化，架构和服务，以及文化和组织等等概念。那么，到底什么是&quot;DevOps&quot;呢？</p><h2>什么是DevOps</h2><p>随着软件发布迭代的频率越来越高，传统的「瀑布型」（开发—测试—发布）模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生，简单地来说，就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程，开发运维一体化，通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。</p><div><div><img src=\\\":/9f52a6cc798f4cffbe5e6ab3f5164236\\\" type=\\\"image/jpeg\\\" data-filename=\\\"v2-15931aa3b91e79feabbe3dc25c9b458f_hd.jpg\\\" height=\\\"409\\\" width=\\\"576\\\"/></div></div><p>关于 DevOps 是什么，DevOps 的合著者 John Willis 写了一个非常好的帖子，在<a href=\\\"https://link.zhihu.com/?target=http%3A//itrevolution.com/the-convergence-of-devops/\\\" target=\\\"_blank\\\">这里</a>.</p><h2>Devops 的好处与价值</h2><p>在<a href=\\\"https://link.zhihu.com/?target=http%3A//www.infoq.com/cn/articles/2016-devops-new-trend\\\" target=\\\"_blank\\\">2016 DevOps 新趋势调查报告</a>显示，74% 的公司在尝试接受 DevOps，那么 Devops 有哪些好处与价值呢？</p><ul><li><p>代码的提交直接触发：消除等待时间，快速反馈</p></li><li><p>每个变化对应一个交付管道：使问题定位和调试变得简单</p></li><li><p>全开发流程高效自动化：稳定，快速，交付结果可预测</p></li><li><p>持续进行自动化回归测试：提升交付质量</p></li><li><p>设施共享并按需提供：资源利用最大化</p></li></ul><p>以上可以看出，DevOps 的好处更多基于在于持续部署与交付，这是对于业务与产品而言。而 DevOps 始于接受 DevOps 文化与技术方法论，它是部门间沟通协作的一组流程和方法，有助于改善公司组织文化、提高员工的参与感。</p><h2>Devops与持续集成</h2><p>DevOps 是一个完整的面向IT运维的工作流，以 IT 自动化以及持续集成（CI）、持续部署（CD）为基础，来优化程式开发、测试、系统运维等所有环节。</p><p>纵观各个 DevOps 实践公司的技术资料，最全面最经典的是 flickr 的<a href=\\\"https://link.zhihu.com/?target=http%3A//www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr\\\" target=\\\"_blank\\\">10+ deploys per day</a>最佳实践提到的 DevOps Tools 的技术关键点:</p><div><pre><code>1.Automated infrastructure（自动化，系统之间的集成）  \\\n2.shared version control（SVN共享源码）  \\\n3.one step build and deploy（持续构建和部署）  \\\n4.feature flags（主干开发）  \\\n5.Shared metrics  \\\n6.IRC and IM robots（信息整合）  \\\n</code></pre></div><p>以上的技术要点由持续集成/部署一线贯穿，主干开发是进行持续集成的前提，自动化以及代码周边集中管理是实施持续集成的必要条件。毫无疑问，DevOps 是持续集成思想的延伸，持续集成/部署是 DevOps 的技术核心，在没有自动化测试、持续集成/部署之下，DevOps就是空中楼阁。</p><p>我们做了一款 Hosted 持续集成产品—— <a href=\\\"https://link.zhihu.com/?target=http%3A//flow.ci/%3Futm_source%3Dzhihuzhuanlan%26utm_medium%3Dpassage%26utm_camptain%3Ddevops_guide\\\" target=\\\"_blank\\\">flow.ci </a>，它融入了 workflow 机制的持续集成（CI）服务，也可以理解为自动化流程平台，除了集成代码、编译、测试之外，还可以集成常用的工具、灵活自定义流程，帮助你们塑造一个更优秀智能的 DevOps 环境。</p><div><div><img src=\\\":/0e2ff9af5619416699161eb6a9075dcf\\\" type=\\\"image/jpeg\\\" data-filename=\\\"v2-6f12605184f1dd45a99a4cf9187efc0f_hd.jpg\\\" height=\\\"273\\\" width=\\\"576\\\"/></div></div><h2>DevOps 的技术栈与工具链</h2><p>Everything is Code，DevOps 也同样要通过技术工具链完成持续集成、持续交付、用户反馈和系统优化的整合。<a href=\\\"https://link.zhihu.com/?target=https%3A//elasticbox.com/\\\" target=\\\"_blank\\\">Elasticbox</a> 整理了 <a href=\\\"https://link.zhihu.com/?target=https%3A//elasticbox.com/blog/devops-open-source-tools/\\\" target=\\\"_blank\\\">60+ 开源工具与分类</a>，其中包括版本控制&amp;协作开发工具、自动化构建和测试工具、持续集成&amp;交付工具、部署工具、维护工具、监控，警告&amp;分析工具等等， <br/>补充了一些国内的服务，可以让你更好的执行实施 DevOps 工作流。</p><ul><li><p>版本控制&amp;协作开发：GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar</p></li><li><p>自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit</p></li><li><p>持续集成&amp;交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go</p></li><li><p>容器平台: Docker、Rocket、Ubuntu（LXC）、第三方厂商如（AWS/阿里云）</p></li><li><p>配置管理：Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible</p></li><li><p>微服务平台：OpenShift、Cloud Foundry、Kubernetes、Mesosphere</p></li><li><p>服务开通：Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat</p></li><li><p>日志管理：Logstash、CollectD、StatsD</p></li><li><p>监控，警告&amp;分析：Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana</p></li></ul><div><div><img src=\\\":/7f5ddba7d9474a82bfd67f25afd1bafe\\\" type=\\\"image/jpeg\\\" data-filename=\\\"v2-a24f91a6473a80351257cc9c3823bcfa_hd.jpg\\\" height=\\\"409\\\" width=\\\"576\\\"/></div></div><p>顺便再跟大家分享一个 <a href=\\\"https://link.zhihu.com/?target=http%3A//www.devopsbookmarks.com/\\\" target=\\\"_blank\\\">DevOps BookMarks</a>，这里面涉及了DevOps方方面面的工具和内容，有兴趣的同学可以前去学习。</p><h2>DevOps 最佳实践</h2><p>自 2009 年提出 DevOps 的概念起，很多公司都开始实施 DevOps，国外比较著名的有Amazon 、Google、Facebook等，国内著名的有百度、华为、阿里等。Amazon 是 DevOps 最佳实践的最有说服力的代表之一。这是 Amazon 在 <a href=\\\"https://link.zhihu.com/?target=http%3A//www.youtube.com/watch%3Fv%3D877OCQA_xzE\\\" target=\\\"_blank\\\">Why We Need DevOps</a> 一个月的 DevOps 快照：</p><div><pre><code>    11.6 seconds: 平均部署时长 (工作日)\\\n    1,079: 一小时的最大部署量\\\n    10,000: 主机平均并发接收部署量\\\n    30,000: 主机最高并发接收部署量\\\n</code></pre></div><p>从早期的大型 SOA (Service Oriented Architecture)到 DevOps 文化的形成，Amazon 的每个工程师都可以完全独立地编写代码，测试代码，版本管理，部署上线，服务监测等任务。这套内部强大的 DevOps 文化最终形成核聚变， Amazon 一跃成为世界级别的云服务领导者 —— Amazon Web Services (AWS)。</p><p>除了 Amazon 外还有一些国内外的 DevOps 实践公司，一起来看看。</p><ul><li>flickr</li></ul><p>最全面最经典的是 flickr 的<a href=\\\"https://link.zhihu.com/?target=http%3A//www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr\\\" target=\\\"_blank\\\">10+ deploys per day</a>，简直是 DevOps 教科书般的存在。</p><ul><li>百度</li></ul><p>百度技术团队是如何利用DevOps，来看看<a href=\\\"https://link.zhihu.com/?target=http%3A//dbaplus.cn/news-21-471-1.html\\\" target=\\\"_blank\\\">解密百度持续交付方法与实践</a>。</p><ul><li>Netflix</li></ul><p>解密Netflix 技术团队在整个 DevOps 过程中使用的部署工具和服务.</p><p><a href=\\\"https://link.zhihu.com/?target=http%3A//techblog.netflix.com/2016/03/how-we-build-code-at-netflix.html\\\" target=\\\"_blank\\\">How We Build Code at Netflix</a>.</p><ul><li>Etsy</li></ul><p>2009年，Etsy建立自己的工具来更好更快地部署发布，<a href=\\\"https://link.zhihu.com/?target=http%3A//www.networkworld.com/article/2886672/software/how-etsy-makes-devops-work.html\\\" target=\\\"_blank\\\">「Etsy 如何应用 DevOps」</a>值得一读。</p><ul><li>LinkedIn</li></ul><p>2009年，LinkedIn 团队就开始使用自动化部署工具，用于管理在1000+节点环境下发布上千个应用/服务的复杂性。这是 LinkedIn 自己造的轮子 &gt;&gt;<a href=\\\"https://link.zhihu.com/?target=http%3A//devops.com/2014/04/02/deployment-and-monitoring-automation-glu/\\\" target=\\\"_blank\\\">Deployment and Monitoring Automation with glu</a>.</p><ul><li>Airbnb</li></ul><p>Airbnb 作为第三方平台公司，需要迅速发布多个小型部署。关于 Airbnb 的数据和基础设施，可以参考这个<a href=\\\"https://link.zhihu.com/?target=http%3A//www.slideshare.net/InfoQ/data-infrastructure-at-airbnb\\\" target=\\\"_blank\\\">slides</a>。</p><ul><li>Starbucks</li></ul><p>星巴克的 DevOps 计划&gt;&gt; <a href=\\\"https://link.zhihu.com/?target=https%3A//medium.com/%40cloud_opinion/starbucks-announces-devopstogether-2933aad59d74\\\" target=\\\"_blank\\\">Starbucks Announces #DevOpsTogether</a>.</p><ul><li><a href=\\\"https://link.zhihu.com/?target=http%3A//Ancestry.com\\\" target=\\\"_blank\\\">http://Ancestry.com</a></li></ul><p><a href=\\\"https://link.zhihu.com/?target=http%3A//Ancestry.com\\\" target=\\\"_blank\\\">http://Ancestry.com</a> 是 DevOps 运动的早期采用者，是 Continuous Delivery 和 DevOps 运动的先锋。想了解更多关于他们的过程、迁移和 DevOps 文化，不妨查看一下他们的系列文章<a href=\\\"https://link.zhihu.com/?target=http%3A//blogs.ancestry.com/techroots/category/devops/\\\" target=\\\"_blank\\\">DevOps – Tech Roots</a>。</p><h2>DevOps = Culture + Tools</h2><p>如果想整个业务部署 DevOps，不但需要软性要求即从上而下的培养 DevOps 文化自上而下地进行探索，也有硬性工具链要求，才能获得更高质量的软件交付。</p><p>最后，不论你是技术Leader，还是一名Dev、QA 或 Ops，实现全面的 DevOps 非常理想化也十分有挑战，希望这份 DevOps 初学者指南是一个好的开始:)</p></div></div></div><div><div><div></div></div><ol></ol></div><div>Measure</div><div>Measure</div></div></div></div><div></div></div></div>\\\n</div>\\\n</span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":7719}]"
metadata_diff: {"new":{"id":"f726c88954614156aede0175faad9f9f","parent_id":"061de1401cfc4cfaadf6e74e015970e9","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764345888838,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T16:20:26.765Z
created_time: 2025-11-28T16:20:26.765Z
type_: 13