谈谈devops与数字化

什么是devops

  1. 我们看下侠义的 devops 定义,可以先看下 Apple 的 devops 岗位的介绍
  • 简介
1
We are passionate about continuously improving how we enable the software development lifecycle and opening up the boundaries to reinvent ground breaking solutions to engineering problems of scale. As a team member, you would develop applications and micro-services to build and improve our next-generation Build & Test CI pipeline
  • 技能点
    • Proficient in Python programming
    • Experience working on Unix/Linux-based platforms
    • Experience with DevOps tools such as Chef, Docker, Kubernetes
    • Experience with software development processes such as building, unit testing, code analysis, release process, and code coverage
    • Experience with CI/CD process and platforms e.g., Jenkins
    • Computer Science fundamentals (object-oriented design, data structures, algorithm design, and complexity analysis)
    • Strong analytical and problem-solving skills
    • Excellent written and oral communication skills and ability to work with large development teams
    • Experience developing in an object-oriented programming language such as Swift (preferred), Java, C++

总结一下就是, 需要你对整个 CI/CD相关工具链熟悉, 方便你能够设计好的 pipeline(可能是个 devops平台, 或者是一系列的工具链),来加速软件产品的交付。 一些大公司会建立自己一套 devops 平台,来涵盖从研发过程管理, 构建, 测试, 编译, 发布的整个流程。大部分中小公司会基于开源软件来走整个流程。建立平台当然需要工程师,那开发这个系统的人就是 devops 工程师。基于开源软件搭建这个流程,总需要人把各个开源软件串起来形成 pipeline。 那这个人就是 devops工程师。

进一步定义 devops

  1. 一个好的工程师应该对自己开发的系统的整个生命周期负责。从设计文档(what, why, how), 代码质量, 可维护性等方面来维护自己开发的模块或系统。

这样要求一个工程师的好处是什么?

最简单的责任制, 你需要对自己的过程,产物负责。

  • 因为自己开发的,自己会有考虑全面的动机

  • 代码开发完的阶段自己可以 hold 住的话, 减少大量的信息同步(和测试同学的沟通, 和运维同学的沟通)

从上面2个 devops 的定义来说,其实本质上是减少沟通成本, 这确实也是实际工作中最大的成本。 进一步引申,devops 可以提高软件研发过程,上线过程确定性。 平台通过将过程内化到系统里来将过程规范化,确定化。 有devops 意识的工程师从源头进一步软件产物的确定性提高(代码质量,可维护性, 文档)。

这里又回到 Shannon对于信息的定义: 『信息是用来消除随机不确定性的东西』关于信息确定性,可以看我之前的文章。 我们进一步思考,为什么产生了 devops? 为什么所有企业都在谈数字化? 数字化本质上是信息规整化的过程, 把大量的人类生产过程转化为数字信息。承载数字信息的系统就需要大量的工程师去开发维护。那为了加速这些数字化系统的交付速度,就衍生出 devops 了。有了这些数字信息那么确定就会提高很多。举个例子

支付宝把交易过程,简化了好多。 没有支付宝,淘宝我们怎么交易,有的人要反驳可用手机银行

  1. 数字银行卡只是提供了钱的数字化,但是没有对产品的数字化,比如产品参数,别人的评价, 甚至产品体验(直播)。这些数字化的东西,提升了用户对产品的确定性, 加速了交易频率, 也让产品更快的触达消费者。
  2. 支付宝是多个手机银行的集合。你是愿意用支付宝还是用多个银行的 app ?

以前我会对抖音,头条这种谋杀时间的软件有成见,每天一刷就刷很长时间,没有创造任何东西。 现在看法改变了, 因为他通过推荐算法进一步提高了信息传播的效率。对于部分用户一刷刷很长时间,这些视频,文章确实从某种程度能帮助到他,另一方面比如化妆相关的产品(对李佳琦),直播实在是完美的表现形式。 衣服也是, 看图片是看不出什么的,你需要真人来演绎这些东西。这些东西都会增加人们对商品的确定性, 从而促进人们购物的意愿。这也是数字化的商业价值。最近2年,感受很深的是60+老人,比如我爸, 喜欢从抖音和拼多多购物,甚至成瘾。 整个网购从阿里巴巴 -> 淘宝/京东 -> 拼多多/抖音 。 这个场景覆盖的人群越来越下沉。

上面只是从购物来展现数字化的价值。其他领域基本类似,数字化的需求是普遍需求, 那么对于devops的需求也是普遍需求。所以devops谈了多少年了,都聊烂了,但是一直没有过时, 因为纵使devops相关的工具链在变化,数字化的滚轮不会停止。

...
2019-2024 zs1621