IaaS,PaaS和SaaS

  要介绍PaaS就需要了解云计算的三层的区别,云计算分层的,分别是Infrastructure(基础设施)-as-a-ServicePlatform(平台)-as-a-ServiceSoftware(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。

 

    从上图可以看出,IaaS提供的是硬件基础设施,消费者通过Internet 可以从完善的计算机基础设施获得服务,PaaS则提供以这个基础设施为基础建立的标准平台。因此,他们的根本区别在于是否将底层硬件基础架构暴露给用户。IaaS用户必须将更多精力投入到管理底层硬件和中间件基础架构上,这相比PaaS来说更具复杂性与专业性,但也正因如此,它天生就更具灵活性和机动性选择PaaS要比IaaS更加便捷。它的缺点在于各PaaS提供商标准不一第三层也就是所谓SaaS,这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入任何一个远程服务器上的应用都可以通过网络来运行客户按使用时间或使用量付费这些应用软件,并通过互联网来使用。

  有一个做皮萨的说法很有意思,你自己从头开始做,比如和面,烘烤等等,这相当于从基础设施开始都是自己提供的,那么这就是本地部署;如果你是从外面买来的成品,但是需要自己烘焙,就相当于你没有基础设施,但是可以购买基础设施的服务,你拿到的是已经做好的,只需要自己再进行简单加工,不需要了解具体制作的过程,这就是IaaS;如果你是买的已经烤好的皮萨到家里,你连烘焙都不需要了,只需要提供盘子,餐桌,苏打水让自己可以享用皮萨就可以了,相当于基础设施的部分你完全不必理会,但是你仍然需要提供一些必要的条件来使目的达成,这就是PaaS;如果你直接到餐厅吃皮萨,那么你只要负责吃就可以了,其他的一切都不必担心,相当于你直接获取了服务,这就相当于SaaS

  作为被称之为未来的云计算的PaaS,其发展的缓慢程度也出乎了所有人的意料之外,这要归罪于传统的PaaS容器,传统的Container技术存在安全性问题,并不能对应用程序和系统、以及应用程序之间进行很好的隔离。这样就带来了问题,即在其他环境中开发的应用无法无痛的移植到这些PaaS平台中,即使是为了PaaS重新开发一个应用,也无法利用别人开发好的类库,这种自废武功的行为使得PaaS成为鸡肋。同时,传统PaaS容器还有性能问题,创建和销毁一个容器都需要很多的时间和资源。为了解决这些问题,20133PaaS厂商dotCloud发布了Docker.io,一个开源的全新linux轻量级虚拟机技术。它采用虚拟机技术来对资源进行隔离,显著提升了性能,并且大大改进了部署应用的便捷性。

     Docker的出现使PaaS以更简洁的方式为开发者提供服务成为了可能有了Docker,开发人员不再需要为处理各种开发、测试、生产环境的差异而花费大量精力,他们可以将一个干净的开发环境直接迁移到生产环境,而不必担心各种依赖和配置问题。这有效的解决了开发者经常面临的 依赖陷阱。开发者不再需要为了使应用能够在PaaS中运行而学习额外的编程方式,他们的应用不需任何调整就可运行在Docker容器中。同时,Docker出现之后,开发者越来越多的考虑以Micro Service(微服务)的方式来实现他们的应用。长远来看,Docker将会使PaaS更易管理,更快地提供服务

  当前业界认为PaaS需要提供三大能力:1、应用托管:将开发者创建或拥有的应用部署到云平台上,支持自动伸缩、弹性扩展;2、高效Dev开发环境:开发者可使用PaaS提供的编程语言、库、服务以及工具来构建应用,提升开发效率;3Ops优化:依托PaaS运维能力,开发者无需管理或控制底下的云基础设施,包括网络、服务器、操作系统以及存储。

原文地址:https://www.cnblogs.com/small-office/p/9489430.html