云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。今天我们用云计算行业最主要的三个词:saas、paas、iaas来浅析一下什么是云计算。
saas 是云计算的最上层,简单来说,就是你住五楼,我住六楼,我是你的“上层”的意思。它是一种基于平台上的具体应用,ssss层是距离用户最近的那一层。任何一个远程服务器上的应用都可以通过网络来运行,就是saas了。你消费的服务完全是从网页如 netflix,mog,googleapps,box.net,dropbox或者苹果的icloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
例如多备份就是让用户可以通过一个简单应用直接在云端进行数据的管理和保护,同时,用户还可以依据多备份实现多个云之间的数据互通,比如,你如果想把阿里云的数据备份到百度云,需要做的就是先把阿里云的数据从云端拿下来然后再上传。如果使用多备份的话,就可以省去将数据下载到本地的这一步骤。这里的ssss甚至可以定义为一种软件,所以才会有 “软件即服务”的说法。
所谓paas实际上是指将软件研发的平台作为一种服务,提供给用户。用户或者企业基于paas平台可以快速开发自己所需要的应用和产品。人们对paas的理解不尽相同。netflix展现了一种不同于通常人们所理解的paas。netflix是构建在aws上的最大service,其使用的ec2实例数在10k数量级。我们一般认为:saas的目标用户是最终用户;paas的目标用户是开发者;iaas的目标用户是itops。
但问题是对于很多应用,特别是复杂应用,传统意义上的paas根本无法满足需求。例如,可以在cloudfoundry平台上运行一个cloudfoundry吗?显然是不行的。对于复杂的、大规模的应用,开发人员需要拥有对整个full-stack的控制。对于开发者而言,构建介于cloud-nativeapp和 infra之间的paas能力层有多种选择。
iaas(infrastructureasaservice),指基础设施即服务,消费者通过internet可以从完善的计算机基础设施获得服务。iaas的真正价值不在于自动化编排和管理数据中心物理资源,而是彻底改变上层平台和应用使用it资源的方式。近年来,国内公有iaas“服务”如雨后春笋一般大量出现。但除了阿里云提供了ecsapi外,在其他厂商云服务主页上却看不到类似awsec2api的开放api。如果在没有开放api的情况下,就发布iaas“服务”,那么说明api在产品优先级中处于很低的位置。
所谓云存储就是将网络中大量各类不同类型的存储设备通过应用软件结合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,说得直白一点就是按需分配。当然在具体的实现过程中绝对不会像说得那么简单。说白了一点这种iaas 是云的制造者。基于internet的服务(如存储和数据库)是iaas的一部分。internet上其他类型的服务包括平台即服务 (platformasaservice,paas)和软件即服务(softwareasaservice,saas)。paas提供了用户可以访问的完整或部分的应用程序开发,saas则提供了完整的可直接使用的应用程序,比如通过internet管理企业资源。
saas、paas、iaas云计算的三层结构,但是三者之间并没有也不需要非常明确的划分。saas、paas、iaas都试图去解决同一个商业问题——用尽可能少甚至是为零的资本支出,获得功能、扩展能力、服务和商业价值。