基于云服务的DevOps知识获取与应用研究

2020-08-21 09:09陈云晖
数字技术与应用 2020年7期
关键词:云服务需求

陈云晖

摘要:研究针对以往DevOps知识组织、管理不佳及使用效率低等问题,提出了基于云服务DevOps知识获取管理方法,首先通过多种方式对一组知识源进行获取、转换、存储等,并提出了DevOps知识分类方法,设计了DevOps知识库原型系统,最后分析了基于需求的DevOps知识库应用情况。

关键词:云服务;Decops知识获取;知识分类;知识库原型;需求

中图分类号:TP393.09 文献标识码:A 文章编号:1007-9416(2020)07-0099-02

1 DevOps知识管理

DevOps是一种软件开发策略,将开发和运营团队整合为一个协作小组。它通常包括敏捷方法、持续集成(CI)/持续交付/(CD)工作流和自动化工具。DevOps的目标是尽快交付高质量的软件。DevOps要求团队成员之间进行清晰的沟通,并且通常需要从传统工作流程的角度进行重大改变[1]。作为交换,它可以使团队开发高效、有效、可持续和安全的工作流程。DevOps的兴起及发展使得互联网上DevOps知识呈现出非结构化及半结构化数据形式,其信息来源越来越广泛。与半结构化数据相比,非结构化数据发现及获取自动化实现较为困难,在文档分类、自然语言处理等方面存在的不准确的问题。而对文档、DevOps工具等数据进行人工抽取、评价,则能够提高可信度、准确度。

在应用DevOps知识时,首先由运行维护人员或软件开发者结合实际情况提出相应的DevOps需求,为保障需求的实现,需要在DevOps知识库中对可选方法进行查询,需要注意的是DevOps知识库需要不断的更新,及时的进行DevOps知识信息添加,如中间件组件部署脚本等,该知识库能够容纳较多的知识规模,存储内容也在不断更新中。通常,应用系统运行能够实现实时监控,以便用户了解系统运行状态,及时发现系统运行存在的问题,并随时对DevOps需求做出相应的调整[2]。DevOps知识系统中任何一个组件发生变化,都会引起DevOps需求的变化。基于这一特点,需要保障DevOps知识管理能够保持持续性,可以进行迭代式积累,便于组织管理与使用。

2 基于云服务的DevOps知识库

2.1 知识分类

云服务下DevOps知识库知识分类是实现系统化管理的重要前提前,其不僅是开发人员、运行维护人员对使用知识的获取需求,同时也是查询所需知识的内在要求。在云服务技术支持下,DevOps知识库分类方法也呈现出多样化特点。此次研究就DevOps知识库的分类问题进行专门阐述,以期为相关行业工作者提供参考。从知识类型看,DevOps知识库使用主要包括中间件、基础设施、DevOps自动化工具等,上述几种知识分类都具有一定的抽象性特征。其中以中间件应用最为常见,对中间件进行细分,又包括运行环境(Java、PHP)、Web环境(Apache HTTP Sever)、数据库以及消息服务等子类型,具体见图1。根据控制类型可以将DevOps自动化工具分为版本控制、自动化构建以及持续集成等多种类型。目前常用的GitHub、BitBucket等则属于版本控制自动化工具。Apache Ant、Maven则属于自动化构建DevOps自动化工具。综上,由于DevOps知识分类多种多样,一定运维人员及软件开发者必须重视DevOps知识分类问题,确保DevOps知识库系统化存储的实现。

2.2 知识库原型

云服务背景下DevOps知识库原型的设计,首先需要建立标准化DevOps知识分类及管理系统。知识分类在2.1已经有所阐述,设计云服务DevOps知识库原型时,要借助Node.js对知识库构造器进行科学部署,在知识库构造器作用下对DevOps知识库内容进行读取,然后分级存储知识库内容,创建DevOps知识库。DevOps知识库原型设计,首先要选择与之相适应的知识库构造器,直观、形象的显示出DevOps知识,完成对DevOps知识的高效利用。其次,设计DevOps知识库原型时,要借助非结构化数据、半结构化数据对Amzon、Google等类型知识进行提取,并将其保存在DevOps知识库中,采用DevOps知识分类标准使得知识建立关联性,并做好相应的标记,该操作能够为后续对知识的使用提供极大的便利。需要注意的是,在存储知识数据时,应采用单个YAML文件形式进行操作。一般情况下,云服务下DevOps知识库原型设计得到实现需要由4000个中间件支持,常见的中间件类型包括Chef校本、Puppet脚本等,其中Puppet脚本数量最多,为2000个左右。除此之外,DevOps知识库原型的设计还需要有基础设备作为保障,中间件类型是确保DevOps知识库原型设计的重要构成。最后,运行维护人员、软件开发者应在知识库系统上设计安装展示器,以便DevOps知识能够应用于多个场景,发挥DevOps知识最大效益。

3 DevOps应用需求

研究描述了云服务的DevOps知识获取及应用需求,以确保DevOps知识库查询功能的实现,获得能够满足DevOps需求的方法。描述DevOps采用的是布尔表达式,主要包括谓语逻辑定义与组合描述的方式。假设域采用表示,谓词采用表示,那么对实体进行布尔值赋值后,产生一个或一个以上子类表示为真,若无则表示为错误。布尔表达式不仅能够用于对Devops知识应用需求,而且能够用于对其他应用需求的描述。需要注意的是在对Devops附加需求进行表达时,可以采用自定义附加谓词的形式进行表达,表达可以采用多个谓词组合的形式,以维持系统的稳定性与安全性。

4 结语

目前,Devops在软件自动化管理中的应用已经成为一种趋势,实践证明,在云服务技术支持下,Devops知识获取可以通过知识库建立得以实现,经过知识分类及原型的构建,结合获取需求,设计具有针对性得到Devops管理方法,具有一定的可行性与实用性。

参考文献

[1] 丁海斌,崔隽,陆凯.基于Docker的DevOps系统设计与实现[J].指挥信息系统与技术,2017,8(3):87-92.

[2] 肖婵婵.自动化测试在DevOps体系中的应用初探[J].移动通信,2017,41(22):77-83.

猜你喜欢
云服务需求
基于会计服务的SWOT分析
我国少儿图书的供给与需求关系探究
企业文化与人力资源培训的关联性分析及阐述