V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Imshaha
V2EX  ›  DevOps

给 DevOps 初学者的入门指南

  •  
  •   Imshaha · 2016-09-28 14:28:54 +08:00 · 9491 次点击
    这是一个创建于 3003 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念。那么,到底什么是"DevOps"呢?

    什么是 DevOps

    随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。 2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

    flow.ci

    关于 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 metrics
    6.IRC and IM robots (信息整合)
    

    以上的技术要点由持续集成 /部署一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。毫无疑问, DevOps 是持续集成思想的延伸,持续集成 /部署是 DevOps 的技术核心,在没有自动化测试、持续集成 /部署之下, DevOps 就是空中楼阁。

    我们做了一款 Hosted 持续集成产品—— flow.ci ,它融入了 workflow 机制的持续集成( CI )服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程,帮助你们塑造一个更优秀智能的 DevOps 环境。

    flow.ci

    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

    flow.ci

    顺便再分享一个 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: 主机最高并发接收部署量
    

    从早期的大型 SOA (Service Oriented Architecture)到 DevOps 文化的形成, Amazon 的每个工程师都可以完全独立地编写代码,测试代码,版本管理,部署上线,服务监测等任务。这套内部强大的 DevOps 文化最终形成核聚变, Amazon 一跃成为世界级别的云服务领导者 —— Amazon Web Services (AWS)。

    除了 Amazon 外还有一些国内外的 DevOps 实践公司,一起来看看。

    • flickr

    最全面最经典的是 flickr 的10+ deploys per day,简直是 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 是 DevOps 运动的早期采用者,是 Continuous Delivery 和 DevOps 运动的先锋。想了解更多关于他们的过程、迁移和 DevOps 文化,不妨查看一下他们的系列文章http://blogs.ancestry.com/techroots/category/devops/

    DevOps = Culture + Tools

    如果想整个业务部署 DevOps ,不但需要软性要求即从上而下的培养 DevOps 文化自上而下地进行探索,也有硬性工具链要求,才能获得更高质量的软件交付。

    最后,不论你是技术 Leader ,还是一名 Dev 、 QA 或 Ops ,实现全面的 DevOps 非常理想化也十分有挑战,希望这份 DevOps 初学者指南是一个好的开始:)


    24 条回复    2019-09-29 20:36:12 +08:00
    ssoftlns
        1
    ssoftlns  
       2016-09-28 14:37:08 +08:00
    这么漂亮的妹纸 支持一下!
    yongSir
        2
    yongSir  
       2016-09-28 14:39:58 +08:00
    如果头像是本人的话
    本帖要火
    felmoon
        3
    felmoon  
       2016-09-28 14:44:42 +08:00
    严肃点 都是进来学习的
    Imshaha
        4
    Imshaha  
    OP
       2016-09-28 17:12:19 +08:00
    @ssoftlns ha 谢谢!
    @yongSir 是本人,但帖子没火=.=!
    mobyride
        5
    mobyride  
       2016-09-28 18:00:28 +08:00
    很有收获!~
    damonzheng
        6
    damonzheng  
       2016-09-28 18:06:53 +08:00
    转载的? 这帖子貌似见过
    binfengxy
        7
    binfengxy  
       2016-09-28 18:24:23 +08:00
    Mark
    wizardforcel
        8
    wizardforcel  
       2016-09-28 18:26:32 +08:00
    要火~
    AdamMaggie
        9
    AdamMaggie  
       2016-09-28 18:32:03 +08:00 via Android
    mark ,最近刚好在折腾这些东西
    tinkerer
        10
    tinkerer  
       2016-09-28 19:00:38 +08:00
    自从围上围巾后没换过头像...口亨。
    不过有干货。
    ywgx
        11
    ywgx  
       2016-09-28 21:51:33 +08:00
    说到 DevOps , 那么第一个问题, 你们技术同学 申请登录线上机器权限流程是否顺畅 ?

    xabcloud.com 提供业界专业的企业级解决方案,拿起手中的电话,赶快 订购吧
    yingling
        12
    yingling  
       2016-09-28 21:56:42 +08:00
    我只想问妹子可以约吗?
    hmli
        13
    hmli  
       2016-09-28 22:01:46 +08:00
    @ywgx
    你司官网好丑
    ywgx
        14
    ywgx  
       2016-09-28 22:48:32 +08:00 via iPhone
    @hmli 喜欢简约
    rootooroot
        15
    rootooroot  
       2016-09-28 22:52:05 +08:00
    看到头像就进来了 😄
    mingyun
        16
    mingyun  
       2016-09-28 23:07:57 +08:00
    我看头像进来的
    messense
        17
    messense  
       2016-09-28 23:19:59 +08:00
    有需要 self hosted CI for BitBucket 可以看看我厂开源的 badwolf 哦

    https://www.v2ex.com/t/307297

    https://github.com/bosondata/badwolf
    zizifu
        18
    zizifu  
       2016-09-28 23:29:30 +08:00
    @rootooroot 同样看到头像进来的~
    jonechenug
        19
    jonechenug  
       2016-09-29 08:27:21 +08:00 via Android
    这个月在 infoq 看了同样的内容
    tmackan
        20
    tmackan  
       2016-09-29 13:55:48 +08:00
    要🔥 要🔥 要🔥 要🔥 要🔥 要🔥
    Imshaha
        21
    Imshaha  
    OP
       2016-10-10 15:03:20 +08:00
    Imshaha
        22
    Imshaha  
    OP
       2016-10-10 15:09:22 +08:00
    @tinkerer
    @AdamMaggie
    @mobyride
    谢谢支持!
    jiangbingo
        23
    jiangbingo  
       2018-05-08 16:25:06 +08:00
    自动化测试一枚, 前来学习~
    cv1441
        24
    cv1441  
       2019-09-29 20:36:12 +08:00
    头像吸引人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:36 · PVG 05:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.