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

客服QQ:3315713922

IaaS, PaaS和SaaS的区别你们可不要搞混了

作者:课课家教育     来源: http://www.kokojia.com点击数:2169发布时间: 2017-05-31 15:00:36

标签: 编程语言javaphp

  我觉得,要想正确理解一门技术,一定要理解它产生的背景,解决的问题。本篇文章为SaaS、PaaS、IaaS、观念区别,请大家认真阅读哦~

  云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。

IaaS, PaaS和SaaS的区别你们可不要搞混了_编程语言_java_php_课课家

  任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。

  XaaS是什么东西?是生意

  aaS = "as a Service",翻译过来就是:你出钱,我服务你。

  SaaS 卖软件的。你什么也不用干,只要出钱,我直接给你能用的软件。比如Gmail:给你邮件软件直接用, http:// github.com :给你版本控制软件直接用,Office 365:给你办公软件用,Photoshop Express:给你修图软件用。《黑客与画家》讲了互联网软件的优点,有兴趣可以自己瞅。

  PaaS 卖平台的。你自己写你的软件,但是运行你软件的平台由我来提供,保证你的软件运行。流行过的SAE什么之类的,你拿(世界上最好的编程语言)php来写个网站,上传给我,我来给你把网站跑起来。你专心写(抄)你的软件,其它的事儿交给我。

  IaaS 卖虚拟机的。我给你一坨虚拟机用,保证它们正常跑,能连网。虚拟机你怎么用随便你。代表作AWS, Azure,OpenStack等。这东西优势明显:比PaaS安全,因为虚拟机操作系统完全由你控制,别人很难改你的代码或数据,PaaS就难说了;比自己搞机器省心,不用担心虚拟机掉盘坏主板(关键数据和服务也一样要备份!小心我大蓝翔的挖掘机!)很有前途!

  云也是分层的

  任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a- Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在 中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a- Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在 中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

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

  第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。

  但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。

  一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

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

  第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。

  PaaS隐藏了服务器、虚拟机的概念,把一切功能服务化,而这些服务都是基于高可靠架构的,以SAE提供的Cron定时服务为例,这套Cron服务是基于分布式环境,任何一台机器宕机都不会影响定时任务的准确触发。

  PaaS是真正的“高可扩展”

  要明白这个问题,我们先来看什么叫“可扩展”,可扩展有两个层面:

  1,用户可以自行扩展资源,通过手工的方式(包括页面点击、API调用等):

  2,随着用户的业务扩张,自动扩展:

  几乎所有的IaaS厂商都可以实现层面1,但层面1的问题是,用户不知道什么时候扩展。用户真正需要的是层面2的扩展,即随着业务增长,资源自动扩展,整个过程用户可以完全不感知,目前这种层面的“高可扩展”没有任何一家IaaS厂商提供。

  而SAE恰恰提供这种层面2的高可扩展,SAE会自动判断用户的业务是否存在等待队列,一旦请求出现等待,将自动将请求分配新的计算节点,通过这种机制,用户从PV 100/天涨到PV 1亿/天,可以做到瞬间实现而无需用户做任何操作。

  PaaS是免运维的云计算:

  “免运维”是PaaS的最大魅力,因为用户把代码放上来,就可以完全不管了,无论业务凋零还是业务暴涨,都无需人工干预,当然SAE提供完整的图表展现用户的各种请求曲线,了解业务情况还是必须的。在SAE上的很多用户团队里都是0运维,也就是一个运维人员都没有,这在传统业务团队中是不可想象的。

“免运维”是PaaS的最大魅力,因为用户把代码放上来,就可以完全不管了,无论业务凋零还是业务暴涨,都无需人工干预,当然SAE提供完整的图表展现用户的各种请求曲线,了解业务情况还是必须的。在SAE上的很多用户团队里都是0运维,也就是一个运维人员都没有,这在传统业务团队中是不可想象的

  PaaS的缺点:

  虽然PaaS有免运维、高可靠、自动扩展、更加节约成本等优点,但是PaaS也有缺点,PaaS的最大缺点就是因为用户无法看见服务器,感受不到虚拟机,这样限制了用户的自主性和灵活性,比如用户想部署一个自己的C程序,或者用户想直接开一个FTP管理文件,这些需求都无法在PaaS中满足,因为PaaS 提供的是一个业务的开发、运行环境,而不是用户能够登陆的云主机。

  那么既然PaaS有优点也有缺点,那么什么情况适合使用PaaS呢?

  PaaS的适用场景:

  其实,PaaS和IaaS各有各的适用场景,主要由以下一些规律:

  非HTTP业务(如游戏服务端、数据分析服务)适合用IaaS,HTTP业务(网站、RESTfulAPI服务端)适合用PaaS;

  大型团队(拥有丰富的系统、网络、运维能力和经验)适合用IaaS,创业团队/小型团队(团队规模小,全部聚焦在业务)适合用PaaS;

  技术团队(喜欢定制化、喜欢掌控一切)适合用IaaS,产品团队(聚焦在产品开发)适合用PaaS;

  资金充裕(能够雇佣昂贵的系统工程师、能够支付没有流量的虚机费用)的团队适合用IaaS,资金紧张(对成本比较care的用户)的适合用PaaS;

  PaaS是真正的云计算平台:

  总之,在桌面时代,我们需要的不是IBM ThinkPad、甚至不是Windows,而是上面成千上万的应用、游戏;到了云时代,我们需要的既不是几core的虚拟机、也不是什么EBS存储,而是一个能让我们的业务稳定可靠省心运行的环境,如果有这样的环境,除了技术Geek,我想没有人想管服务器。

  PaaS尽管有种种问题,但它确实是从诞生就想提供给用户一个省心、稳定的业务运行环境,用户一旦部署,不需要关心扩容,不需要关心架构,不需要关心宕机,不需要关心配置,不需要关心优化,就可以随着业务的发展时时满足各种需要,所以PaaS是真正的云计算平台。

PaaS尽管有种种问题,但它确实是从诞生就想提供给用户一个省心、稳定的业务运行环境,用户一旦部署,不需要关心扩容,不需要关心架构,不需要关心宕机,不需要关心配置,不需要关心优化,就可以随着业务的发展时时满足各种需要,所以PaaS是真正的云计算平台。

  PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。

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

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

  第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。

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

  一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

  PaaS比IaaS更可靠

  IaaS用户容易高估自己的服务可靠性,这里面有两个原因:

  - IaaS服务厂商往往夸大自己的服务可靠性,实际从目前看任何一个IaaS厂商都时不时有重大故障报出来

  - IaaS用户迷信厂商提供的SLA,自己不进行高可靠架构部署

  我见过在IaaS只用2台虚拟机,然后标榜自己的服务可靠性有多高的用户,殊不知当物理机宕机时,虚拟机一定会收到影响,目前IaaS服务商能提供热迁移的只是少数,即使能提供也是需要提前准备的,无法做到故障时实时切换

  相信最后大家阅读完毕本篇文章后,学到了不少知识吧?大家私下还得多自学才能了解到更多的知识,当然如果大家还想要了解更多相关方面的详细内容的话呢,请登录课课家教育平台咨询哟~

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