最近,没有哪家技术性网站不提到所谓的云计算(cloud computing)的。云计算其实就是以服务的形式提供计算资源(计算机和存储)。这又涉及到以一种简单、透明的方式动态地将服务延伸到更多的计算机和存储的能力。所有这些都类似于效用计算(utility computing)背后的思想。在效用计算中,计算资源被看作一种计量服务,就像更传统的公共设施(例如水或电)一样。它们的区别不在于这些思想背后的目标,而在于组合到一起、使这些思想成为现实的现有技术。 云计算背后最重要的概念之一就是可伸缩性,而实现它的关键则是虚拟化(virtualization)。虚拟化在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。虚拟化还允许在线迁移,因此,当一个服务器超载时,可以将一个操作系统的一个实例(以及它的应用程序)迁移到一个新的、不那么繁忙的服务器上。 从外部看,云计算只是将计算和存储资源从企业迁出,并迁入到云中。用户定义资源需求(例如计算和广域网、带宽需求),云提供者在它的基础设施中虚拟地装配这些组件。
Software-as-a-Service SaaS 就是以服务的形式访问 Internet 上的软件。一种早期的 SaaS 方法是 Application Service Provider(ASP)。ASP 提供对 Internet 上存放或交付的软件的订阅。ASP 交付软件,并根据软件的使用收费。这样一来,您就不必购买软件,只需随需租用软件。
Platform-as-a-Service PaaS 可描述为一个完整的虚拟平台,它包括一个或多个服务器(在一组物理服务器上虚拟而成)、操作系统以及特定的应用程序(例如用于基于Web 的应用程序的 Apache 和 MySQL)。在某些情况下,这些平台可以预先定义和选择。而在另一些情况下,可以提供一个 VM镜像,该镜像包含所有的特定于用户的应用程序。 Infrastructure-as-a-Service IaaS 是以服务的形式交付计算机基础设施。这一层与 PaaS 的不同之处在于,只提供虚拟硬件,而没有软件栈。客户提供一个 VM镜像,该镜像在一个或多个虚拟服务器上被调用。IaaS 是作为服务的计算的最原始的形式(除了对物理基础设施的访问)。最著名的商业 IaaS提供程序是 Amazon Elastic Compute Cloud(EC2)。在 EC2 中,可以指定一个特定的VM(操作系统和应用程序集),然后将应用程序部署到它上面,或者提供要在服务器上执行的 VM 镜像。然后,只需根据计算时间、存储和网络带宽付费。 Eucalyptus 项目(Elastic Utility Computing Architecturefor Linking Your Programs To Useful Systems)是 Amazon EC2的一个开源实现,它与商业服务接口兼容。和 EC2 一样,Eucalyptus 依赖于 Linux 和 Xen进行操作系统虚拟化。Eucalyptus 是加利福尼亚大学(SantaBarbara)为进行云计算研究而开发的。您可以从该大学的网站上下载它(见 参考资料),或者通过 Eucalyptus PublicCloud 体验它,不过后者有一些限制。 另一个 EC2 风格的 IaaS 是 Enomalism 云计算平台。Enomalism 是一个开放源代码项目,它提供了一个功能类似于 EC2 的云计算框架。Enomalism 基于 Linux,同时支持 Xen 和 Kernel Virtual Machine(KVM)。与其他纯 IaaS 解决方案不同的是,Enomalism 提供了一个基于 TurboGears Web 应用程序框架和 Python 的软件栈。 (佚名) |