DevOps 调查第十年,如何借助工具实现落地?
日前,基础设施自动化服务商Puppet发布了2021年DevOps调查报告。这已经是该系列报告发布的第十年,报告显示,在超过2,650 名 IT、开发和信息安全专业人士之中,有83%的IT决策者表示,他们的组织正在进行DevOps实践,以通过更优质的软件、更快的交付、更安全的系统以及系统的理论体系,来释放更高的业务价值。
DevOps,即Development(开发人员) 和Operations(运维人员)的组合词。
这是一种重视软件开发人员和运维人员之间沟通合作的开发模式,是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。关于对DevOps的理解,有许多不同答案。亚马逊云科技曾总结称,DevOps集文化理念、实践和工具于一身,可以提高组织高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,能够帮助组织更快地发展和改进产品。
DevOps模式
传统的软件开发流程被称为瀑布模型,分为开发、测试、部署三个阶段。软件开发人员先是用数周或数月的时间编程,然后将代码交给测试团队,最后将发布版本交给运维团队部署维护。
现在,随着软件交付周期的缩短,同时为了应对频繁的更改需求,迟缓的瀑布式开发已不能满足各方要求。通常来说,伴随着DevOps和敏捷开发,对应的还有CI和CD两个词。CI是Continuous Integration(持续集成),CD对应两个词语,Continuous Delivery(持续交付)和Continuous Deployment(持续部署)。DevOps模式下可大幅提高开发团队的工作效率,加快版本更新。不仅如此,产品被更快地交到用户受众,业务团队也能更快得到反馈、进行响应。
在对应用程序发布的影响上,DevOps有几点突出优势。
一是减少变更范围。与传统的瀑布式开发模型相比,采用敏捷或迭代式开发意味着更频繁的发布、每次发布包含的变化更少。由于部署经常进行,因此每次部署不会对生产系统造成巨大影响,应用程序会以平滑的速率逐渐生长。
二是增强发布协调。靠强有力的发布协调来弥合开发与运维之间的技能鸿沟和沟通鸿沟,采用电子数据表、电话会议、即时消息、企业门户(wiki、sharepoint)等协作工具来确保所有相关人员理解变更的内容并全力合作。
三是自动化。强大的部署自动化手段确保部署任务的可重复性,减少部署出错的可能。
DevOps起源
DevOps是近十年才兴起的开发思潮,其思想萌芽于2007年。当时,Petrick Debois 参与了比利时一个大型数据中心迁移项目,负责测试和验证。他需要同时在开发团队(Dev)工作和运维团队(Ops)工作,两个团队截然不同的工作模式使他非常困扰,但同时也给了他新的启发。
2008 年,在多伦多敏捷会议上,Petrick Debois 提出“ DevOps”一词。2009 年,第一届DevOpsDays会议在比利时根特举行。从此,“DevOps”一词逐渐传开。2012 年, Puppet的Alanna Brown起草并发布DevOps调查报告,此后更多机构参与报告调查,到了2014年,他们发现,DevOps的采用正在加速。
现在,绝大多数的组织都正在引入DevOps以应对更复杂的开发需求和环境,DevOps已经被视为企业发展的关键。最新的DevOps报告发现,它所遇到的大多数团队都高度进化,成为交付代码最快、最频繁、为开发人员提供最紧密反馈循环的团队,这些团队通过使用内部平台来实现诸如用户和服务到服务的身份验证和容器编排等等。
DevOps工具
正如前文所说,DevOps集文化理念、实践和工具于一身。现在已经有许多工具可以帮助组织更快速落地DevOps,下面介绍几款流行工具和平台。
Jenkins是开源的CI/CD服务器,可帮助用户自动化交付流水线的不同阶段。Jenkins流行的主要原因是其巨大的插件生态系统,它提供1000多个插件,因此几乎可以和所有DevOps工具(从Docker到Puppet)集成。
Git,最流行的DevOps工具之一,它是一种分布式SCM(源码管理)工具。Git让用户可以跟踪自己开发工作的进度。用户可以保存自己源码的不同版本,并且在需要的时候切回之前的版本。要将Git和DevOps工作流集成起来,需要维护repository,团队成员可以向其中push各自的工作。
容器平台Docker也可以一种重要的DevOps。使用Docker容器,可以在这些自定义环境中开发和部署应用程序,从而不必担心兼容性问题。它将应用程序隔离成单独的容器,因此应用变得更加便携也更为安全。Docker应用程序也独立于OS以及平台,用户可以使用Docker容器代替虚拟机,比如VirtualBox。
Kubernetes,容器编排工具。使用Kubernetes,无需将容器化的应用程序绑定到某个单独的机器里。相反,将它部署到一个机器集群里,Kubernetes会自动化分发并在整个集群里调度容器。
一种开发模式从出现到壮大,究其根本终究会落脚至 “降本增效”,而近期出现在大家视野的,称可实现“十人可抵百人用”的“飞算SoFlu全自动软件工程平台”,则实现了通过可视化编程的方式实现全自动开发、测试、运维,即使用平台的一个ID相当于一个10人科技团队,输入流程图即可实现自动开发、自动测试、自动运维,人力成本被大大降低,程序员从“重复造轮子”中解放出来,去关注更多的架构设计的事情,而企业用户在降本增效的同时,则可更多地关注自身业务。
据了解,飞算SoFlu全自动软件工程平台有三大核心技术,包括:
可视化开发,改变传统开发方法,业务逻辑有可视化展示,降低开发门槛,无需编写代码,在设计业务逻辑时就形成微服务应用;
平台组件,可视化平台组件是一类通用的技术功能模块,平台支持循环条件判断、函数调用,通过拖拽方式以及参数配置实现等同于编写复杂代码的业务逻辑,有别于通过组件排列组合;
管理方式,主要通过管理平台来管理需求、研发、测试、部署、上线、运维等整个软件生命周期,沉淀经验、积累知识,将管理制度真正的落地。
研究下来,飞算SoFlu全自动软件工程平台可称得上是近期比较有亮点的DevOps工具了,而可以帮助构建DevOps实践的工具还有许多,随着DevOps的实施及相应工具的普及,已经有越来越多的团队受益。
Liberty Mutual Insurance的DevOps平台高级总监曾表示,从根本上说,DevOps使开发人员能够拥有、运行和管理应用程序或软件的端到端交付。其团队部署代码的速度加快了200倍,创造了更高的稳定性,使其能够进行更多的实验,在更短的时间内推出新产品和功能。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【ShardingSphere技术专题】「ShardingJDBC」SpringBoot之整合ShardingJDBC实现分库分表(JavaConfig方式)
前提介绍 ShardingSphere介绍 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。 shardingJDBC使用的范围 适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。 详细一点的介绍直接看官网:https://shardingsphere.apache.org/document/current/cn/overview/ SQL语句相关 逻辑表:...
- 下一篇
加速一倍!百度大脑FaceID人脸识别模型是这样做量化的
随着 FaceID 人脸识别技术在手机、IoT 等设备的普及,受能耗和设备体积的限制,端上硬件的计算性能和存储能力相对较弱,这给端上人脸识别带来了新的挑战——需要更小更快更强的模型。 为了实现 FaceID 人脸识别技术在移动端上更快更准的运行,量化就成为一个重要手段。量化简单来说,就是用更低比特数据代替原浮点数据,已达到缩小模型的过程。其最核心的挑战,是如何在减少模型数据位宽的同时,保证人脸识别的准确率。为了解决人脸识别速度和精度的平衡问题,就需要考虑整个人脸识别过程中的诸多因素,接下来依次阐述人脸模型量化的好处、使用传统量化面临的问题、百度 FaceID 人脸识别模型量化技术/量化收益、以及对不同芯片的支持情况等。 人脸模型量化的好处 人脸模型量化,是将以往用 32/64bit 表达的浮点数,用 8/16bit 甚至 1bit、2bit 等占用较少内存空间的形式进行存储。 量化之后的好处是: 减少模型体积。降低模型存储空间需求,使模型更容易在端上部署。 压缩成本。降低端设备内存带宽,及数据访问功耗,使得设备运维成本降低。 加速计算。针对支持SIMD(单指令流多数据流)的设备,以1...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范