下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Azure云服务IaaS和PaaS层面性能剖析

作者:课课家教育     来源: http://www.kokojia.com点击数:1921发布时间: 2017-07-27 11:00:36

标签: 云服务云平台Windows Azure

  随着云服务商对各种服务提供更完善的工具,业务研发的同学工作会更加轻松和高效,本次课课家将为大家剖析Azure云服务IaaS和PaaS层面的性能,大家要认真读!课课家教育平台总结Azure IaaS和PaaS的区别与比较。建议读者在阅读之前,先熟悉PaaS和IaaS平台的基本概念,再参考本文。

  1.Azure IaaS和PaaS的服务类型层次。请参考下面的图片:

 Azure云服务IaaS和PaaS层面性能剖析_云服务_云平台_Windows Azure_课课家教育

  对于IaaS来说,用户需要管理的对象是:

  O/S,操作系统

  Middleware,中间件

  Runtime,运行时

  还有Data和Application

  对于IaaS来说,客户就像是使用云端的虚拟机一样,在Azure平台选择自己需要的操作系统(Windows or Linux),在这个操作系统里安装所需要的软件,然后对操作系统及以上内容进行管理。

  2.IaaS的优势?

  IaaS的优势首先来说与传统IDC运维相类似(注意是类似而不是相同,因为公有云都是基于虚拟化技术,比如云端网络虚拟化是与传统IT运维不同的),传统IT运维人员比较容易接受与快速上手。

传统IT运维人员比较容易接受与快速上手。

  一般我在做项目实施的时候,将云端的虚拟网络、存储账号和虚拟机都创建好以后,直接将Windows Remote Desktop或者Linux SSH连接字符串给到客户IT方,就可以迅速安装所需要的软件了。

  3.IaaS的劣势?

  IaaS的劣势从我个人理解是分为一下几种:

  (1)IT还是需要花精力对服务器进行更新和维护:

  公有云服务强调的是Self Service(自服务),对于IaaS层面来说,虽然企业用户不需要话费巨额投资来搭建和维护自己的数据中心,但是还是需要花精力对于操作系统进行更新和维护,比如IT还是需要对操作系统的升级和打补丁,进行维护。采用IaaS节省了硬件采购成本,但是没有解决软件的维护成本。

  (2)用户需要自己来配置高可用组:

  Azure提供更新域和故障域来实现服务器的高可用。在IaaS平台,用户需要手动配置高可用组,将多台相同功能的虚拟机配置在同一个高可用组里。否则,虚拟机不能实现高可用。

  (3)为了实现高冗余,需要改架构:

  公有云服务在推出之初,是用多台虚拟机并行计算,提供高冗余的方式来解决服务器单点故障的问题。我们知道,凡是硬件服务器就会产生硬件故障。在Azure平台,我们建议用户一般采用2台或者2台以上的服务放在同一个高可用组里,来实现99.95%的SLA。但这样问题来了,我发现很多的客户采用:

  a.单台Web服务器作为前端,并且把session保存在web服务器上。一旦这台Web服务器宕机了,所有的session就会丢失,系统无法正常运行。如果我们考虑99.95%的SLA,需要使用2台Web服务器,并且把session也进行分离,使用云服务商提供的cache服务或者自己在虚拟机里实现cache的主从逻辑。

  b.单位文件服务器存放文件。这台文件服务器也会产生单点故障。如果需要将文件同时提交到多个节点上,在Windows平台需要使用比如DFS(分布式文件系统)或者在Linux平台使用RSync。实现文件在多个节点上进行提交和同步。

  c.单台SQL Server数据库服务器。数据库服务器存在单点故障。我们可以使用SQL Server 2012 Always On来实现数据库的高可用。

  (4)有限的横向扩展能力:

  如果大家在使用Azure Auto Scaling的时候,会发现在IaaS层面,如果需要实现100台虚拟机的auto scaling,需要手动预先创建100台虚拟机并在每一台虚拟机里配置同样的application。对于IaaS来说,Azure Auto Scaling不能自动扩展到任意的大小,而需要IT管理人员进行预设。这主要的原因是IaaS虚拟机的之间的数据同步问题,Azure没有办法将应用横向扩展部署到100台虚拟机上,因为每一台虚拟机的底层操作系统文件、应用文件都需要用户自己来管理。虽然我们可以通过虚拟机镜像来快速部署多台虚拟机,但是牵涉到IP规则,数据文件同步等等各方面,这些都需要用户自己来管理。所以对于IaaS来说,横向扩展是有限的。

  上面我们谈了一下IaaS,接下来我们谈谈PaaS平台。如最上面的图所示:

  对于PaaS平台来说,用户需要管理的对象是:

  Application,应用程序

  Data,数据文件

  所有底层的OS,Middleware和Runtime,都由Windows Azure来维护。但是要注意,Azure PaaS提供的操作系统其实是Windows。无法在PaaS层使用Linux的操作系统。如果你的应用必须跑在Linux平台,请使用Azure IaaS。

  知识分享:

  IaaS: Infrastructure-as-a-Service(基础设施即服务):

  第一层叫做IaaS,有时候也叫做Hardware-as-a-Service。提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、储存空间、部署的应用,也有可能获得有限制的网络组件(例如,防火墙,负载均衡器等)的控制。

IaaS: Infrastructure-as-a-Service(基础设施即服务):

  消费者通过Internet可以从完善的计算机基础设施获得服务。你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。

  一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat。

  PaaS: Platform-as-a-Service(平台即服务):

  第二层就是所谓的PaaS,某些时候也叫做中间件。公司所有的开发都可以在这一层进行,节省了时间和资源。提供给消费者的服务是把客户采用提供的开发语言和工具(例如javaPython, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置;

  PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。

  一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud。

  SaaS: Software-as-a-Service(软件即服务):

  第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;

  它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。

  你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。

  小结:其实这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。当然如果大家还想要了解更多内容,欢迎关注课课家教育平台,在课课家这个学习的天堂中,你一定会有意想不到的收获的!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程