订阅
纠错
加入自媒体

如何正确选择Azure云虚拟机?

2017-12-21 09:49
来源: 企业网

  随着微软云变得越来越先进,构建基础架构即服务也变得更加容易。

  当微软公司首次推出Azure虚拟机时,只有少数几个默认服务器大小可供使用。那么您就需要问自己一个简单的问题:是否有一款服务器可以支持我的工作负载?但现在经过不断发展,出现了各种服务器大小和服务器类型,可适用于不同的使用案例。这也使我们的问题发生改变。现在您必须要问自己:哪一款服务器适合我?

  在公共云的初期,关键因素是规模经济。前两代或三代的公共云在整个数据中心都使用相同的硬件,这提供了巨大的价格优势,但同时限制了用于托管基础设施和平台即服务的服务器的性能。开放计算项目的兴起以及获得主要云供应商的支持,通过提供这些云通用硬件标准,可以支持更多功能,而不会显着增加成本,这使情况发生了改变。

  当今的云提供各种真实服务器和虚拟机

  最新一代的开放计算项目(OCP)硬件更加灵活。作为新一代Azure数据中心的基础,微软公司的奥林巴斯计划(ProjectOlympus)机箱就是一个典型的例子,它基于x86架构,支持通过GPU或FPGA增加额外的处理能力。由于GPU技术是许多机器学习算法的核心,而FPGA可为网络连接提速,并为像Bing这样的服务提供专用机器学习,现在在CPU功能和这些服务器如何支持云服务方面有更多的灵活性。

  目前,Azure提供了36种独立的虚拟机类型,主要针对六种不同的用例。这的确提供了很多的虚拟机选项,但并不是所有地区都可使用。在选择一种类型之前,您需要仔细考虑您的工作负载,因为选择了错误的类型会使您的应用程序运行成本更加昂贵。Azure所提供的36个虚拟机类型可以同时支持Windows和Linux系统,因此您可以选择适合您代码的操作系统,从而更轻松地升级和迁移现有的应用程序,或者提供适合您开发工具链的端点。

  正确选择Azure虚拟机

  微软公司建议的6个用例是:

  一般用途

  计算优化

  内存优化

  存储优化

  图形处理器(GPU)

  高性能计算

  一旦确定了工作负载和要使用的虚拟机类型,就可以通过选择虚拟CPU的数量、可用内存量以及本地存储的大小来进行调试。其他选项还可以添加数据磁盘并支持更多的网络连接,这能为您提供更高的带宽。

  为了简化问题,微软公司已经对其虚拟机的计算性能进行了规范化处理,使其更容易进行性能比较,并且提供一个性能图表帮助您为应用程序选择正确的虚拟机。

  一般用途的Azure虚拟机

  一般用途的虚拟机就是您的日常服务器,类似您从惠普企业(HPE)或戴尔公司购买现成服务器时需要指定型号一样。它们不是以某种方式提供特定服务,因此非常适合用作开发工作负载的主机以及处理现代应用程序的UI层的服务器。因为它们成本低廉,所以可以根据需要将它们打开使用,然后将其废弃。

  Azure提供的这些虚拟机所使用的硬件来自多代的数据中心硬件。您仍然需要选择所需的虚拟机类型,因为它们的确具有不同的特性。有些虚拟机,比如A系列,因为它们托管的Azure虚拟机受到限制,所以无论采用何种底层硬件,您都看不出它们之间的性能差异。其他虚拟机,比如D系列,具有更高的性能,可以使用不同代的服务器硬件。

  您可以在一般用途虚拟机上运行任何工作负载,但是无法获得最佳的性能,尤其是在支持大量用户的情况下。对于少量用户来说,在开发和测试团队将代码转移到更专业化的主机上之前,他们在低成本虚拟服务器上构建和测试代码,这是一个很好的方法。

  特殊用途的Azure虚拟机

  Azure的特殊用途虚拟机侧重于处理影响骨干企业工作负载的特定问题。一些虚拟机可提供更强的计算能力,适用于动态网页内容、应用程序服务器和离线批处理任务。其他的虚拟机具有更大的内存,适用于您使用内存数据库和进行分析工作,因为这些工作要求内存尽可能多地保存数据,这很重要。其他服务器具有更多的存储带宽,适用于当您需要大量的I/O和大量的磁盘的情况。最近微软公司部署了新一代的存储虚拟机,它运行在AMD硬件(而不是英特尔)之上,这是其采购策略的一个重大改变。

  其他虚拟机可支持更新的工作负载,基于GPU的实例可提供NvidiaGPU。两个版本使用CUDA和OpenCL来支持可视化工作负载和基于GPU的计算。像这样的GPU计算实例支持使用数据并行代码,以及构建自己的机器学习神经网络。

  作为基于GPU编程的替代方案,还提供用于高性能计算问题的虚拟机,它采用快速处理器,具有快速网络接口。这些都是云计算的前沿技术,使云端具有相同的科学计算能力,这在过去则需要大量的投资。如果您正在使用计算工程工具,并且使用诸如有限元分析或计算流体动力学等技术,那么这些方案就很适合您和您的代码。

  虚拟机不仅仅是用于基础设施即服务

  许多工作负载不需要专用服务器,如果您设计的代码为无状态,则应该考虑使用Azure的托管容器,特别是现在Azure容器实例具有极大的可扩展性,并且Azure容器服务支持Kubernetes托管的应用程序和服务,现在称为AKS。

  即便如此,仍然有必要了解用于托管容器的底层虚拟机的功能,因为这可以确定您正在使用的虚拟机的数量以及新容器部署的速度。

  无论您做任何应用,都应该关注Azure门户中的虚拟机利用率。如果虚拟机经常显示100%的利用率,那么说明您选择的虚拟机性能低于您的工作负载。同样,如果您的虚拟机利用率很低,那么说明您可能选择的虚拟机性能超出了您的工作负载。如果您的应用程序架构具有容错功能,重新部署最新的应用程序和服务,很轻松地选择更适合的虚拟机,那么只需很短的停机时间或无需停机。

  一台服务器不可能适合所有应用,而提供多种选择对Azure来说很有意义。与仅使用白标x86服务器相比,像奥林巴斯计划(ProjectOlympus)这样的硬件平台可为云服务提供更多的选择,同时在大规模部署情况下还能带来成本优势。


声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

云计算 猎头职位 更多
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号