专栏首页云计算D1net可以提高云计算性能的6种技术

可以提高云计算性能的6种技术

很多企业致力于追求最佳的应用程序性能,但实现它并非易事。在基于主机的内部部署IT环境中,企业必须提供适当调整的资源以实现性能目标。而采用云计算技术将使这些考虑因素变得更加复杂,因为它限制了用户可以定制基础设施和其他可用功能的程度。

通过适当的服务和设计,可以提升企业云应用程序的性能。企业需要考虑一些元素以优化其工作负载。

很多企业致力于追求最佳的应用程序性能,但实现它并非易事。在基于主机的内部部署IT环境中,企业必须提供适当调整的资源以实现性能目标。而采用云计算技术将使这些考虑因素变得更加复杂,因为它限制了用户可以定制基础设施和其他可用功能的程度。

虽然并没有哪一个云计算架构可以保证每个应用程序的最佳性能,但是一些服务和实践可以提高云计算性能。

1.选择适当的实例

如果组织了解其工作负载的资源需求,并为其配置具有适当特征的实例类型,则会看到深刻的结果。虚拟机是云中最常见的实例类型,尽管容器的应用正在快速增长。

其目标是使用最佳分配的虚拟CPU(vCPU)、内存和专用特征来调整实例的大小。如果实例太大,额外的资源对云计算工作负载性能并没有好处,最终会浪费资金。如果实例太小,则会影响负载性能,如果工作负载完全运行的话很难应对。

云计算提供商提供无数的实例类型,每种类型都具有vCPU、内存、存储和网络的独特组合。可以针对特定任务定制这些虚拟机。例如,AWS公司的EC2 A1实例适合横向扩展和ARM工作负载。另一方面,M4实例平衡了不同应用程序的资源,并有一些针对计算密集型工作负载、内存密集型应用程序、人工智能等进行了优化的云计算实例。这些使得组织必须选择正确的选项。

2.实施自动扩展服务

传统上,企业将IT资源扩展作为一项临时工作。由于IT资源有限且在企业的所有权范围内,因此几乎不需要快速、动态或自主地进行扩展。

但是,公共云计算是动态发展的。公共云提供了按需添加或删除实例和相关资源的潜力。 AWS、谷歌云和Microsoft Azure均提供负载平衡和自动扩展功能。

组织必须实施适当的规则集,以决定何时以及如何扩展,以便提高云计算性能。在许多情况下,监控服务跟踪负载特性,例如平均vCPU利用率。当工作负载超过定义的利用率阈值时,监视警报会触发自动扩展服务,该服务遵循预定义的计划来添加资源,并设置负载平衡首选项。当负载降至某个阈值以下时,自动扩展服务可以反转该过程并撤回不需要的资源。

云计算优化的重要性

如果实施得当,自动扩展可以无缝地维护用户的工作负载性能(例如响应能力),同时还可以管理云计算成本。

3.实施缓存服务

应用程序需要数据,但访问存储会降低响应速度,尤其是当资源远程或拥有多租户访问权限时。缓存是放置在尽可能快的存储中的频繁访问数据的副本,位于尽可能靠近应用程序的位置。与使用常规存储等待数据相比,应用程序可以使用缓存信息更快地执行涉及数据的任务。云中可用的缓存服务包括Azure Cache for Redis、Amazon ElastiCache和Google App Engine Memcache。

由于缓存本身是数据副本,因此如果原始数据发生更改,则可能会导致问题。应用程序开发人员需要规划如何更新缓存内容,以确保主体数据存储和缓存之间的连续性。云计算提供商提供了丰富的文档和参考架构,以帮助完成设计过程。

4.采用微服务架构

单片应用程序将主要特性和功能封装在单个可执行结构中。这是一种久经考验的软件开发方法,但是整体可能会对云中的可扩展性和性能带来挑战。当传统的单片应用程序达到其性能极限时,必须部署整个应用程序的全新实例。

微服务将应用程序分解为一系列相互关联的程序,这些程序单独部署、操作和扩展。这些独立服务通过API协同工作,以提供应用程序的特性和功能。因此,当一项服务对其性能限制征税时,只有该服务必须向外扩展。它可以成为管理现代应用程序的一种更快、资源效率更高的方法。

微服务组件可以部署到小型虚拟机上,但通常依赖于协调的容器平台,如Azure Service Fabric。

5.采用事件驱动的架构

无服务器计算已经获得了开发人员的极大关注,事件驱动的架构可以在无服务器的云计算服务上运行,例如AWS Lambda,Azure Functions和Google Cloud Functions。

虽然服务器对于在后端操作事件驱动的功能至关重要,但其目的是避免传统虚拟机或容器实例的部署和长期操作。而与此相反,企业开发人员将某些软件行为或功能的代码加载到云平台中,在云平台中,只有在某些现实世界或程序化事件触发时才会部署和运行。功能完成后,它将被卸载,不再消耗云计算资源。由云计算提供商加载、操作和卸载该功能,而不是用户。

虽然很少有应用程序完全由事件驱动,但开发人员可以使用功能来创建对实际和基于软件的事件(如物联网数据流)的高效响应。因此,由于无服务器组件,整个软件应用程序可以更小、更简单,并且针对性能进行了更好的优化。

6. 选择监控服务

永远不要忽视优化云计算性能时监控的重要性。公共云提供商提供各种监控服务,包括Amazon CloudWatch、GCP Stackdriver Monitoring和Azure Monitor。

即使监控对工作负载性能没有直接影响,这些服务也是公共云中任何部署的关键要素。监控是跟踪性能指标的唯一客观方法,它为自动扩展等服务决策提供了基础,并帮助组织确保其云计算投资产生的结果。

(来源:企业网D1net)

如果您在企业IT、网络、通信行业的某一领域工作,并希望分享观点,欢迎给企业网D1Net投

投稿邮箱:editor@d1net.com

点击蓝色字体

本文分享自微信公众号 - 云计算D1net(D1Net02),作者:Stephen J. Bigel

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云计算和容器如何重写监视和管理规则手册

    在获得数据中心转型的一些成功之后,很多过于心急的企业在实施中希望尽可能多地消除IT数据中心成本。这可能会需要采用多种云服务、实验融合基础架构和软件堆栈,以及采用...

    静一
  • 为什么选择多云?为什么是现在?

    静一
  • 如何管理云计算成本

    如今,组织经常选择使用公共云服务,其部分原因是希望节省资金。但是,如果组织没有实施正确的治理和成本优化措施,通常会发现他们的云计算成本正在失控,将会大幅增长。 ...

    静一
  • 性能之殇:从冯·诺依曼瓶颈谈起

    电子计算机与信息技术是最近几十年人类科技发展最快的领域,无可争议地改变了每个人的生活:从生活方式到战争方式,从烹饪方式到国家治理方式,都被计算机和信息技术彻底地...

    机器之心
  • “杀毒软件教父” John McAfee 宣布将竞选 2020 年美国总统,借此推动加密货币

    据外媒CNET报道,杀毒软件先驱及加密货币“福音传教士”John McAfee当地时间周日宣布将在2020年竞选美国总统,并将其与他现在推动加密货币的角色联系起...

    周俊辉
  • 曝光埋点方案:recyclerView中的item曝光逻辑实现

    首先,客户端要考虑的就是只管调用api上报:上报item可见、上报item不可见。至于是否是有效曝光,就是公共埋点SDK(中台提供)去计算了。

    胡飞洋
  • 如何将WordPress远程附件存储到腾讯云对象存储COS上

    WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站,也可以把 WordPress...

    沈唁
  • 2019年国内外数据泄露事件盘点——个人信息保护刻不容缓

    随着以人工智能、大数据和物联网为代表的信息技术革命的推进,数据的价值进一步凸显,数据成为了企业的重要资产和持续创新的推动力。因此,保障数据在采集、传输、利用和共...

    绿盟科技研究通讯
  • JHipster生成微服务架构的应用栈(五)- 容器编排示例

    在命令行,进入appstack目录,创建一个子目录docker-compose,现在整个应用栈的目录结构是这样的:

    羽客
  • [机智的机器在学习] 卷积神经网络入门教程(1)

    机智的机器在学习,就像机智的你现在在学习一样,当你在看这篇文章的时候,你就是在学习,学习的材料(数据)就是这篇文章。学习的结果就是你了解了卷积神经网络是个什么鬼...

    用户1622570

扫码关注云+社区

领取腾讯云代金券