开放源代码的云计算应用

微软雅黑,sans-serif; font-size:10.5pt">众所周知,Linux 和开放源代码在云计算中的应用中扮演者极为重要的角色,让我们来探索一下,Linux 和开源社区究竟是如何为其做出贡献。当然,聪明如你,可能已经猜到其中一二,但还请大家继续往下看。

Software-as-a-Service

SaaS(软件即服务)就是以服务的形式访问 Internet 上的软件。一种早期的 SaaS 方法是 Application Service Provider(ASP)。ASP 提供对 Internet 上存放或交付的软件的订阅。ASP 交付软件,并根据软件的使用收费。这样一来,您就不必购买软件,只需随需租用软件。

SaaS 实例

传统应用程序与 Saas 应用程序之间的对比的一个有趣的例子是 SoftwarePlanner.com 提供的应用程序生命周期管理工具。该公司以传统形式或 SaaS 的形式提供他们的工具。当使用传统形式时,客户将应用程序套件放在他们的企业中;而当使用 SaaS 形式时,客户拥有应用程序套件,并将其放到 Internet 上。

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 的软件栈。

时间: 2024-11-17 00:38:29

开放源代码的云计算应用的相关文章

虚拟化、云计算、开放源代码及其他

借http://www.aliyun.com/zixun/aggregation/9847.html">国庆长假的机会写了这篇长文,全面地整理了个人从虚拟化到云计算各个层面的看法.主要的内容涉及虚拟化.虚拟化管理.数据中心虚拟化.云计算.公有云与私有云.以及开放源代码.本文的全部内容均属于作者的个人观点,而不代表任何公司的观点.欢迎讨论. A.虚拟化 虚拟化是指在同一台物理机器上模拟多台虚拟机的能力.每台虚拟机在逻辑上拥有独立的处理器.内存.硬盘和网络接口.使用虚拟化技术能够提高硬件资源的

Borland加强对开放源代码平台Eclipse支持

源代码 软件交付最优化解决方案厂商 -- Borland软件公司进一步加强对开放源代码开发平台 Eclipse的支持.Eclipse平台被开放源代码支持者所广为称誉,是一个支持多语言的通用部署平台.Borland 加入 Eclipse 基金会(Eclipse Foundation)的董事会后,将以策略性开发者的身份,领导推动 Eclipse 技术的发展.Borland 还将组织一支全职开发队伍,专责扩展 Eclipse 平台,在软件模型等技术领域作出贡献.事实上,软件模型技术正是 Borland

开放源代码将挑战甲骨文王国

甲骨文公司持续在数据库市场称霸,但分析师指出,开放源代码将成为该公司最大的对手. 市场研究公司IDC和Gartner均预测,关系性数据库管理系统(RDBMS)软件的全球业绩将持续成长,而企业数据储存需求仍是市场扩增的主要来源.该系统主要用于存储.操作或恢复数据. Gartner与IDC均在本周公布的全球2005年RDBMS软件销售报告中做出评估. 分析师表示,甲骨文王国的最大威胁将是MySQL等开放源代码竞争者.开放源代码软件的受欢迎,可能改变RDBMS产品现在的计价和授权方式,颠覆现状. Ga

XML观察:使用XML描述开放源代码项目 4

在本系列的前面三篇文章中,我论述了 XML/RDF 词汇表 DOAP 的开发,DOAP 用于描述开发源代码项目以及相关的一些资源.通过使用 DOAP,软件维护人员不再需要在多个 Web 站点注册他们的程序.相反,他们可以简单地给出 DOAP 描述的 URL.随着更多的应用程序成为 DOAP 感知的应用程序,参与和管理开放源代码项目开启了新的可能性. 为达到这些目标,除了创建词汇表外,还要做更多的事情,这一点很重要.在这篇总结性的文章中,我从文档.工具和社区这几个方面考察了采用 DOAP 所需要的

XML观察:使用XML描述开放源代码项目 3

本系列的前两篇文章中,我分析了描述开放源代码项目的XML/RDF 词汇表的原理和设计问题.DOAP(Description of a Project,项目描述)词汇表应该能够满足项目维护者(他们发现需要在无数的网站上注册自己的软件)以及寻找并交换这类信息的人员的需要.第 1 部分列举了目前这方面的研究,定义了项目的边界.第 2 部分提出了词汇表的候选术语,并强调了一些设计问题. 本文将给出 DOAP 词汇表的初步草案,和一些项目的示例描述.本文中包含大量的例子,建议在阅读的过程中练习创建自己的D

XML观察:使用XML描述开放源代码项目 2

在本系列文章的 第 1 部分中,我提出了旨在建立 DOAP(项目的描述)的项目,一种描述开放源代码项目的 RDF/XML 词汇表.对于那些需要在无数个 Web 站点上注册软件的项目维护者,以及寻求交换这类信息的任何人而言,DOAP 将满足他们的需求.那篇文章列举了该领域已经进行的工作,并定义了这个项目的边界. 这一次,我将抽取包含在该词汇表中的一组术语,并讨论规定这类术语所固有的困难.我将说明能够在全球分享 DOAP 描述的美好目标对词汇表的设计所带来的影响. 凝炼术语 表 1 列出了对不同软件

XML观察:使用XML描述开放源代码项目 1

开放源代码项目最伟大的一点是其本质上的民主性:任何人都很容易启动自己的项目,事实上经常如此!不幸的是,用户要找到适合自己用途的软件可能比较难.这一要求在过去一直通过不同的软件注册来满足.可能最出名的也是历史最悠久的软件注册是 Freshmeat,但还有更多,通常是针对更专门化的要求.比如,Free Software Foundation 的 FSF/UNESCO Free Software Directory.GNOME Software Map 以及 BioInformatics Softwa

Xdebug是一个开放源代码的PHP程序调试器

为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数).那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓. 什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Deb

CA收购开放源代码应用程序性能测试企业BlazeMeter

2016年9月20日--格林尼治标准时间20:49(东八区标准时间04:49) CA公司在星期二表示,该公司已经收购了BlazeMeter,这是一家专注于开放源代码应用程序性能测试的企业.这笔交易让CA能够更好地在其应用程序性能和DevOps产品组合同开放源代码的努力之间架起一道桥梁. 这笔交易将扩充CA的DevOps产品组合和应用程序交付工具.这笔交易将于今年年底完成,交易的条款未被披露. BlazeMeter的开放源代码工具将被用于更好地将CA的技术同开发人员连接在一起.BlazeMeter