机房360首页
当前位置:首页 » 云计算资讯 » 利用新的应用程序性能管理模型提供数字化的性能

利用新的应用程序性能管理模型提供数字化的性能

来源:机房360 作者:litao984lt编译 更新时间:2018/5/21 11:20:11

摘要:1972年,爱德华·罗伦兹站在喜来登公园酒店的一群同行面前,用一个简单的问题改变了科学的进程:“一只南美洲亚马逊河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,是否会在两周以后引起美国得克萨斯州的一场龙卷风。”

  现代化的应用程序

  蝴蝶效应

  1972年,爱德华·罗伦兹站在喜来登公园酒店的一群同行面前,用一个简单的问题改变了科学的进程:“一只南美洲亚马逊河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,是否会在两周以后引起美国得克萨斯州的一场龙卷风。”

  虽然我们可能永远不会知道这个谚语问题的答案,但它的价值来源于其唤起的更大的一点——即那些看似并不重要的事件可能会导致更大的系统发生重大变化。

  这一理念被称为“蝴蝶效应”。而在软件应用程序这一快节奏且不断变化的领域中,我们几乎每天都在看到这一理念在发挥其作用。

  几乎所有触及应用程序的东西的性能都要么得到改善要么降低。而想要确定性能究竟得到改善与否是归因于基础设施、编码变更、API、网络、应用程序架构或连接服务则是一项挑战。

  虽然想要搞清楚在一款应用程序的内部到底发生了什么,并找出导致性能出现问题的根本原因一直都是很难的,但到了今天,这变得更加具有挑战性了。

  现代化的应用程序在虚拟机和容器上运行,并在应用程序服务器之外分支,以连接到任意数量的微服务来完成事务。这种分支经常发生在企业内部部署的操作环境之外,在云服务中。这意味着现代化的应用程序架构看起来不太像传统的三层模型,而更像是一个庞大的生物生态系统。

  发生问题时,其可能会影响到相互连接的组件,从而产生背离最初实施更改时所想要达到的效果。这种复杂性会因频繁发生的更改而进一步变得更加的复杂。实际上,有33%的DevOps团队报告称:他们每天会发布一次或多次的问题报告。

  此外,当应用程序的组件高度分布时,通信将成为以网络为中心的独立微服务,并通过API实现异步通信。因此,各种系统和依赖关系中的消息传递将疯狂增加——所有这些都可能意味着更为复杂的条件、警报和系统检查,进而会给企业数据中心的IT人员们带来更多的工作压力。

  而想要找出这类问题的根源就往往类似于想要从一堆非静态的干草堆中找到一根针一样困难。

  积极应对数据的爆炸似增长

  并不是因为企业的IT管理团队缺乏可靠的监控工具。事实上,有很多工具可以一次性的完成对于一块堆栈的监控。但是,当不同的团队在孤岛中管理性能数据时,就缺少的了相应的环境。例如,我们可以考虑网络警报指示流量延迟增加的案例。现代化的工具可以识别出现这种问题的时间和地点,但由于数据是在孤岛中以孤立的方式进行管理的,使得企业的应用程序支持团队无法及时的鉴别出哪些业务服务将因此而受到影响。

  另一个问题是庞大的数据量。当您企业数据中心针对每项微服务,容器,虚拟资源和网络设置警报、并运行相应的监控时,您企业所需要收集和分析的数据量就会呈现指数级的增长。您企业的IT运营团队可能很快就会被大量的警报埋没。当然,并非所有的警报都需要在第一时间进行响应,但想要将重要事件的警报与一般性的非重要事件的警报区别开来,已然成为了一项极其困难的任务。

  而相当一部分的企业当前所仍然在采用的基于传统的管理方法会使这一问题变得更糟。在过去,当应用程序性能和故障条件更具可预测性时,企业的IT管理团队可以可靠地预测可接受的性能测量结果,通过人工手动设置这些测量结果,然后在超过这些阈值时及时发出警报。但是这种方法现在已经不再适用了。当前的系统以不可预知的方式运行,这在以前曾被认为是不好的——比如较高的CPU利用率——可能是可以预料的。

  而且,即使预测是准确的,这么多的设置和维护工作也是不可持续的。

  一个简单的事实是,传统的监控方法无法实现规模化的扩展,以管理由当今的动态应用程序体系架构所产生的庞大数据量、数据种类和数据传输速度。而对于终端用户体验而言,由于价格是不可预测的,这会导致成本的上升以及资源和时间的浪费。

  借助新的应用程序性能模型实现数字化性能

  那么,企业要如何将这种混乱的数据管理环境转化为有意义且具备可操作性的管理环境呢?

  答案是:当下的IT企业组织需要积极的采用新的应用程序性能管理(APM)模型。这是一种能够分析多个数据源的功能,可提供应用程序到基础架构的关联,并通过分析驱动的洞察见解来更好的实施监控。

  只有这样,你企业才能在现代化的应用程序环境中获得完整的可视化效果。而当你企业这样做的时候,你会确切地知道在一款单一的微服务中,一个看似微不足道的变化是如何发生的,其就像罗伦兹所描述的蝴蝶一样,一个连接会导致更广泛生态系统的涟漪效应。更为重要的是,您企业将在最终用户的体验受到影响之前,获得您需要对其采取相应措施的数据。而且,您企业将因此而拥有更为深刻的洞察分析能力,能够做出更加正确的决策,持续改进应用程序的性能和业务成果。

  利用一款统一的数据模型

  在IT企业组织机构的日常运维管理中,我们都曾听到过这样的说法“企业无法对那些不能很好的实施测量的东西进行有效的管理。”因此,IT企业组织需要捕捉到关于应用程序、基础架构、网络、容器和云活动的全面的数据。

  企业对于多样的,且非结构化的数据通常是以零碎的方式收集和分析的。但对数字化体验的全面的洞察了解将需要您企业就这些数据进行关联,对其进行分层,并创建多维和跨域的视图。我们将这称之为统一的数据模型。借助这一模型,您企业可以自动并根据情境表达信息,进而为每个团队提供更丰富的性能洞察。

  例如,让我们在上文中所提到的网络延迟的问题。通过使用统一的数据模型在应用程序拓扑和指标中进行分层,企业的应用程序管理团队可以查看该网络问题是否会对企业的业务产生任何直接的影响。因此,企业的应用程序支持管理团队和IT运营团队可以共同努力解决对最终用户体验最有害的问题,而不是浪费时间以应付警报。

  但是这种模型的价值超越了对于根本原因分析。其可以用来围绕共同的业务目标对企业内部的各个团队进行协调。例如,应用程序开发团队可以在性能改进与更好的业务成果相互关联的背景下分析其代码的修改。云架构师们则可以比较不同的微服务部署模式的性能效果,以确定如何使得企业从相关的技术投资中获得最大价值的位置。

  借助数据驱动的洞察见解丰富用户体验

  具有分布式系统的现代应用程序体系架构会产生大量的数据。将这一切变成一个连贯且条理分明的观点是一大挑战。而想要了解企业应何时何地如何采取相应的措施则是另一回事。但是,通过正确的APM解决方案,可以通过最少的干预,持续观察和学习应用程序的行为。

  在上文中,我们讨论了问题报告如何以更高的频率发布。这意味着以接近连续的方式将任何数量的修改引入到应用程序生态系统中。任何一个或这些更改的组合都可能对应用程序性能造成严重的破坏。但相关的问题依然存在——即:哪些组件导致了这个问题?

  通过将应用程序的性能与基础系统和网络指标相关联,您企业数据中心可以自动检测更改,仅提取与此更改相关的数据,并将其与所监控的应用程序或服务关联,以衡量影响。此外,现代APM解决方案还具备能及时跟踪的功能,可帮助团队识别导致发生性能问题的所有可能原因——即新的代码构建或配置更改。

  数据驱动的洞察力还支持另一大关键要求——消除噪音。警报风暴是高度模块化和分布式应用程序体系架构的副产品。但其不一定要这样。通过将“二进制”、“通过/失败”性能基线替换为“多长时间的算法错误”,您企业可以自动区分小的骚扰警报与值得采取措施的不规则趋势和异常。这意味着只有在出现使的业务受到影响的问题时,支持团队才会收到警报。

  一旦你企业将孤立业务的问题隔离开来,下一步亟待解答的问题就是“为什么用户体验很差?”了。对于很多人来说,这意味着组建一支跨职能的专家团队并在一系列指标中寻找根本原因,可视化和性能指标。这个过程非常耗时且耗费资源。但是如果你能从根本上简化分类和诊断过程呢?因此,我们建议您企业可以选择使用合适的APM解决方案。

  现代APM不是通过数据缓存进行解析,而是自动收集与问题或异常相关的关键信息,包括问题首次和最后出现时的中继指标,以及受影响的相关组件的信息。所有这些数据都与降级体验相关的应用程序组件相关联,并以单一视图呈现。

  这意味着消除了耗时的过程。最重要的是,企业团队可以共同分析理解为什么客户体验很差了,从而加速解决问题,并提升应用程序的性能。

  我们在上文中刚刚介绍了通过对数据的分析获得洞察见解如何帮助企业的团队分流问题,并优化生产性能。但其在设计和开发过程中同样具有价值,故而企业的团队需要在添加到较大的代码库时检查组件的性能。

  以采用开源软件Jenkins来开发构建过程为例。开发人员想要评估他们的编码更改如何影响应用程序性能,但希望在他们的即时工作环境中执行此操作,而无需访问不熟悉的工具。现代的APM解决方案允许这样做,在实际构建过程中直接从他们的Jenkins界面直接呈现性能数据。通过这种方式,他们可以在产品发布之前查看每次编码更改对性能的影响,因为这些产品的修复成本较高。

  当应用更改时(无论是新代码,基础架构配置更改还是新的容器部署),都会记录下来。所以,如果有任何随之而来的性能问题,您可以轻松地将它们与任何时间点的变化关联起来,以更快地查明问题的根源。

  除了在构建和集成过程中进行监控之外,还可以将分析嵌入持续的交付、测试和发布流程中,以确定提高软件质量的机会。例如,APM工具和CA公司的BlazeMeter之间的集成——这是一种在云中运行大规模负载测试的解决方案,使企业的测试团队能够确定哪些条件会大幅降低应用程序的性能。

  通过将分析洞察力转化为开发能力,您企业可以加速高质量应用程序的交付。

  借助现代技术朝着未来过渡

  微服务体系结构和基于容器的应用程序是新的规范。事实上,今天有83%的企业组织正在积极使用容器集装箱。

  集装箱式应用程序提出了一套新的复杂挑战。组件和依赖关系的增加使得传统的拓扑映射过时,而它们的动态特性,可以在几秒钟内替换它们,使跟踪整体服务性能非常成问题。

  为此,您企业现在需要了解应用程序,容器和主机之间的依赖关系,并关联性能,根据需要了解各个组件的运行状况。

  使用正确的APM工具,您企业可以自动检测和发现容器、相关性和关键通信流程,而无需对单个容器进行测试。在这些动态环境中,无论其动态状态如何,理解整体服务性能都是至关重要的。为此,现代APM解决方案可以将微服务、容器和主机基础架构内部和跨各种应用的性能关联起来,以快速查明问题状况。此外,统一的数据模型允许以前的密集和难以破译的拓扑从各种角度变为集装箱化应用性能的清晰可操作的视图。

  责任编辑:DJ编辑

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2018521/n2575103711.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片