Page 44 - 《软件学报》2021年第5期
P. 44

1268                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                    但在实际应用中,大量技术和工具的使用将给开发带来挑战,数量会变得难以控制,从而使整个项目变得难
                      [6]
                 以管理 .特别是在有成员变动的团队,没有代码注释或是技术说明性文档,太多技术的使用可能会降低微服务
                 的可维护性和可扩展性.
                    因此,公司支持开发团队自由选择技术,同时也需要有一定的控制.开发不同的微服务所需的技术或工具可
                 能并不相同,公司应该根据不同的情况制定不同的标准                   [29] .制定标准时需要注意的是:一味追求新技术或是执着
                 于使用过时的技术,都可能会降低使用微服务架构进行开发的有效性.另外,当一个团队在开发时想要使用一个
                 新的技术堆栈时,必须经过一个评审过程,以确定新技术带来的收益超过引入新的技术堆栈带来的操作开销                                     [30] .
                 3.1.4    组织文化
                    文化问题如果没有被很好地处理,那么使用微服务所预期的收益可能永远也无法达成                                [31] .Thomas Jardinet
                 也指出:企业迁移向微服务真正的僵局是文化方面,组织和开发人员可能会抵触这种变革,因为他们无法接受微
                                            [1]
                 服务 [28] .例如,在 Fritzsch Jonas 等人 的研究中有这样一个案例:一家软件服务公司正在尝试使用微服务架构为
                 汽车客户现代化一个非常大的配置管理系统,这就需要原本的开发团队经历从瀑布式到敏捷式的开发思维转
                 变.这会让一些开发人员难以接受,因为他们意识到之前开发的系统和取得的成就已经过时,而能否在微服务开
                 发中找到自己在团队中的定位,使他们陷入担忧.让团队中的所有人能够接受微服务,这是很困难的事情,也是
                                   [1]
                 必须被妥善解决的问题 .
                    团队合作中需要异议和讨论,因为在团队进行讨论时很容易被群体思维(群体思维是社会心理学家 Irving
                 L.Janis 提出的一种心理现象)所压倒,即,为了与别人达成共识而放弃表达自己的意见.微服务开发团队需要创
                 造一个让异议和讨论自然而然产生的环境,让团队成员在不同解决方案的讨论中获取最佳的解决方案.组织成
                 员间的信任也是组织文化的组成部分,需要相信其他开发人员能够开发出可靠有效的微服务                                 [31] .
                    公司可以通过 Westrum 文化模型(Westrum cultural model)的使用来对团队文化是否健康进行评估,
                 Westrum 文化模型如图 4 所示.Westrum 文化模型不是专门为微服务设计的,但使用微服务架构的公司可以使用
                 这种模型来了解公司的文化状态,评估组织文化是否健康.Westrum 文化模型把公司的文化氛围分为 3 种:病态
                 型(pathological)、官僚型(bureaucratic)和生成型(generative).病态型的文化特征是团队中存在着大量威胁和恐
                 惧,团队间的低效合作和消极文化可能会造成人员流失.官僚型的文化中,人们倾向于维持等级制度,团队中充
                 斥着规则,成员很少关心组织的总任务.生成型的文化中成员间具有高度的合作和信任,他们关注的重点是团队
                 的任务,而不是自己      [32] .
















                                                 Fig.4   Westrum culture model
                                                  图 4   Westrum 文化模型
                 3.1.5    开发人员
                    正如 Elger Peter 等人 [33] 所说:跨功能实施团队的技能,将在很大程度上决定微服务架构的有效性.当开发人
                 员缺乏使用微服务的开发经验,或者甚至不了解微服务架构的基本概念时,他们仍会使用之前开发单体架构的
                 思想去迎接微服务.由这样的开发人员组建的团队将十分危险,因为分布式系统开发(distributed system
                 development)的大泥潭将让开发人员寸步难行.同时,微服务还要求开发人员对系统容错、安全性和延迟等非功
   39   40   41   42   43   44   45   46   47   48   49