乐趣区

关于java:老公入职第一天就被同事问了云计算的-三种模式

目录

[TOC]


“云”是互联网的一个隐喻,“云计算”其实就是应用互联网来接入存储或者运行服务器端的援用,数据,或者服务。

任何一个在互联网上提供其服务的公司都能够叫做云计算公司。其实云计算从用户体验的角度三层,别离是Infrastructure(基础设施)-as-a-ServicePlatform(平台)-as-a-ServiceSoftware(软件)-as-a-Service。基础设施在最下端,平台在两头,软件在顶端。别的一些“软”的层能够在这些层下面增加。

一、IaaS(Infrastructure as a Service)基础设施即服务

作用:通过 IaaS 这种模式,用户能够从供应商那里取得他所须要的虚拟机或者存储等资源来装载相干的利用,同时这些基础设施的繁琐的管理工作将由 IaaS 供应商来解决。IaaS能通过它上面对虚拟机反对泛滥的利用。IaaS次要的用户是系统管理员。

产品:次要产品包含:Amazon EC2LinodeJoyentRackspaceIBM Blue CloudCisco UCS 等。

性能:

  • 资源形象:应用资源形象的办法 (比方,资源池) 能更好地调度和治理物理资源
  • 资源监控:通过对资源的监控,可能保障根底施行高效率的运行
  • 负载治理:通过负载治理,不仅能使部署在基础设施上的利用运能更好地应答突发状况,而且还能更好地利用系统资源
  • 数据管理:对云计算而言,数据的完整性,可靠性和可管理性是对 IaaS 的根本要求
  • 资源部署:也就是将整个资源从创立到应用的流程自动化
  • 平安治理:IaaS的平安治理的次要指标是保障基础设施和其提供的资源能被非法地拜访和应用
  • 计费治理:通过粗疏的计费治理能使用户更灵便地应用资源

二、PaaS(Platform as a Service)平台即服务

作用:通过 PaaS 这种模式,用户能够在一个包含 SDK,文档和测试环境等在内的开发平台上十分不便地编写利用,而且不论是在部署,或者在运行的时候,用户都无需为服务器,操作系统,网络和存储等资源的治理操心,这些繁琐的工作都由PaaS 供应商负责解决,而且 PaaS 在整合率下面十分惊人,比方一台运行 Google App Engine 的服务器可能撑持成千上万的利用,也就是说,PaaS是十分经济的。PaaS次要的用户是开发人员。

产品:次要产品包含:Google App Engineforce.comherokuWindows Azure Platform 等。

性能:

  • 敌对的开发环境:通过提供 SDKIDE等工具来让用户能在本地不便地进行利用的开发和测试
  • 丰盛的服务:PaaS平台会以 API 的模式将各种各样的服务提供给下层的利用
  • 主动的资源调度:也就是可伸缩这个个性,它将不仅能优化系统资源,而且能主动调整资源来帮忙运行于其上的利用更好地应答突发流量
  • 精密的治理和监控:通过 PaaS 可能提供应用层的治理和监控,比方,可能察看利用运行的状况和具体数值 (比方,吞吐量和反映工夫) 来更好地掂量利用的运行状态,还有可能通过准确计量利用应用所耗费的资源来更好地计费

三、SaaS(Software as a Service)软件即服务

作用: 通过 SaaS 这种模式,用户只有接上网络,并通过浏览器,就能间接应用在云端上运行的利用,而不须要顾虑相似装置等琐事,并且免去初期昂扬的软硬件投入。SaaS次要面对的是一般的用户。

产品:Salesforce Sales CloudGoogle AppsZimbraZohoIBM Lotus Live 等。

性能:

  • 随时随地拜访:在任何时候或者任何地点,只有接上网络,用户就能拜访这个 SaaS 服务
  • 反对公开协定:通过反对公开协定(比方HTML4/5),可能不便用户应用
  • 平安保障:SaaS供应商须要提供肯定的平安机制,不仅要使存储在云端的用户数据处于相对平安的地步,而且也要在客户端施行肯定的平安机制 (比方HTTPS) 来爱护用户
  • 多住户 (Multi-Tenant) 机制:通过多住户机制,不仅能更经济地撑持宏大的用户规模,而且能提供肯定的可定制性以满足用户的非凡需要

四、三者之间的关联

它们之间的关系次要能够从两个角度进行剖析:其一是用户体验角度,从这个角度而言,它们之间关系是独立的,因为它们面对不同类型的用户。其二是技术角度,从这个角度而言,它们并不是简略的继承关系 (SaaS 基于 PaaS,而PaaS 基于 IaaS),因为首先SaaS 能够是基于 PaaS 或者间接部署于 IaaS 之上,其次 PaaS 能够构建于 IaaS 之上,也能够间接构建在物理资源之上。

五、IaaS 和 PaaS 之间的比拟

PaaS的次要作用是将一个开发和运行平台作为服务提供给用户,而 IaaS 的次要作用是提供虚拟机或者其余资源作为服务提供给用户。接下来,将在七个方面对 PaaSIaaS进行比拟:

  • 开发环境:PaaS根本都会给开发者提供一整套包含 IDE 在内的开发和测试环境,而 IaaS 方面用户次要还是沿用之前比拟相熟那套开发环境,然而因为之前那套开发环境在和云的整合方面比拟欠缺,所以应用起来不是很不便
  • 反对的利用:因为 IaaS 次要是提供虚拟机,而且一般的虚拟机能反对多种操作系统,所以 IaaS 反对的利用的范畴是十分宽泛的。但如果要让一个利用能跑在某个 PaaS 平台不是一件轻松的事,因为不仅须要确保这个利用是基于这个平台所反对的语言,而且也要确保这个利用只能调用这个平台所反对的 API,如果这个利用调用了平台所不反对的API,那么就须要对这个利用进行批改
  • 凋谢规范:尽管很多 IaaS 平台都存在肯定的公有性能,然而因为 OVF 等协定的存在,使得 IaaS 在跨平台和防止被供应商锁定这两面是稳步前进的。而 PaaS 平台的状况则不容乐观,因为不论是 GoogleApp Engine,还是 SalesforceForce.com都存在肯定的公有API
  • 可伸缩性:PaaS平台会主动调整资源来帮忙运行于其上的利用更好地应答突发流量。而 IaaS 平台则须要开发人员手动对资源进行调整能力应答
  • 整合率和经济性:PaaS平台整合率是十分高,比方 PaaS 的代表 Google App Engine 能在一台服务器上承载成千上万的利用,而一般的 IaaS 平台的整合率最多也不会超过 100,而且广泛在 10 左右,使得 IaaS 的经济性不如PaaS
  • 计费和监管:因为 PaaS 平台在计费和监管这两方面不仅达到了 IaaS 平台所能企及的操作系统层面,比方,CPU和内存的使用量等,而且还能做到利用层面,比方,利用的反应时间(Response Time)或者利用所耗费的事务多少等,这将进步计费和治理的精确性
  • 学习难度:因为在 IaaS 下面开发和治理利用和现有的形式比拟靠近,而 PaaS 下面开发则有可能须要学一门新的语言或者新的框架,所以 IaaS 学习难度更低
PaaS IaaS
开发环境 欠缺 一般
反对的利用 无限 广
通用性 欠缺 稍好
可伸缩性 主动伸缩 手动伸缩
整合率和经济性 高整合率,更经济 低整合率
计费和监管 精密 简略
学习难度 略难

IaaS 和 PaaS 将来

在当今云计算环境当中,IaaS是十分支流的,无论是 Amazon EC2 还是 Linode 或者 Joyen t 等,都占有一席之地,然而随着GoogleApp EngineSalesforceForce.com 还是微软的 Windows AzurePaaS平台的推出,使得 PaaS 也开始锋芒毕露。谈到这两者的将来,特地是这两者之间的竞争关系,我集体认为,短期而言,因为 IaaS 模式在反对的利用和学习难度这两方面的劣势,使得 IaaS 将会在短期之内会成为开发者的首选,然而从长期而言,因为 PaaS 模式的高整合率所带来经济型使得如果 PaaS 能解决诸如通用性和反对的利用等方面的挑战,它将会代替 IaaS 成为开发者的“新宠”。

它们之间的关系次要能够从两个角度进行剖析:其一是用户体验角度,从这个角度而言,它们之间关系是独立的,因为它们面对不同类型的用户。其二是技术角度,从这个角度而言,它们并不是简略的继承关系。
微信搜一搜 : 全栈小刘,获取文章 pdf 版本

退出移动版