Linux上的云计算

发表于:2009-3-18 10:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:IBM

  SaaS 的另一个方面是在 Internet 上使用远程执行的软件。这种软件可以是本地应用程序所使用的服务(并定义为 Web 服务),也可以是通过 Web 浏览器看到的远程应用程序。远程应用程序服务的一个例子是 Google Apps,它通过一个标准的 Web 浏览器提供一些企业应用。要远程地执行应用程序,通常需要依赖于一个应用服务器来公布所需的服务。应用服务器 是一个软件框架,它公布软件服务的 API(例如事务管理或数据库访问)。具体的例子有 Red Hat JBoss Application Server、Apache Geronimo 和 IBM WebSphere?? Application Server 等。另外还有很多其他的应用服务器,参考资料小节给出了一份详细的列表。

  SaaS 的另一个最近的例子是 Google 的 Chrome 浏览器。这个浏览器是作为新桌面的理想环境,除了具有传统的 Web 浏览体验外,还可以通过它来(以本地或远程方式)交付应用程序。

  Platform-as-a-Service

  PaaS 可描述为一个完整的虚拟平台,它包括一个或多个服务器(在一组物理服务器上虚拟而成)、操作系统以及特定的应用程序(例如用于基于 Web 的应用程序的 Apache 和 MySQL)。在某些情况下,这些平台可以预先定义和选择。而在另一些情况下,可以提供一个 VM 镜像,该镜像包含所有的特定于用户的应用程序。

  PaaS 一个有趣的例子是 Google App Engine。App Engine 是一个服务,通过它可以在 Google 的可伸缩性极佳的架构上部署 Web 应用程序。App Engine 为可通过 Internet 引用的 Python 应用程序提供一个沙盒(将来还会支持更多的语言)。除了支持用户认证、镜像操作和电子邮件发送外,App Engine 还提供了 Python API,用于持久地存储和管理数据(使用 Google Query Language 或 GQL)。Web 应用程序运行时所在的沙盒将限制对底层操作系统的访问。虽然 App Engine 限制了应用程序可用的功能,但是它支持有用的 Web 服务的构造。请参阅 参考资料 小节,了解更多信息。

  注意:在一定的带宽和存储约束范围内,在 App Engine 中部署应用程序是免费的。但是,如果要用 App Engine 构建生产 Web 站点,则需要评估使用费。

  PaaS 的另一个例子是 10gen,它既是一个云平台,又是一个可下载的开放源代码包,可用于创建您自己的私有云。10gen 是类似于 App Engine 的一个软件栈,它提供与 App Engine 类似的功能 — 但有一些不同之处。通过 10gen,可以使用 Python 以及 JavaScript 和 Ruby 编程语言开发应用程序。该平台还使用沙盒概念隔离应用程序,并且通过自己的应用服务器的许多计算机(当然,是在 Linux 上构建)提供一个可靠的环境。

  Infrastructure-as-a-Service

  IaaS 是以服务的形式交付计算机基础设施。这一层与 PaaS 的不同之处在于,只提供虚拟硬件,而没有软件栈。客户提供一个 VM 镜像,该镜像在一个或多个虚拟服务器上被调用。IaaS 是作为服务的计算的最原始的形式(除了对物理基础设施的访问)。最著名的商业 IaaS 提供程序是 Amazon Elastic Compute Cloud(EC2)。在 EC2 中,可以指定一个特定的 VM(操作系统和应用程序集),然后将应用程序部署到它上面,或者提供要在服务器上执行的 VM 镜像。然后,只需根据计算时间、存储和网络带宽付费。

  Eucalyptus 项目(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是 Amazon EC2 的一个开源实现,它与商业服务接口兼容。和 EC2 一样,Eucalyptus 依赖于 Linux 和 Xen 进行操作系统虚拟化。Eucalyptus 是加利福尼亚大学(Santa Barbara)为进行云计算研究而开发的。您可以从该大学的网站上下载它,或者通过 Eucalyptus Public Cloud 体验它,不过后者有一些限制。

  另一个 EC2 风格的 IaaS 是 Enomalism 云计算平台。Enomalism 是一个开放源代码项目,它提供了一个功能类似于 EC2 的云计算框架。Enomalism 基于 Linux,同时支持 Xen 和 Kernel Virtual Machine(KVM)。与其他纯 IaaS 解决方案不同的是,Enomalism 提供了一个基于 TurboGears Web 应用程序框架和 Python 的软件栈。

  其他云开发

  除了前面已经讨论过的开发外,还有其他一些基于 Linux 的开放源代码包,它们在云环境中也比较有用。Hadoop 是一个开放源代码 Java?? 软件框架,它类似于 PaaS,但是着重于在一组联网的服务器上操纵大型的数据集(受 Google MapReduce 的启发,后者支持大型数据集的并行处理)。因此,它在 Web 搜索和广告应用中派上用场 — 特别是在 Yahoo! 上。Hadoop 还提供一些子项目,这很像 Google 应用程序。例如,HBase 提供类似于 Google BigTable 数据库的功能,Hadoop Distributed File System(HDFS)提供类似于 Google File System(GFS)的功能。

  问题和挑战

  云计算的问题显而易见 — 其中最重要的两个问题是保密性和安全性。保密性可以通过加密来解决,但是在选择云计算服务时,要审慎一些。在 Web 刚开始发展时,即使是电子商务也受到了怀疑。在全球,每年要发生价值上万亿美元的电子商务事务,所以云计算可以收益于当今所有提供 Web 安全的技术(例如安全套接字层或 SSL)。

  结束语

  云计算的风暴已经开始,推动云计算的 Linux 开源开发也在迅猛发展。随着云计算领域出现巨大的投资,向集中式数据中心的转型已显而易见。有趣的新技术和架构即将到来!

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号