前端开发与 DevOps 实践

前端开发 Apr 08, 2020

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

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 月,深圳.福田。

nicejade

予 90 年生人(公历 91);性别男,爱好女;姓氏在百家姓中排一十六位,字琼璞,号轩帅;产自陕南一隅;现栖身于深圳,作为一介程序员。略崇文喜武,大爱豪杰美人,也尚科技;现有维护多个基于不同工具搭建的技术博客,及「倾城之链」、「Arya Jarvis」等个人作品,故而衍生别号:晚晴幽草轩轩主、倾城之链城主、静轩之别苑阁主。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.