英语原文共 23 页,剩余内容已隐藏,支付完成后下载完整资料
利用微服务和开发的持续架构:
系统映射研究
达维德泰比,瓦伦蒂娜·勒纳杜兹和克劳斯·帕尔
坦佩雷大学,芬兰坦佩雷
{davide.taibi,valentina.lenarduzzi}@tuni.fi
自由大学-博尔扎诺,博尔扎诺,意大利claus.pahl@unibz.it
摘要背景:有几家公司正在将他们的信息系统迁移到云计算中。微服务技术和开发运营技术是两种最常见的采用技术。然而,人们仍然缺乏理解如何采用基于微服务的体系结构风格,以及在连续的体系结构管道中要使用哪些工具和技术。
目标:我们的目标是描述不同的微服务架构风格的原则和模式,以便绘制在devop环境中采用的现有工具和技术。
方法:我们进行了系统映射研究,确定目标和研究问题,书目来源,搜索字符串和选择标准来检索最相关的论文。
结果:我们确定了在23个案例研究中被广泛采用和报告的几种一致的微服务架构原则和模式,并总结了从案例研究中获得的每种模式的优点、缺点和经验教训。最后,我们映射了现有的特定于微服务的技术,以了解如何在DevOps管道中持续地交付价值。我们描述了当前的研究,报告了差距和趋势。
结论:对于不同的迁移、编排、存储和部署设置,会出现不同的模式。结果还表明,缺乏针对微服务特定技术的实证工作,特别是在DevOps的发布阶段。
关键词:云原生服务·微服务·DevOps·迁移·业务流程
介绍
软件正在变得越来越复杂,开发过程正在演变,以应对当前由市场施加的快速变化的需求,以短时间的上市和快速发展的技术。持续的软件工程,特别是DevOps,试图解决这些方面,为开发人员提供一套持续的交付实践和工具,以持续交付价值,提高交付效率和减少时间间隔
请引用:
泰比 D., 勒纳杜齐五案,帕尔 C.(2019)“基于微服务和开发运营的持续架构:系统制图研究。”云计算和服务科学。2018年精选论文。《计算机与信息科学中的通信》,第1073卷,第3页。126-151,施普林格。2019.DOI:10.1007/978-3-030-29193-8_7
版本[3]。然而,传统的整体式架构并不容易适用于这种环境,需要考虑新的建筑风格。为了采用DevOps,所采用的建筑风格必须注重敏捷的设计;为此目的,微服务[10]架构风格适用于这种连续的架构设置。
微服务是一种相对较小的、独立部署的自主服务,具有单一且明确定义的目的[10]。由于它们的独立可部署性,它们在持续交付方面有很多优势。它们可以用不同的编程语言开发,它们可以独立于其他服务进行扩展,并且它们可以部署在最适合它们需求的硬件上。此外,由于它们的大小,它们更容易维护,也更容易容错,因为一个服务的故障不会破坏整个系统,这可能发生在一个单片系统[12]中。
DevOps(开发和操作)是一套持续的交付实践,旨在减少交付时间,提高交付效率,减少发布之间的时间,同时保持软件质量。它结合了软件开发、质量保证和操作[3]。DevOps包括开发过程(计划、创建、验证、包)和操作过程(发布、配置、监控),结合开发团队、质量保证和运营团队通常执行的活动。为了采用DevOps实践,系统的建筑风格必须注重敏捷设计,微服务建筑风格是最适合应对[2]的建筑风格之一。
尽管微服务体系结构风格和DevOps在工业中被广泛应用,但在理解如何在连续的软件工程过程[2]中开发这类体系结构方面仍然存在一些挑战。在这项工作中,我们扩展了我们之前对微服务[16]的体系结构模式的映射研究。
这项工作的目标有两个方面:首先,我们的目标是描述文献中报道的不同的微服务架构风格,作为关于实现的建议和案例研究。然后,我们的目标是映射所报告的基于微服务的技术,这些技术可以应用于DevOps管道,以识别现有的差距。因此,我们将这项工作设计为一个系统映射研究[13,19]。Pahl和贾姆希迪·[11]之前发布了一份系统地图,旨在对现有的微服务研究机构进行分类和比较,主要考虑来自网络博客的非同行评审内容。我们的研究在以下几个方面有所不同:
- 重点:我们关注建议的建筑风格定义、新兴模式和将微服务开发映射到DevOps管道,而[11]专注于最初描述可用的研究主体,而[16]只关注建筑风格。
- 全面性:我们纳入了8个文献来源的结果和检索论文的引用[19],以增加论文基础。此外,我们还纳入了截至2016年发表的论文;
D. 泰比等人。
- 系统方法:我们进行了一项系统制图研究,实现了[13]中定义的方案,然后使用论文[19]中的所有参考文献进行了系统的滚雪球化过程;
- 质量评估:虽然这不是一个系统的文献综述[8],但我们只包括同行评审的贡献或非同行评审的论文,只有在同行评审的引用次数高于平均引用次数的情况下。
我们的研究的贡献可以总结如下:
- 对现有的微服务建筑风格和模式进行分类;
- 根据文献中报道的不同架构风格原则和模式的优缺点分析;
- 针对DevOps的微服务技术的分类;
- 确定研究方面的差距和趋势。
本文的结构如下。在教区。2.我们描述了所使用的方法。第3节显示了所得到的结果。在教区。4我们讨论了这些结果。第5节确定了对有效性的威胁。第6节以一些结论结束。
方法学
我们使用彼得森[13]定义的协议与系统的滚雪球化过程[19]相结合。
目标和研究问题
我们将我们的研究目标定义如下:
目标1:分析建筑风格方案
为了比较它们和相关的实现
关于它们的优缺点
在云原生软件实现的上下文中。
目标2:描述特定于微服务的技术
以便将它们映射到DevOps进程
关于在云本地软件实现的上下文中识别和比较不同阶段的不同技术。关于G1,我们得出了以下研究问题:
- RQ1:哪些是不同的基于微服务的架构风格?
- RQ2:现有的建筑风格之间有什么区别?
- RQ3:在文献中描述的关于已确定的架构风格的实现中,强调了哪些优点和缺点?
关于G2,我们推导出了最后一个研究问题:
- RQ4:在微服务环境中应用了什么与devops相关的不同技术?
搜索策略
书目来源和搜索字符串。我们在[9]的8个文献来源中确定了相关著作:ICM数字图书馆、IEEEXplore数字图书馆、科学直接、Scopus、谷歌学者、Citeeser图书馆、Inspec和施普林格链接。我们根据问题[9]中的PICO术语定义了搜索字符串,只使用术语总体和干预。我们没有使用结果和比较术语,以免降低所选搜索字符串的研究效率(表1)。我们应用了以下查询,使语法应用于每个书目源:
RQ1-3:(微服务或微服务)和(建筑师、迁移、现代或重新设计、重新设计或改造)。
RQ4:(微服务或微服务)和(开发或开发或创建、或验证、测试或检查或包装或压缩或存档;发布或配置或部署或监视器或性能或基准)。
符号*允许捕获搜索词中可能的变化,如复数和动词共轭。
表1 搜索字符串-PICO结构[16]
人口 |
干预条款 |
P:微服务 |
微服务 |
I:DevOps、架构、迁移 |
重新设计、改造、改造、重新设计、重新设计; 开发产品、目录、测试、检查、包装、存档、配置、部署、监视器、性能、基准; |
纳入和排除标准:我们根据rq定义了选择标准,并考虑了以下纳入标准:
一般标准:我们只包括用英文写的论文。此外,我们还排除了那些没有经过同行评审的论文。然而,如果同行评审论文的被引用数量高于平均水平,我们也考虑了非同行评审的贡献。从8个文献来源中删除非同行评议的文献,提取了独特引用的数量。所选的作品最多涵盖两年,因此我们不能期望有大量的引用。因此,有大量被引用的作品可以被认为是非常相关的,即使它们没有经过同行评审。
按标题和摘要选择:我们删除了所有不包含任何引用微服务或使用术语微服务用于不同目的或不同领域的论文。电子学,社会科学hellip;);
D. 泰比等人。
全文选择:我们排除了没有提供任何与我们的研究问题相关的论文或没有明确引用所采用的建筑风格的使用微服务的论文,以及没有报告使用微服务的基于微服务的实现的任何优缺点。对于前三个rq,我们考虑了基于微服务的体系结构风格、基于微服务的云系统的实现、将单片系统迁移到基于云的微服务本地的系统的建议、报告基于微服务的体系结构风格的优缺点的论文。对于RQ4,我们考虑了在基于微服务的系统中应用的DevOps技术的论文,以及在基于微服务的系统中应用的项目规划、编码、测试、发布、部署、操作和监控技术技术的论文。
搜索和选择过程。搜索工作于2017年10月进行,包括在此之前可获得的所有出版物。应用这些搜索词,我们检索到了2754篇独特的论文。
检验纳入和排除标准的适用性:在应用纳入和排除标准之前,我们对从检索到的论文中随机抽取的30篇论文(每个作者10篇)的子集进行了适用性[9]检验。在选定的30篇论文中,有8篇有两位作者不同意,第三位作者参与了讨论,以澄清分歧。
将纳入和排除标准应用于标题和摘要:我们将改进后的标准应用于剩余的论文。每篇论文都由两位作者阅读,如果有不同意,则由第三位作者参与讨论,以澄清分歧。对于七篇论文,我们涉及到第三篇作者。在2754篇初始论文中,我们按标题和摘要包括了85篇。
前后滚雪球:我们进行了前后滚雪球[19],考虑了85篇论文(858篇)中的所有参考文献,并对参考检索到的所有论文进行了评估,得到了另一篇相关论文。我们采用了与检索到的论文相同的过程。新选择的研究被纳入上述12篇论文,以组成最终的一套出版物。
完成阅读:在对两位作者完成的97篇论文进行全面阅读后,论文鉴定过程得到了40篇同行评审论文和2篇非同行评审论文。与其他文献相比,两部灰色文献([S1]和[S2])的被引次数非常高,被引次数分别为18次和25次。(平均被引用次数=4.21)。相关的引文与完整的参考文献一起报告
在附录中。
对于[S2],我们也将[14]的引用归因于同样的工作,因为这个网站是在两个月后以同样的信息发布的。
表2 论文的选择过程为[16]
选择过程 |
已考虑的文件数 |
被拒绝的论文 |
验证 |
从参考书目中提取的论文 来源 |
2754 |
由三名研究人员独立分类的10篇随机论文 |
|
根据标题和摘要进行筛选 |
2669 |
第一次筛选(K统计检验) |
|
初步论文确定 |
85 |
||
二级论文包含 |
858 |
855 |
系统的滚雪球式[19],包括85篇主要论文中报道的所有引文,并根据标题和摘要进行筛选 |
已考虑提交全文以供审查 |
88 |
每篇论文都被两名研究人员完全阅读,从参考文献中鉴定出858篇二级论文 |
|
基于完整阅读的筛选 |
46 |
基于纳入和排除标准被拒绝的论文 |
|
相关论文包括 |
42 |
2014年至2016年,共发表了42篇入选论文。虽然微服务一词是在2011年引入,但从2011年到2013年没有发现任何出版物。其中超过65%的论文在会议上发表,另有23%在研讨会上被接受。只有7%的论文以期刊文章的形式发表,近5%是非同行评议的网站(灰色文献)(表2)。
3 结果
我们现在总结了基于微服务的解决方案的优缺点,考虑到论文中最经常提到的问题是重要的。我们分析了从论文中出现的最常见的建筑风格原则和模式,也包括了它们所报告的优点和缺点。此外,我们还报道了与devops相关的技术的应
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[603454],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。