开源开发者应该了解的关于云服务提供商的 5 件事

使用开源技术进行开发,并在云端、桌面以及任何地方发布开源成果。
4 位读者喜欢这篇文章。
woman on laptop sitting at the window

CC BY 3.0 US Mapbox Uncharted ERG

“云”指的是互联服务器阵列的集体计算能力以及使这些计算机协同工作以创建动态定义基础设施的软件层。 因为许多人认为云是计算的新领域,所以它在过去几年中一直主导着软件行业。 然而,您个人对云的参与程度可能取决于您的职业以及您在计算中对使用云的认知程度。

如果您是一名程序员,您可能正在考虑将您的开发迁移到云端,无论是为了工作还是为了娱乐,但很快就会意识到,选择云提供商可能是一项令人感到难以承受的任务,特别是对于开源爱好者而言。 我过去曾写过关于 开放云 的重要性。 幸运的是,作为一名开发人员,无论您的经验如何,您都可以通过非常直接的方式来帮助确保云能够促进和加强开源。

以下是开发人员应该了解的关于云提供商以及云对开源意味着什么 的五件事。

云提供商不必定义您的平台

要在云端开发软件,您有两种选择。 您可以 构建自己的微型云,或者您可以购买其他人的云时间。

构建自己的云很有趣。 如果您的集群有足够的贡献者,它也可能很有效。 但是,如果您需要您的软件在没有实际限制的情况下增长,那么运行您自己的云可能不现实。 购买云服务并不意味着您会失去对计算的控制。 云提供商本质上是您和虚拟基础设施之间的供应商。 您需要计算能力,而云提供商渴望将其出售给您。

就像您从货架上购买一台新笔记本电脑一样,没有人会强迫您使用随之而来的闭源臃肿软件。 当您在云端租用空间时,您可以根据需要运行任意数量的 Linux 容器,但是您用来创建和部署这些容器的界面以及这些容器连接到的基础设施可能不是开源的。 您可以将云界面视为操作系统,将容器视为您选择的 Apache httpd、Postfix、Dovecot 等。

要运行开源界面,请选择运行开源控制台,例如 OpenShift (基于上游 OKD 项目。) 如果您最终使用的云提供商没有直接提供开源控制台,请考虑像 Red Hat OpenShift Service on AWS (ROSA) 这样的服务,该服务将您的平台选择放在首位。 

云只是别人的计算机,所以信任您的提供商

如果您与计算机一起工作、在计算机上工作或围绕计算机工作,即使是间接地,您可能已经在处理云了。 您可能至少有一些理解,即当应用程序在浏览器内运行时,它实际上是在别人的计算机(即公司的服务器阵列)上运行。

有很多理由认真思考谁的硬件托管您的个人、组织和客户数据。 但是,作为一名开发人员,也有理由考虑您构建工作流程的工具链。 仅仅因为您注册了云提供商,并不意味着您会被迫使用特定的工具链。 您永远不应该因为害怕不得不重建自己的开发环境而犹豫是否要从某项服务迁移。 选择一家能够让您灵活地以对您可持续的方式构建您的环境、您的 CI/CD 管道 和您的发布模型的提供商。

在云端开发仍然意味着在您的计算机上开发

如果您还没有在云端开发任何东西,它可能对您来说似乎很陌生,但是在云端开发与在您的计算机上开发并没有太大的不同。 如果有的话,它会强制执行您可能多年来一直想建立的非常好的开发实践。

无论是在云端还是仅在离您的键盘几英寸远的地方,您都需要考虑开发环境。 您有需要跟踪、管理和更新的库。 您有一个 IDE 可以帮助您处理语法、一致性、变量名、函数和方法等等。 优秀的云提供商允许您使用您想使用的工具,无论是文本编辑器、容器友好的 IDE,还是 云感知的 IDE

开放标准仍然重要

不要被计算节点所迷惑。 仅仅因为位在异地被处理并不意味着您必须将数据提交到黑匣子。 OpenStack 的工作是确保云的最基本基础可以是开放的,这使得云开发和管理 比以往任何时候都更接近您的桌面开放容器倡议 的工作使 PodmanLXC 等应用程序能够保持容器的开放性(以及无守护程序和无根)。 开放标准和开放规范使您作为开发人员能够为您的工作选择最佳解决方案。

在选择云提供商时,不要满足于任何更低的标准。

我们可以构建一个开放的云

云已经为互联网的大部分提供动力,但它变得越开放,潜力就越大。 使用开源技术支持开放云提供商很重要,但帮助构建它也同样重要。 云,就像我们的个人计算机、互联网,甚至我们的日常社区一样,只有我们选择使其开放才能变得开放。

使用开源技术进行开发,并在云端、桌面以及任何地方发布开源成果。

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算机行业工作,并且经常同时进行。

评论已关闭。

© . All rights reserved.