如果你是一名程序员,你可能想把你的开发转移到云上,无论是为了工作还是为了娱乐,但很快就会意识到,选择云提供商可能是一个巨大的选择,尤其是对于开源爱好者来说。幸运的是,作为一名开发人员,无论你的经验如何,都有非常直接的方法可以帮助确保云促进和加强开源。
以下是开发者应该了解的关于云提供商的五件事,以及云对开源的意义。
云提供商不必定义你的平台
要在云上开发软件,你有两个选择。你可以构建自己的微型云,也可以在别人的云上购买时间。
建造自己的房子很有趣。如果你的集群有足够的贡献者,它也会很有效。但是,如果你需要软件在没有实际限制的情况下增长,那么运行自己的云可能并不现实。购买云计算并不意味着你失去了对计算的控制。云提供商本质上是你和虚拟基础设施之间的供应商。你需要计算能力,而云服务提供商急于将其出售给你。
然而,就像你买一台现成的新笔记本电脑一样,没有人会强迫你使用它附带的开源软件。在云上租用空间时,可以运行任意数量的Linux容器,但用于创建和部署这些容器的接口以及这些容器连接到的基础设施可能不是开源的。你可以把你的云界面想象成操作系统,把你的容器想象成你选择的ApacheHTTPD、Postfix、Dovecot等。
要运行开源界面,请选择运行开源控制台,例如OpenShift(基于上游OKD项目)。如果你最终使用的云服务提供商没有直接提供开源控制台,那么看看AWS上的RedHatOpenShiftservice(ROSA)之类的服务,它会将你的选择放在平台的第一位。
云只是别人的计算机,所以请相信你的提供商
如果你在计算机上或计算机周围工作,即使是无关紧要的工作,你可能已经在处理云了。你可能至少了解到,当应用程序在浏览器中运行时,它基本上是在其他人的计算机上运行的(即,公司的服务器阵列)。
有很多理由强烈思考谁的硬件存储了你的个人、组织和客户数据。但是,作为开发人员,也有理由考虑构建工作流的工具链。仅仅因为你注册了云服务提供商,并不意味着你就可以被迫进入特定的工具链。永远不要因为担心必须重建自己的开发环境而犹豫是否从服务迁移。选择一个能够让你以可持续的方式灵活构建环境、CI/CD管道和发布模型的提供商。
在云上开发仍然意味着在计算机上开发
如果你还没有在云上开发任何东西,这对你来说可能是陌生的,但是在云上开发和在计算机上开发并没有什么不同。如果说有什么区别的话,那就是它强制执行了你多年来一直想要实施的真正良好的开发实践。
无论是在云端还是离键盘只有几英寸的地方,你都有一个要考虑的开发环境。你需要跟踪、管理和更新库。你有一个IDE,它可以帮助处理语法、一致性、变量名、函数和方法等问题。一个好的云提供商可以让你使用你想要使用的工具,无论是文本编辑器、容器友好的IDE还是云感知的IDE。
开放标准仍然很重要
不要让计算节点欺骗你。仅仅因为比特在异地被处理,并不意味着你必须将数据提交到一个黑匣子。OpenStack的工作是确保云的基础可以打开,这使得云的开发和管理比以往更接近桌面。开放容器计划的工作使Podman和LXC等应用程序能够保持容器的开放性(以及无后台和无根)。开放标准和开放规范使开发人员能够为工作选择最佳解决方案。
在选择云服务提供商时,不要妥协于任何更少的需求。
我们可以建立一个开放的云
云已经为互联网的大部分提供了动力,但它越开放,潜力就越大。使用开源技术支持开放云提供商很重要,但帮助构建它也同样重要。云,就像我们的个人电脑、互联网,甚至是我们的日常社区一样,只有在我们选择的时候才会开放。
在云上、桌面上以及任何地方使用开源开发和发布开源。
原文链接:https://opensource.com/article/22/3/cloud-services-providers