DevOps(Development 和 Operations 的组合词)是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。DevOps(Development 和 Operations 的组合词)是一种重视“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠(维基百科中给的解释)。

前端开发与 DevOps 实践

『有则推荐』: 自 2017 年初,就有开始利用闲余时光,打磨个人最新作品——「倾城之链」 ,有意将其打造成优良开放型平台,旨在云集全球优秀网站,让您更为便捷地探索互联网中那更广阔的世界;在这里,您可以轻松发现学习分享更多有用有趣的事物。目前仍在不断迭代、优化中,如果您对此感兴趣,不妨先尝试一下: 「倾城之链」;亦十分欢迎提出您宝贵意见或建议(亦可通过微信扫,描如下小程序码进行体验)。 (Upade@2020-05-01 于深圳.南山)。

小程序码 - 倾城之链

DevOps 的诞生

2009 年,Patrick Debois 发起了一个名为 DevOpsDays 的会议,始于比利时,现已传播到多个国家。术语 DevOps 现在已经在多种情况下使用。Bass, Weber 和 Zhu 提出的定义是:

DevOps 是一组旨在保证高质量的同时,减少将更改提交到系统、以及将更改放入正常生产之间的实践。

即 DevOps 的目的在于:保证高质量的同时,减少发布流程的总耗时。DevOps 早在 2009 年就有人提出来,但是,为什么近几年才开始受到越来越多的企业重视和实践呢?因为 DevOps 的发展是独木不成林的,现在有越来越多的技术支撑。微服务架构理念、容器技术使得 DevOps 的实施变得更加容易,计算能力提升和云环境的发展,使得快速开发的产品可以立刻获得更广泛的使用。

DevOps 的价值

几乎所有的开发、测试、运维都听过敏捷软件开发,有些公司也是采用这种模式,来进行产品的快速迭代,以此验证产品的可行性,快速抢占市场、拿到更多投资;或提供更多的功能给用户使用;或修复软件 Bug 解决用户的抱怨。快速迭代意味着产品需要频繁的部署上线,这也就意味着研发、测试、运维团队必须克服这种频繁上线带来的诸多问题:研发质量低;测试不充分,上线后 Bug 层出不穷;运维上线部署慢、跟不上研发的节奏,经常由于环境、配置等问题导致应用不能正常提供服务等等。

一方面公司希望快速将产品交付给用户使用,另一方面技术人员又害怕这种快速交付,毕竟越快越容易出问题,而且压力巨大。正是在这种背景下,DevOps 应运而生。为研发、测试、运维团队提供了理论性指导

DevOps 的实践

DevOps 运动的主要特点是强烈倡导对构建软件的所有环节 (从集成、测试、发布到部署和基础架构管理) 进行全面的自动化和监控。就目前而言(2020),DevOps 实践渗透,已早已不止持续集成持续交付持续部署监控等方向,有团队出品了一个 DevOps 元素周期表,它所关联的工具、涉及的服务之多,可见一斑。

DevOps 元素周期表

Web Developer Roadmap 2020,有列出前端、后端、以及 DevOps 三大块,这里列出来以供大家参考。

DevOps Roadmap

借助这个思想,可以将其延伸至其他各个方面,如编码、学习、娱乐等;在遇到第二次做相类似的事儿,就该想着用极客的思维、精益求精的态度,将其简单快捷化,从而达到节省时间、愉悦心情之目的;在这段节省出来的时间内,可以尽情去玩儿,享受生活。倘若再抽出时间,用力学习以及打造属于自己神兵利器,至此一个优良的循环♻️就被营造出来了。笔者在此也有过一些尝试 ── Arya Jarvis:将平时常用的功能做了简化和集成,在需要的时候,一键即可完成,体验贼爽(每有新的诉求,就利用闲暇以扩展之)。

用好 Mac(Window)以及常用编辑器,能让你更好的编码;了解 Markdown 语法,能帮助你写文章、文档;玩转搜索引擎,可帮你解决掉绝大部分开发常见问题;熟悉 Chrome,无疑可以提升前端开发技巧;掌握诸如 Shell、GulpPython 等可以让你更快完成一些脚本;精通 Git,能更好管理你的项目代码;运用 CI/CD 工具,可协助你打造自动化流程…… 其他如 DockerGraphQLServerLess 等等,更是能给如今的前端开发者,带来极大的便利(更多可参见与时俱进版前端资源教程),嗟夫!善用工具兮、妙趣无穷哉

工具也是思想

  1. 技术与工具,是为解决问题、提升效率而生而用; 倘若只是为用(追逐新颖 or 时髦)而用,多少有些违背初衷,走火入魔;
  2. 正如《人月神话》中所说:“没有银弹”;软件开发过程里,没有万能的终极武器;只有「综合」而「灵活」运用各种方法,才是解决之道;
  3. 采取「微服务架构」模式,提倡将复杂庞大的系统,拆分成各个不同小组服务(粒度小,专注做一件事),服务之间相互配合、,渐进融合;
  4. 切勿追求一步到位(没必要,也不可能);唯有变才是唯一不变;避免前期过于复杂的拆分,以及人力、时间成本,做好预判、支持扩展;
  5. 保持学习、保持激情,主动去了解新的技术、工具、思想,然后适时采用;

最后补充一句:君子生非异也,善假于物也,共勉。

于 2020 年 04 月,深圳.福田。

原文首发于个人最新博客:静轩之别苑 — 前端开发与 DevOps 实践

您可能感兴趣的文章


静晴轩 ~ 晚晴幽草轩
个人微信公众号晚晴幽草轩;名字取自:“天意怜幽草,人间重晚晴”。
专注互联网开发(Web 大前端、快应用、小程序),以及分享优质网站、AI 应用、效率工具、心得感悟等内容。

文章目录
  1. 1. DevOps 的诞生
  2. 2. DevOps 的价值
  3. 3. DevOps 的实践
  4. 4. 工具也是思想
    1. 4.1. 您可能感兴趣的文章