云计算中,云交付模子有哪三种?

打印 上一主题 下一主题

主题 766|帖子 766|积分 2298

云交付模子

  根据NIST(National Institute of Standards and Technology = 美国国家标准技术研究院)的定义,云计算主要分为3种交付模子,这3种交付模子主要是从用户体验的角度出发的。
这3种交付模子分别是:
   

  • 软件即服务(Software as a Service, SaaS)
  • 平台即服务(Platform as a Service, PaaS)
  • 底子设施即服务(Infrastructure as a Service, laaS)
   
对于平凡用户而言,主要用的是SaaS这种服务模式,几乎全部的云计算服务最终的出现形式都是SaaS。
除此之外,还有 DaaS,DBaaS,CaaS 等概念,但全部的概念都可以归为3种交付模子中的一种。比方:CaaS(容器即服务),它是以容器为核心的公有云平台,可以看作PaaS。
 


   软件即服务

  SaaS是Software as a Service(软件即服务)的简称。它是一种通过网络提供软件的模式。
用户不用购买软件,而是向提供商租用基于Web的软件来管理企业经营活动。
简单来说,就是别人直接做好了产品,你拿得手的就是一个制品。你要做的就是把它卖出去,最多再包装一下,好比印上你自己的 Logo。
   优点

  相对于传统的软件,SaaS解决方案有明显的上风,包罗:
   

  • 较低的前期成本
  • 便于维护
  • 快速展开使用
  • 由服务提供商维护和管理软件
  • 服务提供商提供软件运行的硬件设施
  • 用户只需拥有接入互联网的终端就可以随时随地使用软件
  SaaS软件被以为是云计算的典型应用之一。
 
   SaaS的主要功能

    (1) 随时随地访问

    在任何时间,任何所在,只要接上网络,用户就能访问这个SaaS服务。
    (2) 支持公开协议

    通过支持公开协议 (比方HTML4,HTML5),可以或许方便用户使用。
    (3) 安全保障

    SaaS供应商需要提供肯定的安全机制,不仅要使存储在云端的用户数据处于绝对安全的境地,而且也要在客户端实行肯定的安全机制(比方HTTPS)来保护用户。
    (4) 多租户

    Multi-Tenant机制:不同的客户会用相同的硬件和数据存储。 虽然是在同一台服务器上运行,但是,每个租户的数据都是隔离的,对其他人不可见。
  通过多租户机制,不仅能更经济地支持庞大的用户规模,而且能提供肯定的可指定性,以满意用户的特殊需求。
   
   应用

  用户消费的服务完满是从网页进入这些分类 (比方Netflix, Google Apps, Dropbox或者苹果公司的iCloud等等)。
一些用作商务的SaaS应用包罗:
   
 
  

  • Citrix(思杰)公司的GoToMeeting
  • Cisco(思科)公司的WebEx
  

  

  • Salesforce 公司的 CRM客户关系管理(customer relationship management)、ADP自动数据处理(Automatic Data Processing) 等
  
 

  
 
 
   平台即服务

  把服务器平台或者开发环境,作为服务进行提供的,就是平台即服务(Platform as a Service, PaaS)。
PaaS是预先定义好的,就绪可用(ready-to-use)的环境,一般由已经摆设好和配置好的IT资源组成。意思就是别人提供平台服务,然后让你可以把自己的设计实现。简单来说,就相当于加工好的半制品食材,你只需要加热一下就好了。
类似 IaaS,PaaS 也包罗服务器、存储空间和网络等底子结构,但它还包罗中间件、开发工具、贸易智能 (BI) 服务和数据库管理体系等。PaaS 的目的就是:支持 Web 应用程序的完整生命周期:生成、测试、摆设、管理和更新。
 
   优点

  在云计算应用的大环境下,PaaS的上风:
   (1) 开发简单

    PaaS可以缩小开发和测试的范围,然后降低开发测试的难度和复杂度。
    (2) 摆设简单

    使用虚拟器件方式摆设,可以大幅度的减轻工作量。
    (3) 维护简单

    由于整个虚拟器件都是来自同一个ISV(独立软件商),以是任何软件的升级和技术支持都只要和一个软件商联系就可以了,以是维护起来很方便。
   
   功能

  PaaS的主要功能:
   (1) 有好的开发环境

    通过SDK和IDE等工具让用户能在当地进行应用的开发和测试。
    (2) 丰富的服务

    PaaS平台会以API的形式把各种各样的服务提供给上层应用。
    (3) 自动的资源调度

    也就是可伸缩特性,它不仅能优化体系资源,而且能自动调整资源,来帮助应用层更好地应对突发流量。
    (4) 精细的管理和监控

    通过PaaS可以或许提供对应用层的管理和监控。
  比方:可以或许观察应用运行的环境和具体数值 (比方:吞吐量和相应时间)。
   
接下来,介绍PaaS的三种延伸:
   1. 服务平台交付(IaaS+)

  在严酷意义上,标准的IaaS提供的是虚拟机。然而,很多时间企业需要的并不是虚拟机,而是在虚拟机上运行的应用体系。于是,很多企业开始思量PaaS方案,但PaaS需要改造现有企业的业务应用甚至代码重构,对于很多企业来说,这种方案是无法继承的。这个时间就出现了IaaS+(Infrastructure as a Service Plus,增强型底子设施即服务)的概念。
IaaS+就是一种增强的IaaS模子。
IaaS+ 包罗计算、网络和存储,以及其他模块化服务,模糊了 IaaS 和 PaaS 之间的边界。
由于它是IaaS平台的延伸,以是可以算PaaS的一种,属于IaaS+方式实现。
 
   2. 无服务器架构(Serverless)

  无服务器计算现在是软件架构圈里面的热门话题,三大云计算供应商(Amazon、Google 和 Microsoft)都在大力投入这个领域。
无服务器架构其实就是,允许企业构建、运行应用和服务,而不用去思量服务器。用户不需要相识底层的摆设和配置,开发人员直接编写运行在云上的函数、功能和服务。
通俗来说,如果将购买一台物理服务器比作买车,购买云服务器就类似于租车(租赁期间需要驾驶和维护,且即使闲置也需付费),那么Serverless则类似于出租车(只需乘坐,按里程计费)。
 
从技术层面来说,我们可以简单明白为:Serverless = FaaS + BaaS
   1. FaaS(函数即服务,Function as a Service):将函数代码托管给云产商,以服务形式运行。著名的代表产品就是AWS Lambda。
  2. BaaS(后端即服务,Backend as a Service):开发者不需要开发和维护后端服务。
  在大多数环境下,当开发人员提到无服务器时,他们所指的基本是 FaaS 模子。
 
   特点

  无服务器架构的特点:
   (1) 在Serverless应用中,开发者只需要专注业务,对干剩下的运维等工作都不需要费心
  (2) Serverless是真正的按需使用,当请求到来时才会开始运行
  (3) Serverless是按运行时间和内存来计费的
  (4) Serverless应用严峻依靠于特定的云平台、第三方服务
   
   应用

  以亚马逊的AWS Lambda为案例,Lambda能让你不用思考任何服务器。也就是说,不用你处理服务器上的摆设、服务器容量和服务器的扩展和失败容错,还有服务器上选择什么OS利用体系,语言的更新,日记等等题目。你的应用程序只需要和多个第三方的API或服务打交道,也可以自我创建一个无服务器的API。
 

 
   无服务器计算宁静台即服务(PaaS)有何不同?

    PaaS 和无服务器计算共同点就是:都不需要开发人员进行后端管理。
  他俩的区别就是:包罗可扩展性、订价、启动时间、工具和在网络边沿摆设的能力是不同的。
   

 
   3. 容器即服务(CaaS)

  容器即服务 (Container as a Service, CaaS) 也称为容器云,是以容器为资源分割和调度的基本单位。它允许软件开发人员使用基于容器的虚拟化来上传、组织、运行、扩展和管理容器。
此中,容器的意思就是:一个包含全部依靠项的软件包(代码、配置和体系库等等)。以是,它可以在任何主机体系上运行。 CaaS 宁静台即服务 (PaaS)的不同之处就是,CaaS依靠于容器的使用。
CaaS 本质上是容器化软件包的自动托管和摆设。 如果没有 CaaS,软件开发团队需要摆设、管理和监控容器运行的底层底子设施。
 
在云计算服务范围内,CaaS 提供的功能比底子设施即服务 (IaaS) 更多,但功能却少于大多数平台即服务 (PaaS) 产品。 CaaS 最常摆设在 IaaS 模子中。但是要留意:CaaS的主要资源单元是容器,而不是虚拟机 (VM) 或裸机服务器。
 
留意:docker和容器的关系就是:容器是用来装东西的,docker是容器的一种,在某些特定的场景下docker ≈ 容器,用来装服务。
容器云的Docker容器几平可以在任何平台上运行,包罗物理机、虚拟机、公有云、私有云、个人计算机服务器等,这种兼容性可以让用户把一个应用程序从一个平台直接迁徙到另外一个。
 
   CaaS与IaaS和PaaS的关系

  CaaS,它介于IaaS和PaaS之间,起到了屏蔽底层体系(laaS),支撑并丰富上层应用平台(PaaS)的作用。
CaaS解决了IaaS和PaaS的一些核心题目。主要就是,以容器为中心的CaaS可以很好地,把底层的IaaS封装成一个大的资源池,用户只要把自己的应用摆设到这个资源池里面,就不再需要关心资源的申请、管理,以及与业务开发等等的无关的事情。
 

 
   底子设施即服务

  IaaS(Infrastructure as a Service = 底子设施即服务)。
IaaS服务就是把服务器、储存、网络以及各种底子运算资源等IT底子设施,作为一种服务,通过网络提供给用户。IaaS的计费一般是基于用户对资源的现实使用量或占用量来计算的。
使用IaaS,用户可以把公司需要的硬件外包到其他地方。云服务提供商会提供场外服务器、存储和网络硬件,用户就可以直接租用,这样就节省了购买和维护硬件的成本。
 
IaaS的优点是:用户只需提供低成本硬件,按需租用相应的计算能力和存储能力就行。
 
   功能

  IaaS的主要功能如下:
   (1) 资源抽象

    使用资源抽象的方法,能更好地调度和管理物理资源。资源抽象的意思就是:“隐藏硬件怎样运行的细节,从而使应用程序的程序员,相对轻易使用计算机硬件”的过程。其实就是,不用具体明白硬件是怎样运行的,淘汰了工作量。
    (2) 负载管理

    通过负载管理,不仅使摆设在底子设施上的应用能更好地应对突发环境,而且还能更好地使用体系资源。
    (3) 数据管理

    对云计算而言,数据的完整性、可靠性和可管理性是对IaaS的基本要求。
    (4) 资源摆设

    也就是把整个资源从创建到使用的流程自动化。
    (5) 安全管理

    IaaS的安全管理的主要目标是:保证底子设施和提供的资源被正当地访问和使用。
    (6) 计费管理

    通过过细的计费管理能使用户更灵活地使用资源。
   
   基本云交付模子的比较

  SaaS、PaaS和IaaS:这三个交付模子之间没有一定的联系,只是3种不同的服务模式,都是基于互联网的,按需、按时付费,就像水、电煤气一样。
他们之间的关系:
   (1) 从用户体验角度而言:它们之间的关系是独立的,由于它们面向的是不同的用户
  (2) 从技术角度而言:它们并不是简单的继承关系,由于SaaS可以基于PaaS,或者直接摆设在laaS之上,然后 PaaS可以构建在laaS之上,也可以直接构建在物理资源之上
  这3种交付模式都是采用外包的方式,减轻了云用户的负担,降低了管理与维护服务器硬件、网络硬件、底子架构软件和应用软件的人力成本。
 


   总结

  IBM 的软件架构师 Albert Barron(阿尔伯特·巴伦) 曾经使用披萨作为比喻,来解释3种交付模子。
 

   披萨

  假设你是一个餐饮业者,计划做披萨买卖。
你可以重新到尾,自己生产披萨,但是这样比较贫困,需要预备的东西多。以是,你决定外包一部分的工作,采用他人的服务。
 

上图:从左到右,你自己承担的工作量(图上蓝色部分)越来越少,IaaS > PaaS > SaaS。 
你有三个方案。
      方案一:IaaS

    别人提供厨房、炉子、煤气,你使用这些底子设施,来烤你的披萨。
   
     方案二:PaaS

    除了底子设施,别人还提供披萨饼皮。
  你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的种类(海鲜披萨或者鸡肉披萨),别人提供平台服务,让你把自己的设计实现。
   
     方案三:SaaS

    他人直接做好了披萨,不用你的介入,得手的就是一个制品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。
   
   整体来看

  对应软件开发,就是下图:
 

   SaaS 是软件的开发、管理、摆设都交给第三方,不需要关心技术题目,可以直接拿来用。平凡用户接触到的互联网服务,几乎都是 SaaS。
   
  PaaS 提供软件摆设平台,抽象掉了硬件和利用体系细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。
   
  IaaS 是云服务的最底层,主要提供一些底子资源。它与 PaaS 的区别是,用户需要自己控制底层,实现底子设施的使用逻辑。
   
   每层具体有什么

  从底层到高层,你需要预备很多的装备:
           从最底层开始:你要有自己的机房,电力,网络,IP地点
   
          再高层一点:你要有自己的服务器硬件,处理器,内存
   
          在往上就是:在服务器硬件的底子上,要有利用体系(Windows,Linux)
   
          利用体系上还要有运行时(Runtime)
   
          还要有WEB应用程序的框架(Framework)
   
          预备好框架之后,你还要在框架里处理好正确的代码和业务逻辑
   
          最后,在业务逻辑之上,你才华形成好一个可以对外服务别人的软件
  以是整体来看,如果你要全部东西都自建的话,是需要非常多东西的,很贫困。
 
   产品

  下图是一些云计算公司和服务:
 

和任何行业一样,少数公司会超越其他公司,成为市场领导者。 当我们想到云计算提供商时,世界上有三个名列榜首:谷歌云平台、亚马逊网络服务和微软 Azure。
 

   SaaS(软件即服务)

    你可以直接注册并使用一些软件:
  比方 Zendesk、PayPal,还有一些以客户为导向的公司,如 Twitter、Facebook、Instagram。
  国内的就好比:钉钉,企业微信等等。
    PaaS(平台即服务)

    你可以在平台之上构建您的软件:比方 Heroku、Salesforce、Google App Engine
  国内的就是:百度BAE、新浪SAE、京东云擎JAE
    IaaS(底子设施即服务)

    提供一些地方(虚拟机)来摆设您的应用程序。
  比方 Amazon Web Service EC2、Digital Ocean、Rack Space Cloud。
  国内的就是:阿里云,腾讯云,华为云
    当地摆设

    有自己的数据中心和服务器。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表