最近,没有哪家技术性网站不提到所谓的云计算的。云计算其实就是以服务的形式提供计算资源(计算机和存储)。这又涉及到以一种简单、透明的方式动态地将服务延伸到更多的计算机和存储的能力。所有这些都类似于效用计算(utility computing)背后的思想。在效用计算中,计算资源被看作一种计量服务,就像更传统的公共设施(例如水或电)一样。它们的区别不在于这些思想背后的目标,而在于组合到一起、使这些思想成为现实的现有技术。
云计算背后最重要的概念之一就是可伸缩性,而实现它的关键则是虚拟化(virtualization)。虚拟化在一台共享计算机上聚集多个操作系统和应用程序,以便更好地利用服务器。虚拟化还允许在线迁移,因此,当一个服务器超载时,可以将一个操作系统的一个实例(以及它的应用程序)迁移到一个新的、不那么繁忙的服务器上。
IBM 和Amazon Web Services
云计算提供一种在虚拟环境中开发应用程序的方法,该环境的计算能力、带宽、存储、安全和可靠性都不成问题 — 您不需要在自己的系统上安装软件。在虚拟云计算环境中,可以开发、部署和管理应用程序,您仅需支付所使用的时间和容量,但这使您能够根据不断变化的业务需求调整应用程序。
IBM 和 Amazon Web Services 进行合作,让您能够在 Amazon Elastic Compute Cloud (EC2) 虚拟环境中使用 IBM 软件产品。我们在 EC2 上提供的软件产品包括:
◆DB2 Express-C 9.5
◆Informix Dynamic Server Developer Edition 11.5
◆WebSphere Portal Server and Lotus Web Content Management Standard Edition
◆WebSphere sMash
这是产品级别的代码,其中的所有特性和选项都是可用的。从 IBM developerWorks Cloud Computing Resource Center 了解更多信息,并下载运行这些产品的 Amazon Machine Images。要获得更多关于云计算的资源,请参见 developerWorks 上的 Cloud Computing for Developers space。从外部看,云计算只是将计算和存储资源从企业迁出,并迁入到云中。用户定义资源需求(例如计算和广域网、带宽需求),云提供者在它的基础设施中虚拟地装配这些组件。
云计算在 Internet 中迁移资源
但是,为什么您会心甘情愿地放弃对自己资源的控制,而让它们虚拟地存在于云中呢?原因有很多,但我相信最重要的两个原因是成本和可伸缩性。云计算的目标是使这些资源比您自己所能提供和管理的资源更廉价。云计算除了降低成本外,还有更大的灵活性和可伸缩性。云计算提供者可以轻松地扩展虚拟环境,以通过提供者的虚拟基础设施提供更大的带宽或计算资源。
云计算在环保方面的优势是,它可以在不同的应用程序之间虚拟化和共享资源,以提高服务器的利用率。图 2 显示了一个例子。在这个例子中,不同的应用程序使用了 3 个独立的平台,每个应用程序都在它自己的服务器上运行。在云中,可以在多个操作系统和应用程序之间共享(虚拟化)服务器,从而减少服务器的数量。更少的服务器意味着需要更少的空间(减少数据中心占用的空间)和更少用于制冷的电力(减少碳污染)。
虚拟化和资源使用
但是,有得必有失,云计算并非没有缺点。本文后面会探索其中的一些问题。但是现在,让我们更深入地探究云计算。
云计算剖析
当您深入观察云时,您会发现,它实际上并不是一个单独的服务,而是一个服务集合。
云计算的层次
我们从最低级的服务开始,即基础设施(Infrastructure-as-a-Service 或 IaaS)。IaaS 就是将基础设施(计算资源和存储)作为服务出租。这意味着虚拟计算机不仅具有有保证的处理能力,而且为存储和 Internet 访问预留了带宽。实际上,IaaS 具有在有特定服务质量约束的情况下出租计算机或数据中心的能力,使之能执行任意操作系统和软件。
云计算的价值
除了减少与云计算资源相关的管理成本外,云计算还有其他优点。例如,当您通过 Internet 将自己与自己的资源分离开时,那些资源在哪里并不重要。又如,它们可以在一个可自然制冷的环境中,从而减少能耗。
顺着栈往上看,上一级的服务是平台(Platform-as-a-Service 或 PaaS)。PaaS 类似于 IaaS,但是它包括操作系统和围绕特定应用的必需的服务。例如,除了虚拟服务器和存储外,PaaS 还提供一个特定的操作系统和应用程序集(通常是作为一个虚拟机,即 VM,或文件,例如 VMware 的 .vmdk 格式),以及对必要的服务(例如 MySQL 数据库或其他专用本地资源)的访问。换句话说,PaaS 就是 IaaS 加上一个用于给定应用的定制软件栈。
【编辑推荐】