当前位置: 首页 > 科技观察

2019年值得关注的五个微服务发展趋势

时间:2023-03-12 04:46:58 科技观察

2018年对于DevOps社区来说无疑是重要的一年。Kubernetes成为第一个从云原生计算基金会(简称CNCF)毕业的项目;Pivotal完成首轮公开募股;HashiCorp成为独角兽公司,市值19亿美元;VMware近6亿美元收购Heptio等,这一系列事件的出现,再次强调了DevOps浪潮的意义。去年1月,我们发布了微服务发展趋势预测,涵盖ServiceMeshes、事件驱动架构、容器原生安全、GraphQL和混沌工程等主题。虽然这些技术越来越受欢迎,但我们在接下来的一年里观察到了其他几个新兴趋势:1)测试自动化;2)持续部署/验证(简称CD/CV);3)事件响应;4)云服务费用管理(简称CSEM);5)Kubernetes对机器学习(简称ML)等的扩展1.新兴的测试自动化传统上,个人设计的测试用例用于判断软件在不同情况下能否正确运行。通常,质量保证(QA)工程师负责创建和运行此类测试用例。但直到现在,由于测试驱动开发的繁荣,软件工程师正在逐渐接管传统QA团队的测试职责。换句话说,开发人员在整个持续集成(CI)过程中开始执行测试。很明显,测试给开发人员带来了新的负担,降低了他们的生产力水平。我们相信企业需要一个可以自动设计、运行和报告结果的软件测试解决方案。此类解决方案需要能够通过与持续集成系统交互、实时检查新代码以及添加类似于人类工程师的注释来顺畅介入。此外,根据我们的观察,这类测试方案还应该通过用户界面(简称UI)进行测试,以确保工程师可以通过UI发现问题,减少误报的几率。软件测试自动化的实施将有助于减少修复错误所需的资源。一旦自动化软件识别出错误,它可以自动生成错误修复。简单的错误可以用自动补丁修复,而复杂的错误可以用人工设计的模板或“基于异常的修复”来解决——对代码进行小的修改,直到问题消失。此外,推荐引擎能够使用之前工程师修复的数据进行训练并进行预测试,以在人工批准之前提供明智的建议。我们认为软件测试应该是人工智能技术的一个重要应用方向,可以帮助行业显着提高生产力,改善成本、覆盖率和准确性。我们之前曾对支持机器学习的软件测试解决方案表示过兴奋,我们仍然相信这是一个正在成熟的巨大市场(总计约32亿美元)。2.通过持续部署/验证提高生产力企业将继续感受到来自加速软件发布周期需求的压力。持续部署(ContinuousDeployment,简称CD)可以让我们自动将测试过的代码部署到生产环境中。与持续交付是一套用于确保代码快速安全部署到生产环境的设计实践不同,持续部署只关注与部署相关的管理任务,旨在为下一步提供坚实的基础。持续部署将取代DevOps工程师的手工工作。据了解,在一些金融机构中,十分之一的DevOps员工负责面向生产环境的软件部署任务。假设持续部署软件可以消除它的苦差事,这意味着全球DevOps劳动力的价值增加10%,我们认为这部分市场的总规模将接近20亿美元。持续验证,简称CV,在持续部署之上增加了一层智能。持续验证负责从日志和APM中收集事件数据,并应用机器学习技术来了解导致部署成功和失败的相关因素。持续验证应该有一个人机循环组件,以确保工程师可以提供反馈以提高模型准确性,同时随着时间的推移建立对系统的信任。持续验证通常可以安全回滚失败的部署。我们相信,未来的持续验证解决方案将帮助持续部署成为多云环境中的智能控制点,提供预测能力,为云、区域和配置提供最佳洞察,并根据特定特征实施部署服务调整。虽然已经存在许多持续部署解决方案,但我们在下表中列出了14个最流行的解决方案。其中包括封闭和开源项目,以及公共云服务提供商提供的托管服务。该领域最著名的解决方案是Spinnaker,这是一个开源项目,在GitHub上获得了超过5,600颗星。3.恢复性事件响应站点可靠性工程师(SRE)负责管理复杂分布式系统的响应,这些系统经常面临真正的弹性挑战。根据谷歌的《站点可靠性工程》一书,站点可靠性工程师负责将传统上由系统管理员手动执行的流程自动化。他们负责为“可用性、延迟、性能、效率、变更管理、监控、应急响应和服务”建立容量规划方法。显然,紧急/事件响应也是站点可靠性工程师角色中的关键任务之一。停机是一个具有重大财务意义的事件,因此加快解决问题变得至关重要。据Gartner称,停机造成的平均收入损失高达每分钟56,000美元。而像亚马逊这样的大型网络资产持有者每停机一分钟可造成22万美元的损失。服务停止运行的每一分每一秒,都在给企业带来巨大的经济损失,严重影响品牌形象。当服务失败时,具有不同职能角色的响应团队(包括事件指挥官)会收到警报,并启动一系列工作流程。事件指挥官负责维护一个“事件状态文件”,其中包含事件描述、状态趋势和补救结果。每个团队成员都应该根据预定义的模板化程序执行问题解决过程。一旦问题得到解决,团队还应该进行事后分析,以了解事件的情况,并尽可能防止其再次发生。谷歌建议团队记录“事件本身、相关影响、为缓解或解决事件而采取的行动、事件的根本原因以及有助于防止事件再次发生的事后行动”,这将是重要的后续行动指导材料。我们经常听说站点可靠性工程团队利用PagerDuty、Slack、Jira、GoogleDocs和知识库来处理事件响应。我们相信,这些精确的解决方案可以在一个端到端的SaaS平台中捆绑在一起,以支持自动修复操作并实施最佳实践指南。这个统一平台还将加快平均恢复时间(MTTR)、协作和知识共享。我们确定了五个提供现代事件响应功能的解决方案。这些集中式平台不仅分解职能角色和启动工作流程,而且还考虑了事件的潜在影响、当前状态、事件时间表和加班后果。我们相信这些平台可以作为混沌工程的有力补充,混沌工程是弹性测试的最佳实践。展望未来,这些平台还有望将事件信息提供给混沌工程解决方案,例如Gremlin,以告知哪些服务应该进行预防性测试。此类平台的持续改进将显着提高后端弹性水平,并最终帮助运维工程师更安心地享受他们的夜晚。4、云服务费用管理(简称CSEM)助力成本节约如今,公有云成本管理已成为为数不多的挑战之一,不仅深刻影响着工程和IT团队,而且在整个公司都受到高度关注。大多数企业目前都在采用混合云方法,但使用纯公有云解决方案的客户数量正在迅速增加。根据Gartner的统计,IaaS和PaaS的全球收入将从2018年的462亿美元增长到2018年的907亿美元,复合年增长率为25%。Rightscale发布的报告还指出,在接受调查的997名IT专业人士中,92%的人在使用公有云,81%的人在使用多云策略。事实上,公有云确实可以带来一系列重要的好处,包括提高安全性和可用性、减少运营和公共资源的开支和成本等等。随着公有云的进一步普及和快速采用,我们相信成本管理和预测能力的重要性将进一步凸显。多种原因使云成本管理成为一项极具挑战性的工作。很多团队已经开始使用公有云服务,但是监控机制没有跟上,所以云解决方案被强行变成了影子IT产品。缺乏治理会导致服务蔓延。面对上级“快速行动”的压力和性能要求,开发人员在单独评估时可能会忽略成本问题。服务的广度和频繁的价格变化也使得云支出跟踪变得极其困难。有些云账单包含超过10亿条费用线,这意味着一般企业几乎不可能准确解析。面对这一系列挑战,Gartner得出结论:“到2020年,80%的组织将经历云IaaS预算超标的情况。”服务的云服务收费管理解决方案选项。其中,VMware拿出了CloudHealth,后者在2018年8月接受了虚拟巨头5亿美元的收购要约。Azure在2018年以5000万至7000万美元的价格收购了Cloudyn,并将其产品更名为AzureCostManagement。2019年1月上旬,亚马逊收购了TSOLogic以丰富其产品组合。2018年,Forrester发布的《云成本监控与优化》报告分析了九大供应商,其中VMwareCloudHealth和Rightscale居于领先地位。尽管云成本管理解决方案的数量已经相当可观,但成本控制仍然是一个难以解决的痛点。Ops经常向我们抱怨,云服务费用管理工具应该跨平台规范化结果,并将云资源映射到特定的所有者和团队,以确保财务可以将支出映射到特定的产品或业务部门。据Gartner称,如果没有这种有效的管理能力,云服务的综合利用率很可能长期低于35%。此外,此类解决方案应确定优化空间,例如由云服务收费管理工具识别的过度配置或长期闲置的资源。该软件需要支持预留和现货实例、持续的实例大小调整、退款、设置自定义折扣、标记异常支出等。此外,它需要根据增加的流量、数据存储要求和服务利用率来预测特定时间段的支出水平。随着公共云资源使用量的持续增加,我们预计成本管理和预测的重要性也会增加。5.Kubernetes对机器学习的扩展Kubernetes正在席卷整个DevOps世界,已经成为当前容器领域的首选编排方案。它的适用范围不断扩大,我们期待它成为机器学习平台堆栈中不可或缺的一部分。例如,谷歌发布了开源Kuberflow,它通过向集群添加自定义资源定义(CRD)来扩展KubernetesAPI,以提高机器学习工作负载的执行优先级。在KubeConSeattle2018大会期间,Kubeflow成为最受关注的云原生项目之一。事实上,谷歌并不是唯一一家进行探索的厂商。Lyft还在使用Kubernetes构建自己的机器学习平台。我们听说其他独角兽试图将Kubernetes标准化为机器学习和分析工作负载的处理平台。明年这个时候,我们将继续关注测试自动化、持续部署/持续验证、事件响应、云服务成本管理和用于机器学习的Kubernetes扩展等主题。如果您或您的朋友从事开源项目或探索这些领域的初创公司,我期待根据您的经验收到您的来信。最后,期待您的评论,包括我们可能没有涉及的重要内容或您对上述问题的不同看法。谢谢阅读!原文链接:https://medium.com/memory-leak/5-microservices-trends-to-watch-in-2019-fd2dbd33780d