为了便于理解云计算下一个层次的问题,我想先按照下面的划分方式介绍一下云计算的类别:
l IaaS(Infrastructure as a Service,基础架构即服务)通过互联网提供了数据中心、基础架构硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。端IaaS的代表产品是亚马逊的AWS(Elastic Compute Cloud),不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务。IaaS通常会按照"弹性云"的模式引入其他的使用和计价模式,也就是在任何一个特定的时间,都只使用你需要的服务,并且只为之付费。
l paas(Platform as a Service,平台即服务)提供了基础架构,软件开发者可以在这个基础架构之上建设新的应用,或者扩展已有的应用,同时却不必购买开发、质量控制或生产服务器。Salesforce.com的Force.com、Google的App Engine和微软的Azure(微软云计算平台)都采用了paas的模式。这些平台允许公司创建个性化的应用,也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。
l SaaS(Software as a Service,软件即服务)是为成熟、出名,也是得到广泛应用的一种云计算。大家可以将它理解为一种软件分布模式,在这种模式下,应用软件安装在厂商或者服务供应商那里,用户可以通过某个网络来使用这些软件,通常使用的网络是互联网。这种模式通常也被称为"随需应变(on demand)"软件,这是成熟的云计算模式,因为这种模式具有高度的灵活性、已经证明可靠的支持服务、强大的可扩展性,因此能够降低客户的维护成本和投入,而且由于这种模式的多宗旨式的基础架构,运营成本也得以降低。Salesforce.com、NetSuite、Google的Gmail和SPSCommerce.net都是这方面非常好的例子。
paas、IaaS和SaaS之间的区别并不是那么重要,因为这三种模式都是采用外包的方式,减轻企业负担,降低管理、维护服务器硬件、网络硬件、基础架构软件和/或应用软件的人力成本。从更高的层次上看,它们都试图去解决同一个商业问题——用尽可能少甚至是为零的资本支出,获得功能、扩展能力、服务和商业价值。当某种云计算的模式获得了成功,这三者之间的界限就会进一步模糊。成功的SaaS或IaaS服务可以很容易地延伸到平台领域。
在这个 “面向虚拟基础设施的云服务” 系列中,了解三种主要的云服务类型:Software as a Service (SaaS)、Platform as a Service (PaaS) 和 Infrastructure as a Service (IaaS)。
在篇文章中,探究 IaaS 如何能提供一组构建块或服务,比如虚拟服务器、数据存储和数据库。使用这些服务,您就能够创建一个平台来部署和运行应用程序。同时,了解 Eucalyptus 这种开源的软件基础设施,用来实现具有集群或工作站群的云计算。
不严格地讲,云计算 是指使用从您的环境之外作为一种服务提供的可伸缩计算资源,它按使用计费。您只需为所使用的资源付费,并在任何时候、Internet 的任何地方均可访问存在于这个云之内的任何资源。您无需顾及物理硬件和基础设施的管理;可以将这些责任留给云服务提供者。云计算是一种完全不同的计算和信息技术服务方式。云计算的前景是提供对所需计算资源的可伸缩的简便访问。
如图 1 所示,云服务明显区别于以往的受管服务,主要表现在如下三个方面:
按使用付费 — 您使用服务并按分或小时为服务付费。无需为可能需要或实际并未使用的资源提前付费。
弹性 — 可以根据需要增加或减少对资源的消费。
受管的基础设施 — 服务的基础设施由提供者拥有并完全受管于提供者。

云服务可分为如下三个主要类型。
这是为常见的一种云服务类型,我们中的大多数人都或多或少使用过。在 SaaS 云模型中,服务提供者提供所有的基础设施以及软件产品。用户通过一个基于 Web 的前端与此服务交互。这些服务涵盖的范围很广,从基于 Web 的电子邮件,比如 GMail,到财务软件,比如 Mint。
提供对基本构建块的访问的一种云服务。您可以组合并对这些构建块进行分层来构建运行应用程序所需的基础设施。IaaS 典型的例子有 Amazon Web Services (AWS) 和 Rackspace。
提供软件和产品开发工具的一种云服务,这些工具由提供者托管于它们的硬件基础设施。用户可以使用这个平台以及所提供的 API 或是通过一个用于开发的图形用户界面来创建应用程序。这种服务的典型例子有 Salesforce.com 的 Force.com 和 Google App Engine。
提供对基本构建块的访问的一种云服务。您可以组合并对这些构建块进行分层来构建运行应用程序所需的基础设施。IaaS 典型的例子有 Amazon Web Services (AWS) 和 Rackspace。
这是为常见的一种云服务类型,我们中的大多数人都或多或少使用过。在 SaaS 云模型中,服务提供者提供所有的基础设施以及软件产品。用户通过一个基于 Web 的前端与此服务交互。这些服务涵盖的范围很广,从基于 Web 的电子邮件,比如 GMail,到财务软件,比如 Mint。
提供软件和产品开发工具的一种云服务,这些工具由提供者托管于它们的硬件基础设施。用户可以使用这个平台以及所提供的 API 或是通过一个用于开发的图形用户界面来创建应用程序。这种服务的典型例子有 Salesforce.com 的 Force.com 和 Google App Engine。
提供对基本构建块的访问的一种云服务。您可以组合并对这些构建块进行分层来构建运行应用程序所需的基础设施。IaaS 典型的例子有 Amazon Web Services (AWS) 和 Rackspace。
图 2 显示了云服务的这三种常见类型以及相应的示例。

云服务还可以基于访问和位置分为三类:
公共 云对 Internet 上的所有人可用。任何用户都可以注册使用公共云。AWS 和 Rackspace 可能是公共云的两个提供商。
私有 云是一种专有的云环境,只对有限的用户提供云服务。私有云通常都位于防火墙后您自己的数据中心内。
混合 云,有时又称为虚拟私有云,这种云提供的服务运行在一个公共的云基础设施之上,但通过虚拟专用网(VPN)限制对它的访问。
目前既可以是运行在 AWS 之上的公共云,也可以是运行在防火墙后的私有云的云服务为数不多,而 Eucalyptus 是其中之一。
IaaS 云提供了一组构建块或基础服务,比如虚拟服务器、数据存储和数据库。您可以将这些服务一起纳入一个平台以便部署和运行您的应用程序。您可以轻松地搭建和拆除系统。IaaS 服务通常可通过一个 API 使用基于 SOAP 或 REST 的消息访问。
IaaS 云是可完全脚本化的环境;它们非常适合创建随需应变的框架。快速地组装好完整的、并能根据对资源的需求扩展或收缩的应用程序部署环境,这种能力是当今 IT 部门的重要价值主张。除了弹性之外,此服务的另一个吸引人之处是服务的按使用付费方式。您只需为您所消费的服务付费,无需预先分配资源。
使用 IaaS 系统会让多种应用程序从中受益。
测试和试运行
完整的测试和试运行环境可以被创建、使用并在不需要的时候拆除。硬件征用不再有时间上的延迟,也无需再等待环境就绪。任何时候想要测试,就可以创建一个新的环境并在测试完成后就丢弃该环境。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
您的企业可以使用云服务作为为用户存储文件和其他数据的地方。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
您可以使用 IaaS 运行 Web 站点并通过按需扩展资源来使站点能够轻松处理流量的增加。您甚至可以使用 IaaS 云服务针对特定的市场推广活动或销售策略创建额外的临时 Web 站点。
您的企业可以使用云服务作为为用户存储文件和其他数据的地方。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
您可以使用 IaaS 运行 Web 站点并通过按需扩展资源来使站点能够轻松处理流量的增加。您甚至可以使用 IaaS 云服务针对特定的市场推广活动或销售策略创建额外的临时 Web 站点。
完整的测试和试运行环境可以被创建、使用并在不需要的时候拆除。硬件征用不再有时间上的延迟,也无需再等待环境就绪。任何时候想要测试,就可以创建一个新的环境并在测试完成后就丢弃该环境。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
您的企业可以使用云服务作为为用户存储文件和其他数据的地方。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
您可以使用 IaaS 运行 Web 站点并通过按需扩展资源来使站点能够轻松处理流量的增加。您甚至可以使用 IaaS 云服务针对特定的市场推广活动或销售策略创建额外的临时 Web 站点。
您的企业可以使用云服务作为为用户存储文件和其他数据的地方。
您可以使用云服务的强大功能来处理大型数据集并充分利用大规模并行处理。可以按需创建网格来处理大型数据并在处理完成后拆除这些网格。
AWS 是个广泛可用的 IaaS 系统,它提供了可在 Web 上访问到的一组服务,这些服务又提供了对 Amazon 的现成可用的计算基础设施的编程式访问。由 Amazon 构建并经过多年改进的这个强壮的计算平台现在可以为任何人在任何地点使用,只要他具有 Internet 连接。AWS 所提供的基本构建块基础设施能满足大多数系统的需求。对于复杂多样的企业应用程序的架构的搭建,现在可以通过在 Amazon 提供的这些可靠并且经济的构建块服务之上铺设新的功能得以实现。
AWS 提供的主要服务有:用来管理和运行虚拟实例的 Elastic Compute Cloud (EC2);用来存储数据的 Simple Storage Service (S3)。这些服务均可通过 API 使用 SOAP 或 REST 访问到。此 API 正在迅速成为与云服务环境交互的事实标准,并且 Eucalyptus 也充分利用了它来提供一个很棒的 IaaS 平台。
NASA 的 NEBULA 云计算平台基础设施基于的就是 Eucalyptus,它为其大多数的 Web 站点提供了框架。的医药公司 Eli Lilly 使用 Eucalyptus 实现了按需应变的处理和存储。
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它初是美国加利福尼亚大学 Santa Barbara 计算机科学学院的一个研究项目,现在已经商业化,发展成为了 Eucalyptus Systems Inc。不过,Eucalyptus 仍然按开源项目那样维护和开发。Eucalyptus Systems 还在基于开源的 Eucalyptus 构建额外的产品;它还提供支持服务。
不管是源代码还是包安装,Eucalyptus 很容易安装在现今大多数 Linux? 发布版上。它提供了如下这些特性:
与 EC2 和 S3 的接口兼容性(SOAP 接口和 REST 接口)。使用这些接口的几乎所有现有工具都将可以与基于 Eucalyptus 的云协作。
支持运行在 Xen hypervisor 或 KVM 之上的 VM 的运行。未来版本还有望支持其他类型的 VM,比如 VMware。
用来进行系统管理和用户结算的云管理工具。
能够将多个分别具有各自私有的内部网络地址的集群配置到一个云内。
Eucalyptus 包含五个主要组件,它们能相互协作共同提供所需的云服务。这些组件使用具有 WS-Security 的 SOAP 消息传递安全地相互通信。
Cloud Controller (CLC)
在 Eucalyptus 云内,这是主要的控制器组件,负责管理整个系统。它是所有用户和管理员进入 Eucalyptus 云的主要入口。所有客户机通过基于 SOAP 或 REST 的 API 只与 CLC 通信。由 CLC 负责将请求传递给正确的组件、收集它们并将来自这些组件的响应发送回至该客户机。这是 Eucalyptus 云的对外 “窗口”。
Cluster Controller (CC)
Eucalyptus 内的这个控制器组件负责管理整个虚拟实例网络。请求通过基于 SOAP 或 REST 的接口被送至 CC。CC 维护有关运行在系统内的 Node Controller 的全部信息,并负责控制这些实例的生命周期。它将开启虚拟实例的请求路由到具有可用资源的 Node Controller。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
这个控制器组件管理对 Eucalyptus 内的存储服务的访问。请求通过基于 SOAP 或 REST 的接口传递至 Walrus。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
它控制主机操作系统及相应的 hypervisor(Xen 或近的 KVM,很快就会支持 VMWare)。必须在托管了实际的虚拟实例(根据来自 CC 的请求实例化)的每个机器上运行 NC 的一个实例。
这个控制器组件管理对 Eucalyptus 内的存储服务的访问。请求通过基于 SOAP 或 REST 的接口传递至 Walrus。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
它控制主机操作系统及相应的 hypervisor(Xen 或近的 KVM,很快就会支持 VMWare)。必须在托管了实际的虚拟实例(根据来自 CC 的请求实例化)的每个机器上运行 NC 的一个实例。
Eucalyptus 内的这个控制器组件负责管理整个虚拟实例网络。请求通过基于 SOAP 或 REST 的接口被送至 CC。CC 维护有关运行在系统内的 Node Controller 的全部信息,并负责控制这些实例的生命周期。它将开启虚拟实例的请求路由到具有可用资源的 Node Controller。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
这个控制器组件管理对 Eucalyptus 内的存储服务的访问。请求通过基于 SOAP 或 REST 的接口传递至 Walrus。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
它控制主机操作系统及相应的 hypervisor(Xen 或近的 KVM,很快就会支持 VMWare)。必须在托管了实际的虚拟实例(根据来自 CC 的请求实例化)的每个机器上运行 NC 的一个实例。
这个控制器组件管理对 Eucalyptus 内的存储服务的访问。请求通过基于 SOAP 或 REST 的接口传递至 Walrus。
Eucalyptus 内的这个存储服务实现 Amazon 的 S3 接口。SC 与 Walrus 联合工作,用于存储和访问虚拟机映像、内核映像、RAM 磁盘映像和用户数据。其中,VM 映像可以是公共的,也可以是私有的,并初以压缩和加密的格式存储。这些映像只有在某个节点需要启动一个新的实例并请求访问此映像时才会被解密。
一个 Eucalyptus 云安装可以聚合和管理来自一个或多个集群的资源。一个集群 是连接到相同 LAN 的一组机器。在一个集群中,可以有一个或多个 NC 实例,每个实例管理虚拟实例的实例化和终止。
在一个单一集群的安装中,如图 3 所示,将至少包含两个机器:一个机器运行 CC、SC 和 CLC;另一个机器运行 NC。这种配置主要适合于试验的目的以及快速配置的目的。通过将所有东西都组合到一个机器内,还可以进一步简化,但这个机器需要非常健壮才能这样做。

在多集群安装中,可以将各个组件(CC、SC、 NC 和 CLC)放置在单独的机器上。如果想要用它来执行重大的任务,那么这么做就是一种配置 Eucalyptus 云的理想方式。多集群安装还能通过选择与其上运行的控制器类型相适应的机器来显着提高性能。比如,可以选择一个具有超快 CPU 的机器来运行 CLC。多集群的结果是可用性的提高、负载和资源的跨集群分布。集群的概念类似于 Amazon EC2 内的可用性区域的概念。资源可以跨多个可用性区域分配,这样一来,一个区域内的故障不会影响到整个应用程序。图 4 给出了一个例子。

在将 Eucalyptus 安装并应用到您的基础设施上之前,需要考虑硬件要求。虽然出于试验目的,可以在一个笔记本电脑上运行全部内容,但是对于一个实际的部署场景,多集群无疑是一个更好的选择。如下所列的是 Ubuntu 管理员对硬件配置方面的一些指导。这些指导可广泛应用于任何的 Linux 发布版(不只是 Ubuntu)。
下面的指标是对用来运行 CC、CLC、Walrus 或 SC 的机器的建议配置。
硬件 建议
CPU 1 GHz 2 x 2GHz
内存 512 MB 2 GB
硬盘 5400rpm IDE 7200rpm SATA
磁盘空间 40 GB 200 GB
联网 100 Mbps 1000 Mbps
运行 NC 的机器需要更为强大,因为这些机器将会运行每个虚拟实例。它们还需要充足的磁盘空间来存储启动实例所需的映像。运行 NC 的这些机器是多核的、内存至少 4 GB、使用高速磁盘驱动器。如下是一些建议指标。
硬件 建议
CPU VT 扩展 VT,64-位,多核
内存 1 GB 4 GB
磁盘 5400rpm IDE 7200rpm SATA 或 SCSI
磁盘空间 40 GB 100 GB
联网 100 Mbps 1000 Mbps
在我写作本文之时,Eucalyptus 的版本是 1.6。您可以通过使用由该项目托管的公共实例 ucalyptus Public Cloud (EPC) 立即体验 Eucalyptus。EPC 具有有限的资源,所以对能够启用的实例的数量以及能够使用的存储量都是有限制的。但是,它仍然是一个很好的体验 Eucalyptus 和了解该环境的途径。
Eucalyptus 可以从源代码安装,也可以从面向特定 Linux 发布版的包安装。从源代码安装虽然复杂一些,但可工作于几乎所有的 Linux 版本。包安装虽然简便,但只适用于 Redhat 和基于 Debian 的发布版。更详细的安装指导,请参考 Eucalyptus 管理员指南。安装 Eucalyptus 为简单的方法是安装 Ubuntu Linux 发布版的版本 Karmic Koalad,并充分利用 Ubuntu Enterprise Cloud,它能提供对运行基于 Eucalyptus 的云的完整支持(参见 参考资料)。
Ubuntu Enterprise Cloud (UEC) 是一个由 Ubuntu 提出的新的开源计划,旨在进一步简化基于 Eucalyptus 的云基础设施的部署、配置和使用。UEC 简化了如下内容:
创建能够在 Amazon 的 EC2 基础设施上运行 Eucalyptus 的公共云
创建能够在位于防火墙之后的数据中心内部的基础设施之上运行的私有云
这是到目前为止为简单的安装和尝试使用 Eucalyptus 的方式。只需 CD 服务器版并将其安装在任何想要的地方。UEC 也是个允许在本地环境轻松创建云服务并进而利用云计算强大功能的开源项目。
Eucalyptus 是一个具有优良架构的云服务环境,可用来在 Amazon 的 EC2 基础设施上创建一个公共云,或者在您的数据中心(甚至是笔记本电脑)内创建私有云。如果您正在考量在您的团队或组织内使用云计算,那么 Eucalyptus 非常值得您考虑用作云服务平台。它提供了如下一些好处。
开源和开发
Eucalyptus 的创建是为了促进云计算平台方面的交流和研究。它以源代码的形式提供使用,这就使得您很容易透过其表面看到它的实质,或是针对自己的需求创建该平台的扩展。开发的步调很快。特性以及改进不断被添加到 Eucalyptus。
杰出社区
Eucalyptus 具有一个由愿意与他人共享自己见地的热情而博学的用户组成的杰出社区。他们的论坛是您获得支持并与其他 Eucalyptus 用户交互的一个很好的途径。
公共云
Eucalyptus 可很容易地作为一个公共云安装和运行在 Amazon 的 EC2 框架上。
私有云
Eucalyptus 可被作为运行在您的基础设施之上的私有云安装于防火墙后的数据中心内。这样,您就获得了对安全性和环境的全面控制。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
Eucalyptus 现在是 Ubuntu Enterprise Cloud 的一部分,并且是数千个 Ubuntu 服务器的一个组件。这种测试规模将会很快巩固 Eucalyptus 平台的稳定性。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
得益于 Eucalyptus 与 Amazon 的 EC2 API 的兼容性以及 Eucalyptus 的灵活性,可以很容易地将应用程序从一个云迁移到另一个云。甚至可以创建混合云来同时使用公共和私有云。
Eucalyptus 现在是 Ubuntu Enterprise Cloud 的一部分,并且是数千个 Ubuntu 服务器的一个组件。这种测试规模将会很快巩固 Eucalyptus 平台的稳定性。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
得益于 Eucalyptus 与 Amazon 的 EC2 API 的兼容性以及 Eucalyptus 的灵活性,可以很容易地将应用程序从一个云迁移到另一个云。甚至可以创建混合云来同时使用公共和私有云。
Eucalyptus 可被作为运行在您的基础设施之上的私有云安装于防火墙后的数据中心内。这样,您就获得了对安全性和环境的全面控制。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
Eucalyptus 现在是 Ubuntu Enterprise Cloud 的一部分,并且是数千个 Ubuntu 服务器的一个组件。这种测试规模将会很快巩固 Eucalyptus 平台的稳定性。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
得益于 Eucalyptus 与 Amazon 的 EC2 API 的兼容性以及 Eucalyptus 的灵活性,可以很容易地将应用程序从一个云迁移到另一个云。甚至可以创建混合云来同时使用公共和私有云。
Eucalyptus 现在是 Ubuntu Enterprise Cloud 的一部分,并且是数千个 Ubuntu 服务器的一个组件。这种测试规模将会很快巩固 Eucalyptus 平台的稳定性。
如果您需要超出论坛所能提供的更快的支持,对于基于 Eucalyptus 的云还有商业支持可用。
在本文中,您了解了 Infrastructure as a Service (IaaS) 云计算环境。您还探究了可用来创建公共或私有云基础设施的开源 Eucalyptus 项目。
本系列的第 2 部分将着眼于 Platform as a Service (PaaS) 云环境以及 Appscale,一个用来运行 Google App Engine 应用程序的开源项目。
云办事还能够基于接见和位置分为三类:
公共 云对 Internet 上的一切人可用。任何用户都能够注册利用公共云。AWS 和 Rackspace 可能是公共云的两个供应商。 私有 云是一种专有的云情况,只对有限的用户供应云办事。私有云平日都位于防火墙后您本身的数据中间内。 夹杂 云,有时又称为虚拟私有云,这种云供应的办事运转在一个公共的云根蒂根基举措措施之上,但经由过程虚拟专用网(VPN)限制对它的接见。
今朝既能够是运转在 AWS 之上的公共云,也能够是运转在防火墙后的私有云的云办事为数不多,而 Eucalyptus 是个中之一。
Infrastructure as a Service (IaaS)
IaaS 云供应了一组构建块或根蒂根基办事,好比虚拟办事器、数据存储和数据库。您能够将这些办事一路归入一个平台以便布置和运转您的应用法式。您能够轻松地搭建和撤除系统。IaaS 办事平日可经由过程一个 API 利用基于 SOAP 或 REST 的新闻接见。
IaaS 云是可完整剧本化的情况;它们异常合适建立随需应变的框架。快速地组装好完好的、并能凭据对资本的需求扩展或缩短的应用法式布置情况,这种才能是当今 IT 部分的主要价值主张。除了弹性之外,此办事的另一个吸收人之处是办事的按利用付费体式格局。您只需为您所消费的办事付费,无需预先分派资本。
利用 IaaS 系统会让多种应用法式从中受益。
测试和试运转 完好的测试和试运转情况能够被建立、利用并在不需求的时刻撤除。硬件征用不再有时候上的延迟,也无需再守候情况停当。任何时刻想要测试,就能够建立一个新的情况并在测试完成后就丢弃该情况。 Web 应用法式布置情况 您能够利用 IaaS 运转 Web 站点并经由过程按需扩展资本来使站点可以或许轻松处置惩罚流量的增添。您以至能够利用 IaaS 云办事针对特定的市场推行运动或发卖战略建立额外的暂时 Web 站点。 存储需求 您的企业能够利用云办事作为为用户存储文件和其他数据的处所。 大范围数据处置惩罚 您能够利用云办事的壮大功用来处置惩罚大型数据集并充裕行使大范围并行处置惩罚。能够按需建立网格来处置惩罚大型数据并在处置惩罚完成后撤除这些网格
支持的应用
因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种基于X86架构的操作系统,包括Linux、OpenBSD和Windows等,所以IaaS支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个PaaS平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的API,如果这个应用调用了平台所不支持的API,那么就需要在部署之前,对这个应用进行修改。
开放标准
虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等协议的存在,使得IaaS在跨平台和避免被供应商锁定这两面是稳步前进的。而PaaS平台的情况则不容乐观,因为不论是Google的App Engine,还是Salesforce的Force.com都存在一定的私有API。
可伸缩性
PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而IaaS平台则常需要开发人员手动对资源进行调整才能应对。
整合率和经济性
PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用,而普通的IaaS平台的整合率多也不会超过100,而且普遍在10左右,使得IaaS的经济性不如PaaS。
计费和监管
因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用调用某个服务的次数等,这将提高计费和管理的性。
学习难度
对于那些熟悉类UNIX系统的程序员而言,能很快学习在IaaS的开发和管理应用的方式,虽然现在IaaS产品普遍对Windows开发环境没有很好的支持,而如果要学会PaaS上面开发则有可能需要学一门新的语言或者新的框架,所以IaaS学习难度更低。
云计算主要有SaaS,PaaS和IaaS这三种服务模式。对普通用户而言,他们主要面对的是SaaS这种服务模式,但是对普通的开发者而言,云计算对他们而言,却有两种服务模式可供选择,PaaS和IaaS,而且这两种模式有很多的不同,而且它们之间还存在一定程度的竞争,接下来将首先对这两种模式进行比较,之后将预测一下它们的未来,也就是那种模式将会更受到开发者的青睐。
比较
大家应该知道,PaaS的主要作用是将一个开发和运行平台作为服务提供给用户,而IaaS的主要作用是提供虚拟机或者其他资源作为服务提供给用户。下面将在七个方面对PaaS和IaaS两者进行比较:
开发环境
PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而在IaaS方面用户主要还是沿用之前那套开发环境,虽然比较熟悉,但是因为之前那套开发环境在与云的整合方面比较欠缺,所以有时候会很不方便,比如通过PaaS提供的工具部署一个应用到云上,可能只需几下鼠标点击和十多秒即可完成,而在IaaS平台上部署应用,相对而言比较复杂,特别是在刚开始使用的时候。
[1]. EPC datasheet https://www.dzsc.com/datasheet/EPC_2343714.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。