纵观行业发展,自动化软件开发运动已然来临,DevOps 平台也正在集成各类自动化工具,尽可能减少客户的工作量,驱动行业创新,提供一站式需求解决服务,这些工具让DevOps 得以从一个概念慢慢变成现实。
开源中国DevOps社区 D-Day系列直播第三期,我们邀请到云智慧研发经理王海虎,他将以自动化工具为主角,介绍借助自动化工具落地DevOps的挑战和方法,以及低代码技术与DevOps的新探索。
以下内容整理自本次直播分享:
这样的分工迭代模式在过去很长一段时间里被大部分企业研发团队采用,然而也暴露出了诸多问题和痛点。
首当其冲的是团队沟通问题。在传统团队人员结构中,开发与运维分属两个团队,之间相互独立,彼此沟通较少,甚至不太了解彼此之间的一些工作内容,形成信息差,导致项目整体迭代效率下降。由此衍生的一系列问题和痛点包括:
运维团队需要整理容器、集群等相关部署的文档工作,由于不了解服务的架构、依赖情况,导致部署文档整理变得复杂。
由于运维人员对应用程序内部逻辑不清晰,这导致无法独立判断应用程序的正常运行。
运维团队对开发团队的进展一无所知,运维团队根据自己的理解制定监控计划。
同样的一个产品、同样的一个环境,每次都需要进行手动部署,重复性工作太多。
明明简单的安装部署,服务更新,但还都需要人员投入。优秀人员不愿意干,一般人员不放心。从业人员没有成长空间。
DevOps 由两个单词组合而来,分别是 development 和 operations,即把开发和运维串联起来的开发模式,旨在促进开发和运维团队之间的协作,并以自动化和可重复性的方式快速地更新迭代,把代码部署到生产环境中。
具体来看,DevOps 流程图类似一个“无穷大”的符号,开发与运维两个流程结合,运维做完运维工作之后,就可以把一些反馈需求给到开发团队进行开发,开发完成之后再给到运维部署上线,通过这样的持续集成/持续交付,形成周而复始的循环迭代。
相较于开发与运维分离的传统开发模式,DevOps 迭代方式的优点可概括为以下几点:
可预测性:DevOps 大大降低了新版本的意外失败率。
可重现性:对所有内容进行版本化,以便可以随时恢复早期版本。
可维护性:在新版本崩溃或有问题的情况下,轻松回滚。
降低成本:DevOps 在开发过程中提高了效率,降低了研发成本。
更高的质量:由于和运维团队紧密合作,产品问题可以尽早暴露,从而更快解决问题。
降低风险:DevOps 在环节上增加了风险控制方面的内容,降低项目研发风险。
DevOps 赋予开发团队快速迭代的能力,这个过程少不了自动化工具的支持。目前,市面上流行的 DevOps 自动化工具帮助开发者简化了大量重复性的工作,作为新一代软件开发的基础设施,被众多企业研发团队所采用。
以作者所在团队为例,目前团队内部使用的工具分别是 JIRA、Gitee、SonarQube、Jenkins、JFrog、FlyFish 等。
JIRA 是集项目计划、任务分配、需求管理、错误跟踪于一体的商业软件。Jira 融合了项目管理、任务管理和缺陷管理,许多著名的开源项目都采用了 JIRA。类似的任务管理工具还有禅道,以及一些在线的任务管理工具等等。
Gitee 是国内很多企业研发团队都在使用的 DevOps 代码管理平台,可以帮助我们进行代码仓库的管理,包括和 Jenkins 等常用工具的紧密配合,此外 Gitee 还提供了诸如代码扫描、漏洞检查、提交记录等全套的 DevOps 常用功能。
Jenkins 是一款开源的 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,是 DevOps 整个环节上非常重要的一环。当然可以替代它的自动化工具也有很多,但是目前各大研发团队使用比较多的仍然是 Jenkins,它可以串联整个系统上下游的服务,进行自动化的构建。并且随着 Jenkins 社区插件的不断完善,其功能已经非常强大。
Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。其优点包括:支持所有语言的检测;灵活扩展,插拔式使用,自定义的代码检测规则;生态强大,业界有诸多插件,与 jenkins 友好集成;架构松耦合,将代码扫描的计算消耗迁移到业务或者构建方的资源上,极大的提升了自身的吞吐能力。
JFrog 是一个开源的 DevOps 管理平台,其优点包括:完全支持所有主要包格式的存储库管理器,可以对几乎所有语言的包的依赖进行管理;它支持所有主流 CI 工具,并在部署期间能捕获详尽的构建环境信息,以实现可完全复制的构建;JFrog 提供了强大的搜索功能,可以通过带有正则表达的名字进行搜索;Remote 功能可以将制品移动到不同的存储库,更好的管理和维护制品的生命周期。
Docker 是基于LXC(linux Container)实现的,可以使得进程之间互相隔离,并共享宿主机资源的一个开源的应用容器引擎,也是目前全球范围内使用最广泛的容器引擎。其优点包括:跨平台特性,无需关心底层系统情况,通过容器一键部署;轻量级,不需要虚拟系统就可以进行应用隔离,占用更少的资源;可互换,通过docker进行容器化部署,可以即时部署更新和升级和回退;便携式,可以在本地构建,部署到云,并在任何地方运行;可扩展,可以增加并自动分发容器副本,拓展性强;自动化,一个命令就可以自动部署好所需环境。
FlyFish( 飞鱼)是云智慧公司自主设计、研发的一款低门槛、高拓展性的低代码应用开发平台,为数据可视化开发场景提供了高效的一站式解决方案。飞鱼提供丰富的组件和应用模板库,可通过拖拉拽的形式完成数据可视化开发,零开发背景的用户也可完成数据可视化开发工作。同时,飞鱼也提供了灵活的拓展能力,支持组件开发、自定义函数与全局事件等配置,面向复杂需求场景能够保证高效开发与交付。
为了进一步降低 DevOps 门槛,飞鱼依托于云智慧的行业项目实践,提供拖拽式的可视化设计工具,预置多种数据视图,全面支持 Echarts、HighCharts、D3 等图形组件。
通过与常用 DevOps 工具的结合,飞鱼可以实现不同场景下的可视化数据沉淀。例如飞鱼+Gitee 呈现的 DevOps 代码工程看板:
飞鱼通过低代码的方式对各 DevOps 自动化工具关键指标进行把控,打通 DevOps 过程应用,把过程中的指标轻易量化,并通过事件触发、通知人员的方式提高 DevOps 运维监测效率,通过抽象脚本、抽象对象、抽象 action,把任务编排起来,提高 DevOps 开发效率。
飞鱼项目 Gitee 地址:https://gitee.com/CloudWise/fly-fish
讲师介绍
姓名:王海虎
职位:云智慧研发经理
简介:王海虎,AlOps 社区专家团成员。全栈工程师,低代码方向。开源项目 AntV 贡献 者,开源项目 FlyFish 项目负责人,清华大学 Thulab 的 DWF 项目开发者之一。
开源中国DevOps社区 D-Day系列直播D-Day系列直播是由开源中国社区与 开源中国DevOps社区联合主办,邀请国内顶尖的DevOps行业技术专家、文化领袖,为开发者们解读DevOps的文化与方法、落地与实践、平台与工具。旨在为开发者和行业相关人员普及DevOps干货,了解行业最新动向,掌握优秀的实践方法。希望以D-Day系列直播为契机,让更多人开始迈出学习DevOps知识的第一步。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...