云服务提供商:如何保持选择的灵活性

无论您的云服务以何种开放程度运行,您都有自己环境的选择。
2 位读者喜欢这篇文章。
Sky with clouds and grass

Flickr 用户:theaucitron (CC BY-SA 2.0)

对于 Linux 用户来说,市场上出现了一种新型计算机,它被称为

与您桌上的 PC、背包里的笔记本电脑以及从您最喜欢的网络托管服务租用的虚拟专用服务器一样,您可以选择云 computing 的供应商。品牌名称与您多年来熟知的硬件品牌不同,但概念是相同的。

要运行 Linux,您需要一台计算机。要在云端运行 Linux,您需要一个云服务提供商。就像计算机附带的硬件和固件一样,您的计算堆栈的开源程度也有一个范围。

作为开源用户,我希望我的计算堆栈尽可能开放。在仔细调查云 computing 市场后,我开发了云服务提供商的三层视图。使用此系统作为您的指南,您可以就选择哪个云提供商做出明智的决定。

开放堆栈

完全开放的云是从头开始构建在开源技术之上的云。如此多的云技术是开源的,并且从一开始就是如此,以至于实现开放堆栈并非难事,至少在技术层面上是这样。然而,有一些云提供商正在以专有的方式重新发明轮子,这使得人们很容易偶然遇到一个将许多闭源组件与常用开源工具混合在一起的云提供商。

如果您正在寻找真正开放的云,请寻找提供 OpenStack 作为其基础的云提供商。OpenStack 为云提供软件基础设施,包括通过 Neutron 实现的软件定义网络 (SDN)、通过 Swift 实现的对象存储、身份和密钥管理、镜像服务等等。与我的硬件计算机类比保持一致,OpenStack 是为云提供动力的“内核”。

我当然不是字面意思,但如果您的云提供商运行 OpenStack,那么这在堆栈中就相当靠下了。从用户的角度来看,OpenStack 是您的云存在并拥有文件系统、网络等的原因。

在 OpenStack 之上,可能有一个 Web UI,例如 Horizon 或 Skyline,并且可能还有额外的组件,例如 OpenShift 或 OKD(不是首字母缩略词,但以前称为 OpenShift Origin)。所有这些都是开源的,它们可以帮助您运行容器,容器是嵌入应用程序的极简 Linux 镜像。

由于 OpenShift 和 OKD 不需要 OpenStack,因此这是我的基于云的世界观的下一层。

[ 下载指南: 容器和 Pods 101 ]

开放平台

您并不总是有权选择您的云运行哪个堆栈。您的云可能正在运行 Azure、Amazon Web Services (AWS) 或类似的东西,而不是 OpenStack。

这些是云世界的“二进制 blob”。您无法深入了解它们的工作方式或原因;您只知道您的云存在并且具有文件系统、网络堆栈等等。

就像桌面 computing 一样,您可以在给定的盒子上运行“操作系统”。再说一次,我不是字面意思,并且有一个强有力的论点认为 OpenStack 本身本质上是云的操作系统。尽管如此,通常是云用户直接与 OpenShift 交互。

OpenShift 是一个开源的“桌面”或工作区,您可以在其中使用 Podman 和 Kubernetes 管理容器和 Pod。它让您可以在云上运行应用程序,就像您在笔记本电脑上启动应用程序一样。

[ 掌握这些命令: Podman 速查表 ]

开放标准

最后但并非最不重要的一点是,在某些情况下,您别无选择,只能选择云服务提供商。您被放在一个具有专有“内核”、专有“操作系统”的平台上,而您唯一可以影响的就是您在该环境中运行的内容。

一切尚未结束。

当您处理开源时,您有能力构建自己的脚手架。您可以选择在容器内部使用哪些组件。您可以并且应该围绕开源工具设计您的工作环境,因为如果您确实要更换服务提供商,您可以将您构建的所有内容都带走。

这可能意味着实施一些已内置到您所处的(非开放)平台中的东西。例如,您的云提供商可能会用他们的平台中“免费”包含的 API 管理系统或持续集成/持续交付 (CI/CD) 管道来诱惑您,但您更清楚。当非开放应用程序以“免费”形式提供时,它通常会以其他某种形式产生费用。一种成本是,一旦您开始在其之上构建,您就会更加犹豫是否要迁移,因为您知道您将不得不留下您构建的一切。

与其使用云提供商的封闭“功能”,不如将这些服务重新实施为开源供您自己使用。在容器中运行 JenkinsAPIMan。找到您的云提供商声称可以使用专有代码解决的问题,然后使用开源解决方案来确保当您离开去寻找开放提供商时,您可以迁移您构建的系统。

[ 参加免费在线课程: 部署容器化应用程序 ]

开源 computing

对于太多人来说,云 computing 是一个开源只是附带的地方。实际上,开源在云上的重要性与在您的个人计算机和为互联网提供支持的服务器上一样重要。

寻找开源云服务。

当您被困于某些不提供源代码的东西时,请成为在您的云中使用开源的人。

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

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.