下载APP
关闭
讲堂
算法训练营
企业服务
热点资讯
极客商城
客户端下载
兑换中心
渠道合作
推荐作者

开篇词 | 从默默无闻到风靡全球,DevOps究竟有什么魔力?

2019-10-08 石雪峰
DevOps实战笔记
进入课程

讲述:石雪峰

时长08:24大小7.70M

你好,我是石雪峰,目前在京东商城负责工程效率体系建设和平台研发。从业十多年,我一直在软件行业深耕,尤其是从 2015 年接触 DevOps 至今,我一直在企业内部从事 DevOps 的落地实践工作,也曾帮助多家大型企业进行 DevOps 的相关能力评估,积累了很多实战经验。

在写开篇词的时候,我才意识到,DevOps 从诞生至今已经整整十个年头了。十年之间,DevOps 从默默无闻到风靡全球,很多人都在反思和总结 DevOps 究竟有什么魔力。

十年前的 2009 年,我在一家日本软件公司工作,长期被外派到日本尼康公司做项目。虽然当时敏捷已经兴起,但在日本,软件开发还是瀑布模式的天下。每当一个新项目来临时,我们经常不分白天黑夜地埋头苦干几个月,完全不敢想象,如果不能顺利交付会怎么样。

可是,怕什么就来什么。有一次,我负责开发一款客户端软件,给客户交付的方式是事先刻录一张光盘,把光盘带去现场,一边部署,一边演示。刚开始还挺顺利的,可是到了生产数据拉取的环节,系统竟然异常退出了。我至今都还记得那位项目负责人不满的表情。

调试后我发现,客户的生产环境使用的是 Oracle 数据库,而我们使用的是微软的 Access 数据库,数据访问协议不一致,数据自然会同步失败。

之后的三个月,我总共休息了两天,每天的节奏就是吃饭睡觉写程序,干到搭乘最后一班电车回家,唯一的娱乐活动就是在吃加班餐的时候吐槽老板。

所以,当时我就在想,一定会有一种更好的软件开发方式,在这种方式下,团队间沟通和协作的重要性一点也不亚于写代码、写文档、做测试之类的常规工作。但我不知道的是,远在大洋彼岸,DevOps 的旅程才刚刚开始。

十年后,也就是 2019 年,以移动互联网、云计算、微服务、大数据、人工智能等为代表的技术日新月异,技术的迭代和演进都在以十倍速的方式向前发展,数字化转型浪潮正在席卷各行各业。“软件正在吞噬世界”“每一家企业终将成为软件企业”……行业领袖口中的这些预言,都在慢慢地变成现实。

如今,软件正在深刻地改变着我们的生活方式。前段时间,我去新疆旅行。在旅行途中,我发现即便是在沙漠边缘的小镇,微信支付也是畅通无阻。另外,用户喜新厌旧的成本已经低到可以忽略不计,企业之间的竞争已经升级为软件即服务的竞争。

所以,如何快速地持续交付高质量的软件,满足用户的多样化需求,并借此提升企业的利润和市场占有率,已经成为企业必须要面对的现实问题

可问题是,现在很多企业采用的软件开发方式,同十年前我所在的公司其实并没有什么区别,甚至由于组织分工的细化,内部沟通的消耗成本更加高昂。

你应该也遇到过这样的场景吧?两个部门为了数据打通,来回拉锯,各种方案和排期一天一个样,还美其名曰“PK”。原本特别简单的一件事情,非要扯上几天甚至几周才能有点眉目。每当这个时候,我都忍不住想说:“嘿,兄弟,我不是来抢你饭碗的,我只是想通过系统间的打通来简化一些工作而已,何必搞得这么复杂呢?”

所以你看,软件开发过程的改进,除了依赖于技术进步,还依赖于流程、理念、文化等全方位的改进,而这正是 DevOps 带给软件开发方式的一场革命

从 2017 年 DevOpsDays 大会北京站举办以来,DevOps 在国内的发展正式驶向了快车道。作为从业者之一,我深刻地感受到 DevOps 的影响力与日剧增,不仅仅是互联网行业,就连传统的电信、金融,甚至是政府机构,也都把 DevOps 作为核心能力在快速建设。

现在已经很少有人会问 DevOps 有什么用、DevOps 是否适合我之类的问题了,更多人开始关注要如何落地实践 DevOps,并且让 DevOps 充分发挥它的价值,真正改善软件交付方式,提高 IT 工程师的幸福指数。

除此之外,越来越多的企业开始招聘 DevOps 方面的人才,对 DevOps 的技能和经验背景的要求越来越高,DevOps 专家的岗位薪资甚至仅次于高级管理层,一跃成为 IT 行业的金字塔顶端。

我个人认为,DevOps 已经成为了所有 IT 从业人员应知应会的必备技能。在这些技能中,技术和实践当然非常重要,但文化和理念更是尤为珍贵。如果每个从业者都认同 DevOps 的文化和理念,认同快速交付价值远胜于部门间的零和博弈,认同我们应该共享一个目标,并从自身做起持续改善上下游的关系,那么,怎么可能还会出现刚刚我提到的 PK 的例子呢?

也许你从各种渠道了解过 DevOps 的相关信息,但是因为市场上资料庞杂、个人精力有限等原因,还存在着以下几个困惑:

  • 如何梳理出一套清晰的 DevOps 理念和完整的知识体系?
  • 如何获得一线大厂的实践经验,让 DevOps 真正落地?
  • 如何获得一条渐进式的 DevOps 学习曲线,让自己在正确的方向上不断增值?

这些问题,正是多年来我一直在思考的,也希望在这个专栏中传递给你的核心内容。

学习 DevOps 的过程,对你来说将会是一场探索之旅。DevOps 涉及软件开发的方方面面,因此,你将漫步于需求、开发、测试、运维的完整开发流程,途经管理实践和工程实践的领域,探寻方法论、最佳实践和工具平台的有机结合方式,让自己在全栈工程师和斜杠青年的道路上更进一步。

DevOps 涉及的领域如此之广,想在一个专栏中学遍所有内容几乎是不可能的事情,所以我从实战的角度出发,臻选出最重要的内容,帮你梳理出一条 DevOps 的最佳学习路径。

本专栏主要由 4 个部分组成。

  • 第 1 部分是“基础知识篇”。我将详细介绍 DevOps 的定义、价值、实施与衡量,在最开始帮你建立起正确的 DevOps 体系认知。
  • 第 2 部分是“落地实践篇”。这一部分占据整个专栏一半的篇幅,是最核心的部分。我将带你通盘梳理 DevOps 的转型路径,你一定不要错过。
  • 第 3 部分是“平台工具篇”。它涵盖平台建设的 3 个阶段、产品研发和设计、不可忽视的开源工具等,帮你找到快速搭建平台的钥匙。
  • 第 4 部分是“转型案例篇”。我将分享 1~2 个实际案例,将前面提到的理论、落地实践和工具融入其中,让你能够融会贯通。

另外,我还设置了特别放送环节。在这个环节,我会跟你分享一些经典的学习资料、DevOps 工程师的必备技能等内容,让你全方位、多层次地掌握 DevOps。

其实,整个专栏的整理和写作,对我来说也是一场修行。毕竟,作为 DevOps 多年的实践者,我在用它解决问题的同时也发现了更多的问题,好奇心和对效率建设的执着追求让我乐此不疲。现在能够静下心来,把我多年的经验与反思整理出来跟你分享,也是一件非常有意义的事情。

在这个过程中,我也越发地感受到,DevOps 的思想和文化的落地依然任重道远。每个时代都会有一群先锋走在时代的前沿,中流击水,鹰击长空,希望通过本专栏的学习,你也可以成为 DevOps 的思想者和实践者,实现个人价值和企业价值的双赢。

最后,我想请你聊一聊,关于 DevOps,你都有哪些困惑?对于专栏,你又有哪些期待?欢迎你写在留言区,我们一起交流,期待你的反馈。

好了,从现在开始,就让我们一起踏上这场 DevOps 的奇妙旅程,一路同行,不断进步。

© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
下一篇
01 | DevOps的“定义”:DevOps究竟要解决什么问题?
 写留言

精选留言(26)

  • 陈斯佳
    2019-10-08
    这个专栏真是来得及时,我们公司从今年年初开始全面转向DevOps开发模式,整个发布流程都要重新建构。希望通过这个专栏,不仅能帮助公司顺利转型,也能让我这个半路出家的运维工程师打下扎实的DevOps知识基础,为将来至少30年的DevOps工作铺平道路。谢谢石老师!
    展开

    作者回复: 感谢你的回复,看来你对DevOps的前景充满信心,也期待你的问题,我们一起学习进步。另外,你是我见过的对DevOps最有信心的同学,30年足够做到退休啦!

    7
  • 阿硕
    2019-10-08
    石老师的语速可以在慢点
    展开

    作者回复: 你好,感谢你的提醒,我会后面注意的!主要DevOps内容太多,看来可以给极客时间App提个慢速播放的需求哈😄

    3
  • caozhao
    2019-10-10
    石老师 好
    我们部门这边的项目 已经在摸索 devops在项目中的应用。
    已经开始用docker容器快速部署,gitlab、jenkins持续交互。接下来会做k8s和监控的应用以及敏捷开发,进而完成快速迭代和持续交付。
    因为 刚接触一个月,所以需要全面了解相应知识点和各个工具的作用,更希望 能快速上手,所以希望 石老师 能先实战,然后回头解释理论,用案例和项目来驱动。
    学以致用,才会掌握知识和工具,希望石老师 的课后练习不要少。
    展开

    作者回复: 很赞,一个月的时间能把这一套东西整出来相当不简单啊。其实我理解每一个工具和实践都需要在实战中积累经验,所以后面我会针对每一个实践,从理论,案例和经验方面进行展开。当然这多业务形态和行业背景,不可能面面俱到,最好的方式还是就事论事,讨论实际推行过程中的问题,所以也欢迎你继续关注并提出你们的挑战和疑惑,我们一起讨论哈。

    1
    2
  • YoungMarshual_besos
    2019-10-09
    配置管理新兵,一开始就做配置管理。没有开发经验没有运维经验,一个人艰难步行。

    作者回复: 你好,我见过很多公司都是配管在推DevOps,作为过来人,我觉得配管有其他角色不具备的优势,比如全局视角,流程能力,沟通能力,工具链等,所以可以和专栏的伙伴多多交流哈😄

    1
    2
  • Quincy
    2019-10-09
    校招从服务端调岗到devops,一个人做内部系统,前后端都写,弄得我很迷茫,感觉devops算运维吧,可又不涉及sre的运维业务,跟服务端比,写起功能来感觉很随意,自由度大,没什么规范。老师,我想问下,您觉得devops跟sre以及后端开发的区别在哪,各自有什么特点,devops有必要再转回服务端嘛。
    展开

    作者回复: 看你的描述,你现在应该是在做面向内部的工具平台开发吧。其实,在稍微大点的公司里面都有这样的团队,比如像运维开发,测试开发,相比业务系统来说,由于不直接面向用户,所以这些系统相对服务端来说对架构设计,高可用,高并发等的需求没有那么高,也就是你所谓的自由度大吧。
    而SRE是传统运维演进的一个方向,需要有很好的开发能力和运维背景,所以经常被视为DevOps工程师。
    其实我的理解,这些岗位都很重要,完全看你个人的方向,在国内很多公司,都是最优秀的人来做内部工具平台,因为他们既了解开发喜欢和工作方式,又具备类似DevOps这样的知识和理念。
    所以如果倾向业务开发,服务端更合适一些,但相对的接触面会比较窄,而SRE又是需要运维经验的积累,是不同的方向。DevOps代表未来的趋势,需要加强技术积累的同时,对技能的广度要求更高。所以,你可以根据自己的发展方向来考虑哈。

    1
  • Christina Han
    2019-10-09
    将自己的经验分享,可以让后来人有参考,支持👍
    展开

    作者回复: 谢谢你的支持,也欢迎你多多分享你的经验,我始终觉得有一个平台给志同道合的朋友一起交流,这很DevOps😄

    1
  • 心在飞
    2019-10-09
    有幸在上海 JUC 2017听过石老师的 Jenkins 落地最佳实践分享,收获很多。
    目前正在外企做DevOps,给我困惑比较多的是 DevOps 涉及的技术实在是太广了,涉及编程语言、操作系统、网络技术、路由器配置、自动化配置管理(Chef, Packer),云计算及虚拟化等。很多时候我会迷失在知识的海洋中,不知道该学什么,有种什么都想学,什么都学不好的感觉。
    还有一点我做的不好的,那就是我没有宣传和推广DevOps。我们团队很多人都不知道DevOps 是什么,我每天都在干什么。
    展开

    作者回复: 说的太对啦,咱们搞IT还是切忌什么都懂一点,但又什么都不精通。我的建议还是从当前的职责范围出发,先把现有领域的技术实践搞透,再拓展上下游领域那些最核心的能力。关于这部分内容,我会在番外篇中聊聊我的个人看法。
    关于第二点,可以多做做内部分享,推荐大家听听专栏,外面的大会也有很多,适当的洗脑还是很有必要的😄

    1
  • Geek_599062
    2019-10-08
    其实不太懂什么才是真正的devops
    展开

    作者回复: 其实,我觉得能解决问题的DevOps,才是真正的DevOps哈。DevOps只是一个符号,我们真正关心的还是如何不断提升软件研发交付效率和质量,更好的为业务服务哈。

    1
  • Woosang
    2019-10-08
    会涉及Jenkins X的内容吗?
    展开

    作者回复: 你好,Jenkins X体系相当庞大,我会在云原生和开源工具的部分有所涉及,但是不会面面俱到,感兴趣的话我们可以线下交流哈🤝

    2
    1
  • helloworld
    2019-10-12
    DevOps到底是什么?因为其本身就是抽象的概念,希望老师通过实战案例的形式来讲解

    作者回复: 你好,DevOps不像一门具体的技术,而是文化和实践,在实践篇我会从具体实践的角度切入,结合我的一些经验分享,也欢迎你多多提出你的问题哈。

  • Oliver
    2019-10-11
    老师,我们有专门讨论devops的群吗
    展开

    作者回复: 你好,这个建议很好,稍后我问下编辑同学哈!

  • 2019-10-11
    感觉是岗位职责由细分走向综合
    展开

    作者回复: 你好,分久必合 合久必分啊,现在流行的全栈工程师就是你说的走向综合吧,所以多面手,跨领域的人才现在比较热门。

  • 哈哈贝贝
    2019-10-10
    目前负责平台研发,一直在往devops方向走,都在使用cloud native,就是在小企业感觉推行必要性不高😓

    作者回复: 小企业基本都是英雄主义,一个人身兼数职,我的理念就是够用就好,不知道你们使用的是自研平台还是云厂商的一体化研发平台。我觉得这也是未来的一个趋势,只要关注业务研发,工程能力也会慢慢成为一种基础设施。

  • sugar
    2019-10-10
    对devops一直没有一个完整的认识,希望这个课程能有一个全面的认识

    作者回复: 感谢你的支持,也欢迎你提出你关心的问题,我们共同讨论。

  • 小鱼-Tricia
    2019-10-09
    我是产品经理,即将配合工程师一起打造devops,适合学这个课程么?

    作者回复: 你好,很高兴又见到一位DevOps产品经理,无论你们是开发内部产品还是外部产品,对DevOps的深入了解都会助你一臂之力,因为只有将DevOps的理念和实践融入产品中,才能解决用户面临的实际问题。了解软件交付中所面临的痛点,才能有的放矢的给出产品设计和解决方案。
    我目前也是在负责内部DevOps平台的研发,深知做产品不容易,作出好用的产品很难,所以我也会在专栏中分享我在设计产品过程中的一些观点和思路,期待与你的交流。

  • qiuchp
    2019-10-09
    公司是做支付的,最近正重构支付系统,基于SpringCloud生态。什么PAAS,SAAS的,什么分层,隔离得,引入Jenkins ,Docker ,K8S等一波操作,这是在迈入DevOps吗?项目启动一个月了,感觉要黄呢。缺乏实战经验,特来找石老师取经。
    展开

    作者回复: 感觉你们这一顿操作猛如虎啊!应用架构,工具平台,基础设施都有助于DevOps的实施,但是每一个都需要很大的投入,还得需要体系化建设才行啊,如果你提到这些都没有基础,的确比较挑战,还是得明确主线,分阶段实施。你觉得当前最大的问题是在哪里呢,公司是基于而第三方云服务还是全字研呢?

    1
  • 悟空
    2019-10-09
    嘿!兄弟,我不是来抢你饭碗的,我只是想通过系统间的打通来简化一些工作而已,何必搞得这么复杂?”

    作者回复: 😓

  • Bryan Bai
    2019-10-09
    配置管理 -》构建发布 -》Agile -》DevOps -》 SRE ,DevOps热度超不过10年,会有新的名词来代替,尤其是机器学习出现以后,连软件开发都要重新定义了,DevOps也会变的。

    作者回复: 同意,总会有新的软件开发交付模式诞生,推陈出新,期待下一波节奏可以由中国的工程师来主导💪💪💪

  • Ios王子
    2019-10-09
    DEVOPS要有云计算知识做基础吗?
    展开

    作者回复: 你好,看来大家对DevOps的相关技能关注度非常高啊,我会在番外篇中聊聊我的看法,简单来说,我觉得云和容器对于DevOps还是非常重要的能力,建议有时间可以多了解下哈

  • kirajun
    2019-10-09
    DevOps 专家这个岗位,所需要的技能、技术栈有哪些?成长的路径是怎样的呢?

    作者回复: 你好,你所关心的这些内容,我会在第一个番外篇中说说我的看法,敬请期待😄