设为首页 收藏本站
查看: 1171|回复: 0

[经验分享] 给 DevOps 初学者的入门指南

[复制链接]
YunVN网友  发表于 2019-4-17 15:05:56 |阅读模式
  当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念。那么,到底什么是”DevOps”呢?
什么是DevOps
  随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

  关于 DevOps 是什么,DevOps 的合著者 John Willis 写了一个非常好的帖子,在这里.
Devops 的好处与价值
  在2016 DevOps 新趋势调查报告显示,74% 的公司在尝试接受 DevOps,那么 Devops 有哪些好处与价值呢?

  •   代码的提交直接触发:消除等待时间,快速反馈
  •   每个变化对应一个交付管道:使问题定位和调试变得简单
  •   全开发流程高效自动化:稳定,快速,交付结果可预测
  •   持续进行自动化回归测试:提升交付质量
  •   设施共享并按需提供:资源利用最大化
  以上可以看出,DevOps 的好处更多基于在于持续部署与交付,这是对于业务与产品而言。而 DevOps 始于接受 DevOps 文化与技术方法论,它是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。
Devops与持续集成
  DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。
  纵观各个 DevOps 实践公司的技术资料,最全面最经典的是 flickr 的10+ deploys per day最佳实践提到的 DevOps Tools 的技术关键点:
1.Automated infrastructure(自动化,系统之间的集成)2.shared version control(SVN共享源码)  
3.one step build and deploy(持续构建和部署)4.feature flags(主干开发)5.Shared metrics6.IRC and IM robots(信息整合)123456123456
  以上的技术要点由持续集成/部署一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。毫无疑问,DevOps 是持续集成思想的延伸,持续集成/部署是 DevOps 的技术核心,在没有自动化测试、持续集成/部署之下,DevOps就是空中楼阁。
  我们做了一款 Hosted 持续集成产品—— flow.ci ,它融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程,帮助你们塑造一个更优秀智能的 DevOps 环境。

DevOps 的技术栈与工具链
  Everything is Code,DevOps 也同样要通过技术工具链完成持续集成、持续交付、用户反馈和系统优化的整合。Elasticbox 整理了 60+ 开源工具与分类,其中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等,
  补充了一些国内的服务,可以让你更好的执行实施 DevOps 工作流。

  •   版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
  •   自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
  •   持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
  •   容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
  •   配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
  •   微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
  •   服务开通:Puppet、docker Swarm、Vagrant、Powershell、OpenStack Heat
  •   日志管理:Logstash、CollectD、StatsD
  •   监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana

  顺便再分享一个 DevOps BookMarks,涉及了DevOps方方面面的工具和内容,有兴趣的同学可以去学习下。
DevOps 最佳实践
  自 2009 年提出 DevOps 的概念起,很多公司都开始实施 DevOps,国外比较著名的有Amazon 、Google、Facebook等,国内著名的有百度、华为、阿里等。Amazon 是 DevOps 最佳实践的最有说服力的代表之一。这是 Amazon 在 Why We Need DevOps 一个月的 DevOps 快照:
    11.6 seconds: 平均部署时长 (工作日)    1,079: 一小时的最大部署量    10,000: 主机平均并发接收部署量    30,000: 主机最高并发接收部署量12341234  从早期的大型 SOA (Service Oriented Architecture)到 DevOps 文化的形成,Amazon 的每个工程师都可以完全独立地编写代码,测试代码,版本管理,部署上线,服务监测等任务。这套内部强大的 DevOps 文化最终形成核聚变, Amazon 一跃成为世界级别的云服务领导者 —— Amazon Web Services (AWS)。
  除了 Amazon 外还有一些国内外的 DevOps 实践公司,一起来看看。

  •   flickr
  最全面最经典的是 flickr 的10+ deploys per day,简直是 DevOps 教科书般的存在。

  •   百度
  百度技术团队是如何利用DevOps,来看看解密百度持续交付方法与实践。

  •   腾讯
  百度技术团队是如何利用DevOps,来看看解密百度持续交付方法与实践。

  •   Netflix
  解密Netflix 技术团队在整个 DevOps 过程中使用的部署工具和服务.
  How We Build Code at Netflix.

  •   Etsy
  2009年,Etsy建立自己的工具来更好更快地部署发布,「Etsy 如何应用 DevOps」值得一读。

  •   LinkedIn
  2009年,LinkedIn 团队就开始使用自动化部署工具,用于管理在1000+节点环境下发布上千个应用/服务的复杂性。这是 LinkedIn 自己造的轮子 >>Deployment and Monitoring Automation with glu.

  •   Airbnb
  Airbnb 作为第三方平台公司,需要迅速发布多个小型部署。关于 Airbnb 的数据和基础设施,可以参考这个slides。

  •   Starbucks
  星巴克的 DevOps 计划>> Starbucks Announces #DevOpsTogether.

  •   Ancestry.com
  Ancestry.com 是 DevOps 运动的早期采用者,是 Continuous Delivery 和 DevOps 运动的先锋。想了解更多关于他们的过程、迁移和 DevOps 文化,不妨查看一下他们的系列文章http://blogs.ancestry.com/techroots/category/devops/。
DevOps = Culture + Tools
  如果想整个业务部署 DevOps,不但需要软性要求即从上而下的培养 DevOps 文化自上而下地进行探索,也有硬性工具链要求,才能获得更高质量的软件交付。
  最后,不论你是技术Leader,还是一名Dev、QA 或 Ops,实现全面的 DevOps 非常理想化也十分有挑战,希望这份 DevOps 初学者指南是一个好的开始:)
  flow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个 Build。
  本文来自 flow.ci 官方博客,转载请联系:)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828246-1-1.html 上篇帖子: [转]不同技术团队的配合问题及DevOps-elain的技术博客 下篇帖子: 基于开发者中心DevOps流水线快速上云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表