如何在云中加速应用程序性能

随着云体系结构变得越来越普遍并同时发展,不断优化所有关键业务应用程序以持续进行绩效。

Dipti Parmar

Dipti Parmar2022年2月8日

云计算可以使业务的车轮变成当今基于技术的移动性经济。实际上,Gartner命名“云无处不在”是塑造的趋势之一云计算的未来

难怪根据IDC预测,到2025年,全球在云服务上的支出(包括软件,硬件和托管服务)预计将超过1.3万亿美元。

“在当今的数字第一世界中,业务成果和创新越来越多地与尽快开发和使用创新技术和服务的能力相关。云是满足这种需求的基础,”里克·维拉尔斯说,IDC的全球研究小组副总裁。

在面向用户的级别上,这些“业务成果”是由在最佳级别上执行的云应用程序驱动的。传统上,在本地环境中,应用程序性能取决于资源分配和优化。有关应用程序性能的常见问题是:

代码写得很好吗?

数据库是否优化?

该应用程序可以处理高使用负载吗?

但是,云和云本地应用程序完全是不同的野兽 - 云的基础架构和体系结构注意使这些问题变得更加复杂。优化云应用程序性能要求开发人员和建筑师采用多维方法并紧密将云资源配置与工作负载匹配有问题。

以下是团队可以采取的步骤来识别和纠正困扰云中应用程序性能的典型问题。

澄清业务需求

它总是从业务目标开始。When organizations are clear about what they want the workload or the application to do, it becomes easier to assess whether the cloud model they’re considering can match performance requirements and standards of availability, reliability, scalability, number of concurrent users, response times, and so on.

有关的

国家安全心态用于在云中构建防御应用程序

自动化,数字转换以及对共享数据和基础架构的遥远且始终访问的访问是许多组织目前正在鉴于最近的破坏而实现的目标。

“占公共云服务市场约一半的PAA,IAA和SISAA的增长速度很高,反映了对解决方案的需求,这些解决方案的需求加速并自动化了现代应用程序的开发和交付,”拉拉·格雷登说,IDC的PAAS研究总监。

她补充说:“随着组织采用DevOps的方法并根据价值流进行调整,我们看到PAAS,IAAS和SISAAS解决方案在服务范围内增长,从而提供价值。”

有部署计划

组织需要确定他们正在考虑的应用程序是否真正为云做好了准备。基于微服务的云本地应用程序的体系结构允许连续部署和按需缩放,而无需超额订购能力。但是,在云环境中未本地化的具有大量依赖关系或交叉应用交互的应用可能会面临延迟问题。

部署团队还需要确切知道应用程序将需要的计算,存储和网络资源。他们可能会考虑建立一个小型试点或测试项目,以评估工作量的绩效以及业务成果。

维拉斯说:“在未来几年中,企业管理不断增长的云服务组合的能力将是将更大的自动化引入业务和IT流程的基础,同时也变得更加具有数字弹性。”

考虑不同云的细微差别

传统上,IT团队旨在优化应用程序性能,同时最大化硬件资源利用率公共,私人和混合云。很多时候,这两个是冲突的目标。虚拟化本地或云环境也是如此。

有关的

一个应用程序开发和部署环境来统治所有这些!

在私有云环境中,运行IT操作的团队还可以优化应用程序。因此,一旦实现了绩效目标,重点将转向最大化和减少资源使用情况。

但是,在公共云中,资源并不是一个问题。或者,确切地说,基础硬件是不透明且无法访问的。因此,组织只有两个目标:满足响应时间并确保可伸缩性。

最后,对于在混合云环境中跨多个云运行的应用程序,它需要一个单一的,统一的视图进行主动管理。管理员需要遍布整个可见性私人和公共云以及本地数据中心以确保业务流程保持顺利运行,用户体验仍然是最佳的。

努力达到混合云涅rv云按钮

设置基准并监视应用程序性能

他们说:“能见度就是力量。”

好的,他们可能会说关于知识,但是鉴于应用程序性能受到影响的无数方法,对应用程序堆栈的所有层的可见性是有效故障排除和优化的关键,尤其是在多云或混合云环境

这是应用程序性能管理(APM)的所在地。如果管理员想在云应用程序性能中优化或解决瓶颈,他们需要识别和跟踪有关功能和可用性的关键指标。这些指标可能与过程特异性交易,可用性,分析或记录有关。典型示例包括:

  • 流量级别:平均有多少用户同时访问该应用程序?它足够可扩展以处理尖峰吗?到什么级别和多长时间?
  • 应用程序错误:发生了多少个错误?多久一次?是什么触发了他们?
  • 资源可用性:所有实例是否运行?有任何挂数据库请求吗?
  • 响应时间:如果响应时间很慢,是由于网络或带宽问题或次优的应用程序代码引起的吗?
  • 用户满意度:应用程序启用的业务目标或任务的成功率是多少?

“艺术正在与所有这些指标相关联,确定了提高绩效,然后努力解决这些机会的机会,”欧文·加勒特说,DeepFence的产品和社区负责人。

一种各种云APM软件可用来收集这些指标,并以历史或实时格式存储和展示它们,以帮助将信息和见解联系起来。与传统的云APM软件无需在组织网络或数据中心内安装和管理本地,ADMINS可以简单地使用APM提供商云实例来配置和监视云应用程序。

例如,本地云APM喜欢Amazon CloudWatchGoogle操作给IT经理,开发人员和DevOps工程师对其应用程序在AWS或Google Cloud基础架构上的性能的见解。这些提供了更深层次的可追溯性和与提供商的生态系统更好的兼容性。但是,他们可能缺乏对关键指标的可见性,并与其他平台集成。

第三方和独立的APM工具提供高级报告功能,更好的可视化以及与其他平台上的应用程序更紧密的集成。它们通常是通过SaaS模型或托管服务交付的。

Cloud APM软件通常比传统的依赖性更多,因为需要以不同的方式监视不同的云服务。例如,在虚拟化实例中运行的云应用程序比无服务器功能产​​生的日志数据要多得多。

随着越来越多的企业将工作负载移至云,并在分布式计算环境中执行操作并自动化过程,APM软件已成为必要。但是,在云模型中,任何问题都无法从APM软件中解决。修复步骤涉及在私有云的情况下进行调整(甚至暂时关闭)云服务以及本地重新配置。

优化云基础架构

在云环境中,应用程序性能取决于基础云体系结构,模型和基础架构与软件堆栈上一样多。将基础架构资源与他们支持和跟踪KPI的应用程序相关联是改进和预测云中应用程序性能的先决条件。

有关的

云本地应用程序开发如何为应用程序交付供电

随着越来越多的公司将关键业务应用程序移至云中,必须了解云绩效管理(CPM),改进其所需的工具和技术以及在不同方案中所涉及的权衡方案。

例如,德勤咨询公司的首席云战略官戴维·石宪章(David Lithicum)讲述了一家小型中西部银行的故事这将关键业务应用程序迁移到基于云的平台,以期降低成本并提高绩效。令IT团队感到沮丧的是,这些应用程序以及银行的网站的运行速度要慢得多,员工和客户都抱怨说实际上花费的时间比以前花费的时间要长。

他们后来意识到,他们决定保留数据的决定不是一个好电话。

这里的教训是,整个IT团队都需要从逻辑和实际角度对云体系结构有深刻的概念理解。此外,即使是监视自身的行为,所涉及的工具和代理,实时平台分析,所有这些都用尽了大量的CPU和I/O资源 - 应用程序性能的两个基础。

没有一个最适合应用程序峰值性能的云体系结构。但是,有一些CPM调整和最佳实践以重要的方式促进应用程序性能。

选择正确的实例

云供应商提供多种实例类型,非常适合不同类型的工作负载。VM仍然是最常见的云实例类型,但是容器正在赶上。应用架构师需要将工作负载的需求(无论是CPU,GPU,内存还是存储)与云服务提供商提供的实例相匹配。

有关的

重新定义云环境中的工作负载

目的是通过最佳的硬件资源分配对实例进行正确尺寸。如果实例太大,则存在过度配置和肿的成本的风险。如果太小,工作量可能无法达到理想的性能阈值。

使用负载平衡器

负载平衡器将流量路由到表现最佳的实例。它还跟踪指标,这些指标有助于确定表现不佳的实例。这两个好处的组合改善了应用程序的基本性能和可扩展性。

加勒特说:“这是技术的核心,使您可以水平扩展。”

“您可以添加更多的Web服务器或应用服务器;您可以将用户从一代应用程序移动到另一个应用程序。您可以在不改变应用程序的公众面前做所有这些。”

启用eLastic自动化

传统上,企业受到访问IT资源的限制,因此,应用程序几乎没有动态或自动扩展的范围。从本质上讲,云环境可以通过提供按需添加或删除实例的能力来实现大规模的水平缩放。

开发人员和管理员需要就缩放规则集达成共识。应用程序或APM软件可以跟踪诸如CPU利用率之类的指标,并且当负载超过预定义的利用率阈值时,会触发自动化服务。相反,当负载下降到最小阈值以下时,该过程被逆转并撤回不必要的资源。

自动化弹性时,自动化效果最好。云部署的应用程序和APM软件需要任何给定层上负载和响应时间的实时知识。如果响应时间受负载的增加对响应时间产生负面影响,那么该扩大该层的时间了。基础方法还可以根据历史负载模式实现预测性自动化。

难以到达混合云

如果没有关联的监视,管理和维护成本,所有这些微调就不会出现。岩性提倡将约15%的私人,公共或混合云OPEX分配给CPM操作,以保持效率标准。

人们笼罩着云

与技术的其他各个方面一样,敏捷性和性能与人们和过程一样多。一个利用个人和协作效率的开发团队,并采用跨越DevOps,secops和Netops的最佳实践,将成功构建弹性和可靠的云应用程序。

应用程序开发人员和建筑师还需要牢记另一个重要的人(可以说是更好的人:用户)。

Ruben Spruijt,高级技术专家,强调关注的重要性满足业务用户的需求在任何应用程序并提供可信赖的体验中,使他们能够自己解决问题。

Spruijt说:“它应该专注于平衡用户需求与业务需求。”

“如果用户从应用程序中获得更好的生产率,它也将实现业务目标。归根结底,这与用户体验有关,使工作变得容易且有趣,吸引了新的最终用户并保留现有的用户。”

Dipti Parmar是一名营销顾问,也是Nutanix的撰稿人。她是主要技术和商业出版物的专栏作家@diptparmar或与她联系LinkedIn对于小斑点的斑点。

©2022 Nutanix,Inc。保留所有权利。有关其他法律信息,请去这里

Baidu