我是一名相对新手的机器学习工程师,对 DevOps 和软件开发感兴趣,很抱歉这个问题比较模糊且仅基于个人观点。
但是多个博客和教程在教授一些云概念时都建议我不要使用会导致供应商锁定的服务,但却没有明确说明它们是什么类型的服务。
例如,如果我使用自动脚本来管理云服务器启动等,那么我应该使用 Terraform 等开源脚本,而不是 AWS 或 Azure CLI?
当我编排 Docker 容器并运行 Web 服务时,我是否应该避免使用 Fargate 或 ECS 等更高级别的抽象,而是恢复到在 EC2 实例内启动容器(如本地 Linux 服务器)?
但无论如何,我仍然必须使用特定于云的解决方案和 API 来与它们交互,对吗?例如,Amazon S3 存储桶与 Azure 博客存储提供类似的服务,但使用不同的 API。
或者我完全误解了这个概念,它的意思完全不同。如果能提供一些决策示例,说明哪些决策会导致或不会导致所谓的供应商锁定,我将不胜感激。
再次对初学者的问题表示歉意。
答案1
避免锁定,您最终只会使用虚拟机,而不是云提供商服务。如果您不使用云服务,您不妨只使用您能找到的最便宜、最可靠的虚拟机。
不过,我认为更好的方法是利用所选云供应商的服务和功能,而不必担心锁定,最终你会得到更可靠、更便宜的解决方案。如果你想更换云供应商,这会困难得多,但你可能不会这么做。