简化云中的应用程序开发

还没有读者喜欢这个。
A person holding on to clouds that look like balloons

Opensource.com

Everett Toews 是 Rackspace 的一名开发者倡导者,他每天致力于使 OpenStack 及其 Rackspace 云更易于开发者和运维人员使用。他是 O'Reilly 出版的《OpenStack 运维指南》的合著者,我们今年早些时候介绍了这本书。

Everett 也是 Apache jclouds 项目的核心贡献者,这是一个开源工具,旨在使开发者更容易构建能够利用云计算优势的应用程序,同时不受底层云基础设施项目的限制。

在这次采访中,我们采访了 Everett,以了解更多关于 Apache jclouds 项目的信息,并先睹为快他在下周 OpenStack 峰会上的演讲。

什么是 Apache jclouds?

让我们从 jclouds 的使命宣言开始。Apache jclouds® 是一个用于 Java 平台的开源多云工具包,它使您可以自由地创建可跨云移植的应用程序,同时让您完全控制使用云特定功能。

这些词语对我们来说实际上是有意义的,并且是经过仔细选择的。“开源”更多内容请参见社区。“多云”jclouds 适用于许多公共云和私有云,包括所有主要的云。“工具包”我们不仅仅是一个语言绑定,我们还有 Chef 集成和 CLI 等。“Java 平台”我们在 JVM 上运行,并与 Scala、Groovy 和 Clojure 协同工作。“可移植”更多内容请参见云无关。“云特定”jclouds 不仅是可移植的,我们还涵盖了一些云特定的功能,允许开发者使用他们需要的功能。“完全控制”重点是以对您的用例最有意义的方式使用 jclouds,您可以自由使用可移植或云特定的功能。

是什么让您加入 jclouds?您在项目中从事什么工作?

当 Rackspace 需要用于 OpenStack 和 Rackspace 云的 Java SDK 时,我们决定向外寻求开源社区的帮助,看看那里有什么。我们不想屈服于“非我发明”综合症。我们发现 jclouds 已经确立了领导地位,并且拥有一个健康的社区。我们全心全意支持开源,并加入了该项目。

我最初在 jclouds 上做了大量的开发工作。编写与 OpenStack 和 Rackspace API 协同工作的代码。然后我转向文档工作,并帮助重新设计了我们的网站和文档。最近,我一直专注于倡导 jclouds,并在伦敦、纽约以及最近在旧金山的 JavaOne 上就此发表演讲。

作为 Apache 软件基金会 (ASF) 的成员,我获得了项目管理委员会 (PMC) 成员和提交者的头衔。

为什么选择 Java?是否有其他语言的类似库?

简而言之,Java 无处不在。大多数人认为它是世界上最流行的语言。为了提供出色的开发者体验,我们需要去开发者所在的地方,而他们中的很多人都在用 Java 编码。这些人是我们的用户,我们在这里支持他们。

在其他语言中也有类似的开源项目。值得注意的是 Ruby 中的 Fog、Node.js 中的 pkgcloud 和 Python 中的 libcloud。

人们正在使用 jclouds 创建哪些类型的应用程序?

我们有很多用户,而该页面仅是我们用户的一小部分。要知道谁在使用您的开源项目并不总是容易的。大多数开发者将其集成到他们的项目中,启动并运行,我们就再也没有收到他们的消息。这就是为什么当我们了解到新的用户和新的用例时,我们会感到兴奋。最近的几个例子是,我们发现 Google 现在推荐 jclouds 作为其 Google Compute Engine 的 社区库之一,以及开源项目 Mesosphere 使用 jclouds 在云上创建集群。开发者正在依赖 jclouds,并使用它创建各种生产就绪的应用程序。

jclouds 作为云无关的工具,有哪些优势?

有很多优势,但对我来说,它们可以归结为两个主要原因:避免供应商锁定和不要把所有鸡蛋放在一个篮子里。

拥有小型工程团队(例如初创公司)的小型组织很可能使用云。随着它们的成长,它们可能会意识到它们最初使用的云提供商不再最适合它们的业务。这可能有很多原因,例如成本、性能和支持。与此同时,它们可能会意识到它们被锁定在它们最初使用的云提供商中。如果它们从一开始就利用像 jclouds 这样的云无关工具,它们可以降低切换成本。我在 OSCON 2013 上就此进行了广泛的演讲,并在保持云的诚实中对此进行了撰写。

拥有大型工程团队(例如企业)的大型组织也很可能使用云。在某些情况下,对它们来说,这不仅仅是为了避免供应商锁定。而是为了不要把所有鸡蛋放在一个篮子里,并从一开始就使用云无关工具 jclouds。要么它们与多个云提供商合作以应对灾难恢复场景,要么它们希望它们的云提供商为了它们的业务而更积极地相互竞争。无论哪种方式,这对用户来说都是双赢的。

请简单介绍一下社区。谁编写 jclouds?现在在 ASF 下意味着什么?

jclouds 是由 Adrian Cole 在 5 年多前创立的,他现在仍然活跃在该项目中。

我们有一个由 PMC 成员和许多提交者组成的核心团队,其中一些是个人贡献者,一些为不同的组织工作,包括各种云提供商。除了这个核心团队之外,我们还收到了来自全球各地的贡献。在该项目的历史中,我们收到了来自 100 多名贡献者的 8,500 多个提交。您可以从我们的社区页面了解更多关于如何参与的信息。


查看 OpenStack Kilo 峰会演讲者访谈完整系列

过渡到 ASF 对我们来说是一个相当大的变化。从技术上讲,有一些变化,但我们仍然通过 GitHub pull request 接受贡献,并且我们的持续集成管道保持完整。更大的变化是围绕我们的项目流程。在 ASF 之前,我们已经有了流程,但过渡迫使我们在 ASF 已经到位的流程结构的帮助下使这些流程正式化。当然,也有成长的痛苦,但最终它带来了一个更好的项目,由一群以 jclouds 的最佳利益为重心的个人管理。

如果我想开始使用 jclouds 与我的私有 OpenStack 云进行交互,我该如何开始?

jclouds 是 OpenStack 的官方 Java SDK。按照 developer.openstack.org 上的链接,您将进入 jclouds OpenStack 入门指南。该指南为开发者提供了关于安装 jclouds、术语差异以及一些示例代码的温和介绍。在您入门之后,最好退后一步,阅读关于核心概念的内容,否则您可能会只见树木不见森林。如果您的用例需要可移植和云无关的代码,您将需要深入研究 ComputeServiceBlobStore

关于 jclouds,您还有什么想分享的吗?

如果我不以一句“接受 pull request!”结束,那就不算是一个开源项目了。我们始终欢迎任何人在任何时候做出贡献。了解如何贡献的最佳方法是查看我们的如何贡献 wiki 页面。我们也高度重视对我们文档的贡献。请注意,在我们网站上每个页面的页脚中都有一个链接,上面写着“修复此页面”。如果您单击该链接,它将使您进入该页面的 markdown 源代码的 GitHub 编辑器,您可以立即进行修复。太棒了,您做出了贡献,开源世界因为您而变得更美好。

让我们跳到您在 OpenStack 峰会上要讲的内容。您能给我们预告一下吗?

我将在即将到来的巴黎 OpenStack 峰会上发表演讲,主题为Ciao:OpenStack 上应用程序的持续集成。这是一个关于在 OpenStack 上使用 Jenkins 和 jclouds 进行持续集成的入门级会议。在长期使用这些技术之后,很容易想尝试涵盖一些高级主题。但是,重要的是要记住,在峰会上有很多刚接触 OpenStack 的应用程序开发者,因此我们需要举办一些会议来帮助他们更好地理解如何使用 OpenStack 来创建更高质量的应用程序。

查看 OpenStack Kilo 峰会演讲者访谈完整系列。

User profile image.
Jason 是 Opensource.com 的一名员工,也是 2013 年至 2022 年的红帽员工。此个人资料包含他在此期间与工作相关的文章。其他贡献可以在他的个人帐户中找到。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.