刚到上家公司时,有人就跟我说他们已经使用 Kubernetes 了。于是我就看到一位运维人员在部署 Kubernetes 应用,在某某云的一个巨复杂的网页上点来点去,花了好几十分钟完成了应用的部署。我当时就有点震惊了,但是后来看了某某云的文档,我发现只要按照文档操作,一定会进入某某云的界面,执行类似下面的操作:
在别的地方学过 Kubernetes 的人也许会知道这并不是常规的用法,基于 GitOps 的思想,直接管理 yaml 类的文件更加方便。但是对某些人来说,这就是 Kubernetes 。
当然,大多数云是知道更高效的用法的,几乎每个云厂商都有配套的 CI/CD 或完整的 DevOps 服务。通过这些服务,应用可以从代码变成正在运行的程序。这个过程需要很好的界面吗?我觉得也未必,如果能够按照 12 factors 之类的要求规划应用,每个项目增加一个 Dockerfile 和 Jenkinsfile 就可以实现应用的 CI/CD 。应用开发人员也无需增加额外的工作,一切可以悄无声息的完成。
不止一个销售跟我说,客户一定是需要界面的,入门还是需要界面的,但是如果这个入门界面培养了一种错误的工作模式,我们还有必要去迎合吗?对我来说,界面只是帮我实现了更好的可观测性,我好像不需要一个包罗万象的管理界面。大家是怎么想的呢?