@wxy
https://linux.cn/article-16482-1.html
This commit is contained in:
Xingyu Wang 2023-12-17 22:40:41 +08:00
parent 042e9b3d92
commit ab8f5bca0c
2 changed files with 85 additions and 83 deletions

View File

@ -0,0 +1,85 @@
[#]: subject: "Cloud service providers: How to keep your options open"
[#]: via: "https://opensource.com/article/22/5/cloud-service-providers-open"
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16482-1.html"
保持对云服务供应商选择的多样性
======
![][0]
> 不论云服务的开放程度如何,你都能为自己的环境选择合适的方式。
对于 Linux 用户来说,市场上有一种新型的电脑出现,我们称之为“云”。
如同你桌面上的个人电脑,背包里的笔记本电脑,或是你租用的虚拟私有服务器一样,你可以选择不同的云计算供应商。虽然品牌名称和你以往熟悉的硬件品牌不一致,但其核心概念是相同的。
要运行 Linux你需要一台电脑。要在云上运行 Linux你需要一个云服务供应商。就像你的电脑中的硬件和固件一样你的计算堆栈可以使用多大的开源程度也是有区别的。
作为一个开源的用户,我更偏向于拥有尽量开放的计算集成环境。在对云计算市场进行详细的调研后,我形成了关于云服务供应商的三层观点。你可以根据这个体系作为指南,对你将选择的云供应商作出明确的决策。
### 开放堆栈
一个完全开放的云是从底层开始就建立在开源技术之上的云。由于云科技中有很大一部分从一开始就是开源的,因此技术层面的开放性堆栈并不难以实现。然而,也有云供应商以专有的方式重新发明轮子,这让用户很容易误入使用了许多封闭源码组件的云服务商的陷阱中。
如果你在寻找一个真正开放的云,那么你应该寻找一个提供 [OpenStack][2] 作为基础的云供应商。OpenStack 提供云的软件基础设施,包括通过 Neutron 实现的软件定义网络SDN、通过 Swift 实现的对象存储、身份和密钥管理、镜像服务等等。按照我的硬件电脑比喻OpenStack 就是驱动云的“内核”。
当然,我并不是字面上的意思,但如果你的云供应商运行 OpenStack那相当于你可以直接到达堆栈的底部。从用户的角度看OpenStack 是你的云存在并拥有文件系统、网络等的原因所在。
在 OpenStack 的主体上,可能有一个像 Horizon 或 Skyline 这样的网络用户界面,可能有像 [OpenShift][3] 或 OKD并不是一个缩写但前身是 OpenShift Origin这样的额外组件。所有这些都是开源的它们帮助你运行容器这些容器是内嵌应用程序的极简 Linux 镜像。
因为 OpenShift 和 OKD 不需要 OpenStack这就构成了我对云世界的下一个视野级别。
### 开放平台
你并不总是可以选择你的云正在运行的堆栈。你的云可能运行的是 Azure、AWS或者类似的东西而不是 OpenStack。
这些就是云世界的“二进制碎片”。你对它们如何工作,或者为什么工作一无所知;你只知道你的云存在,并且有一个文件系统,一个网络堆栈,等等。
就像桌面计算一样,你可以在获得的服务器上运行一个“操作系统”。言下之意,有一种观点认为 OpenStack 本质上就是云计算的操作系统。然而,通常情况下,用户直接交互的是 OpenShift。
OpenShift 是一个你可以使用 Podman 和 Kubernetes 管理容器和 <ruby>容器荚<rt>Pod</rt></ruby> 的开源“桌面”或工作区。它让你在云上运行应用程序,就像你在笔记本电脑上启动一个应用一样。
### 开放标准
最后,同样重要的一点是,有些情况下你在选择云服务供应商上没有什么选择。你被放在一个运行着专有“内核”、专有“操作系统”的平台上,你能影响的只剩下你在那个环境里运行什么。
但掌握开源的力量,你就能建立你自己的平台。你可以选择在容器内部使用的组件。你可以,而且应该,围绕开源工具设计你的工作环境,因为这样一来,如果你有机会更换服务供应商,你可以将你的所有工作迁移到新的供应商那里。
这可能需要你自行实现一些在你当前受限(非开源)平台上已经内置的功能。例如,你的云供应商可能会用一个包含在他们平台“免费”提供的 API 管理系统或持续集成/持续交付CI/CD管道来吸引你这需要你有清醒的认识。当一个非开放的应用被免费提供时通常会以其他形式带来一些成本。其中一种成本是一旦你开始在它的基础上构建你会更加不愿意迁移因为你会离开你已建立的一切。
你应当为自己重建这些封闭“特性”,并将其转化为开源服务。在容器中运行 [Jenkins][4] 和 [APIMan][5]。找出你的云提供商声称用专有代码解决的问题,然后使用开源解决方案来确保,当你离开寻找开放的供应商时,你可以迁移你已经构建的系统。
### 开源计算
对于太多的人来说,云计算是一个开源居于次要地位的领域。实际上,开源在云上的重要性与它在你的个人电脑和驱动互联网的服务器上同样重要。
寻找开源的云服务。
当你受困于无法获取源代码的环境时,就肩负起在你的云内使用开源软件的责任吧。
*题图DA/9dc5a9d0-d664-492f-890a-b437ce39c4d6*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/5/cloud-service-providers-open
作者:[Seth Kenlon][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/bus-cloud.png
[2]: https://opensource.com/resources/what-is-openstack
[3]: https://cloud.redhat.com/?intcmp=7013a000002qLH8AAM
[4]: https://opensource.com/article/19/9/intro-building-cicd-pipelines-jenkins
[5]: https://www.apiman.io/latest/
[0]: https://img.linux.net.cn/data/attachment/album/202312/17/223915neao8gei208poo8c.jpg

View File

@ -1,83 +0,0 @@
[#]: subject: "Cloud service providers: How to keep your options open"
[#]: via: "https://opensource.com/article/22/5/cloud-service-providers-open"
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Cloud service providers: How to keep your options open
======
No matter what level of openness your cloud service operates on, you have choices for your own environment.
![Sky with clouds and grass][1]
(Image by Flickr user: theaucitron, CC BY-SA 2.0)
For Linux users, there's a new kind of computer on the market, and it's known as the cloud.
As with the PC sitting on your desk, the laptop in your backpack, and the virtual private server you rent from your favorite web hosting service, you have your choice in vendors for cloud computing. The brand names are different than the hardware brands you've known over the years, but the concept is the same.
To run Linux, you need a computer. To run Linux on the cloud, you need a cloud service provider. And just like the hardware and firmware that ships with your computer, there's a spectrum for how open source your computing stack can be.
As a user of open source, I prefer my computing stack to be as open as possible. After a careful survey of the cloud computing market, I've developed a three-tier view of cloud service providers. Using this system as your guide, you can make intelligent choices about what cloud provider you choose.
### Open stack
A cloud that's fully open is a cloud built on open source technology from the ground up. So much cloud technology is open source, and has been from the beginning, that an open stack isn't all that difficult to accomplish, at least on the technical level. However, there are cloud providers reinventing the wheel in a proprietary way, which makes it easy to stumble into a cloud provider that's mixed a lot of closed source components in with the usual open source tooling.
If you're looking for a truly open cloud, look for a cloud provider providing [OpenStack][2] as its foundation. OpenStack provides the software infrastructure for clouds, including Software-Defined Networking (SDN) through Neutron, object storage through Swift, identity and key management, image services, and much more. Keeping with my hardware computer analogy, OpenStack is the "kernel" that powers the cloud.
I don't mean that literally, of course, but if your cloud provider runs OpenStack, that's reasonably as far down in the stack as you can go. From a user perspective, OpenStack is the reason your cloud exists and has a filesystem, network, and so on.
Sitting on top of OpenStack, there may be a web UI such as Horizon or Skyline, and there may be extra components such as [OpenShift][3] or OKD (not an acronym, but formerly known as OpenShift Origin). All of these are open source, and they help you run containers, which are minimalist Linux images with applications embedded within them.
Because OpenShift and OKD don't require OpenStack, that's the next tier of my cloud-based world view.
### Open platform
You don't always have a choice in which stack your cloud is running. Instead of OpenStack, your cloud might be running Azure, Amazon Web Services (AWS), or something similar.
Those are the "binary blobs" of the cloud world. You have no insight into how or why they work; all you know is that your cloud exists and has a filesystem, a networking stack, and so on.
Just as with desktop computing, you can have an "operating system" running on the box you've been given. Again, I'm not speaking literally, and there's a strong argument that OpenStack itself is essentially an operating system for the cloud. Still, it's usually OpenShift that a cloud user interacts with directly.
OpenShift is an open source "desktop" or workspace in which you can manage containers and pods with Podman and Kubernetes. It lets you run applications on the cloud much as you might launch an app on your laptop.
### Open standards
Last but not least, there are those situations when you have no choice in cloud service providers. You're put on a platform with a proprietary "kernel," a proprietary "operating system," and all that's left for you to influence is what you run inside that environment.
All is not lost.
When you're dealing with open source, you have the ability to construct your own scaffolding. You can choose what components you use inside your containers. You can and should design your working environment around open source tools, because if you do get to change service providers, you can take everything you've built with you.
This might mean implementing something already built into the (non-open) platform you're stuck on. For instance, your cloud provider might entice you with an API management system or continuous integration/continuous delivery (CI/CD) pipeline that's included in their platform "for free," but you know better. When a non-open application is offered as "free," it usually bears a cost in some other form. One cost is that once you start building on top of it, you'll be all the more hesitant to migrate away because you know that you'll have to leave behind everything you built.
Instead of using the closed "features" of your cloud provider, reimplement those services as open source for your own use. Run [Jenkins][4] and [APIMan][5] in containers. Find the problems your cloud provider claims to solve with proprietary code, then use an open source solution to ensure that, when you leave for an open provider, you can migrate the system you've built.
### Open source computing
For too many people, cloud computing is a place where open source is incidental. In reality, open source is as important on the cloud as it is on your personal computer and the servers powering the internet.
Look for open source cloud services.
When you're stuck with something that doesn't provide source code, be the one using open source in your cloud.
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/5/cloud-service-providers-open
作者:[Seth Kenlon][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/bus-cloud.png
[2]: https://opensource.com/resources/what-is-openstack
[3]: https://cloud.redhat.com/?intcmp=7013a000002qLH8AAM
[4]: https://opensource.com/article/19/9/intro-building-cicd-pipelines-jenkins
[5]: https://www.apiman.io/latest/