|
|
51CTO旗下网站
|
|
移动端

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

通过适当的服务和设计,可以提升企业云应用程序的性能。企业需要考虑一些元素以优化其工作负载。虽然并没有哪一个云计算架构可以保证每个应用程序的最佳性能,但是一些服务和实践可以提高云计算性能。

作者:Stephen J. Bigelow来源:企业网D1Net|2019-05-22 14:55

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

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

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

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

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。

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

【编辑推荐】

  1. 云计算商业智能发展现状
  2. 云计算时代:云运维科学“避坑”经验汇总
  3. 腾讯邱跃鹏:云计算要迈过三道关
  4. 企业需要了解云计算技术的差异和风险
  5. 2019云计算发展大调查:直观云计算“利弊”
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

循序渐进Oracle——数据库管理、优化与备份恢复

本书从基础知识入手,详细讨论了Oracle数据库的创建、OEM及iSQL*Plus等工具的使用、Oracle的字符集知识、用户的创建与管理、表空间和数据文...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客