如果你对DevOps或平台工程感到困惑,你并不孤单,。关于这个话题网上有很多讨论,而且问不同的人可能会得到不同的答案。
部分困惑来自DevOps常常被用作万金油术语。就连维基百科也搞不清DevOps究竟是什么。
…学术界和业界人士还没有为“DevOps”这一术语制定出一个统一的定义。 ~ 根据维基百科
不过我要告诉你,这两者之间确实有所不同。让我们先定义它们,再看看它们又是如何联系起来的……
我们知道使用Kubernetes可能会很复杂。因此,我们开发了Cyclops,一个用于构建Kubernetes上的开发者平台的开源框架。简化Kubernetes的复杂性,并通过一个可以根据需求定制的UI来部署和管理您的应用。
我们正在将Cyclops作为一个开源项目来开发。如果你有兴趣尝试,这里有一份快速入门指南,你可以在我们的仓库中找到。可以考虑给它一个星标⭐来支持我们。
⭐ 在GitHub上的Star Cyclops项目 ⭐
DevOps是什么呢?DevOps 实际上并不是一个职位,它更像是一种哲学。DevOps 中的 Dev 代表软件开发,比如开发应用和功能,而 Ops 代表运营,通常指在服务器和基础设施上部署、运行和维护软件。
考虑一下这种情况:你有一个负责交付应用程序和功能的开发团队,还有一个负责运维这些软件的运维团队。
当一个 bug 被发现出现在生产环境时,谁应该为此负责?开发团队常常将部署失败甩给运维团队,而运维团队则说开发团队写的代码不稳定。
而且这些团队有着不同的目标需要追求。开发人员希望尽快交付更多代码,而运维团队则优先考虑稳定性和可靠性。这种“各自为政”的文化导致了紧张和低效的情况。
这就是在DevOps成为主流之前(在某些情况下,至今仍然是)的现实。DevOps作为一种哲学,提倡一种协作文化,在这种文化中,开发人员和运维团队在整个软件开发生命周期中紧密协作。不再是将软件“一扔了之”,两方共同负责软件的构建、部署和维护。
我知道我说过 DevOps 实际上并不是一个职位,但事实上,它已经成为了一个。最初这个词可能意味着重组组织,让开发和运维团队更紧密合作,但在当今世界,它代表了一个类似运维的岗位。
DevOps工程师主要是实施自动化、CI/CD流程,管理基础设施,以及监控应用指标。该角色的具体职责可能有所不同,但重点在于帮助团队构建、测试、部署和监控他们的服务(这也是DevOps的核心价值所在)。这正是DevOps思想的体现。
平台工程是什么?在这个职位上,你将与开发、运营和基础设施团队合作,自动化和简化我们的流程,构建和维护部署、监控和操作的工具,并解决开发和生产环境中的各种问题。
~ 一份DevOps工程师的工作描述
平台工程就像一个内部产品团队,但它的主要用户是公司的开发人员和其他内部团队,而不是对外的客户。
平台工程师的工作是设计和构建工具套件、基础设施和工作流程,使开发人员更轻松地构建、测试、部署和管理软件。目标是建立一个统一的平台,通常称为内部开发者平台(IDP),该平台为开发人员提供自助访问所有所需资源的途径,而无需依赖其他团队,如运维或基础设施团队。
它们之间有什么关系吗?你将构建平台工具,并利用创新的云计算技术为最终用户(即公司的开发者们)带来欢乐。你是一名对通过自动化、云计算技术和提高生产力的工具来提升开发人员的工作体验充满热情的建设者,致力于通过自动化等手段增强开发人员体验。
~ 一个平台工程师的职位描述
平台工程并不是取代DevOps。DevOps的目标是提高软件质量、迭代速度和交付效率,这通常是通过引入新工具和流程实现的。在这方面,平台工程是实现和体现DevOps原则的一种方式。
点击
两者之间的分界线通常是在内部开发平台(IDP)上划清的。虽然DevOps工程师确实也为开发人员构建工具,比如bash脚本,并尽量自动化,但其目标并不是针对某个特定产品。
平台工程确实是以产品为核心——开发者的平台,尽可能地减少障碍,让开发人员更加自主和敏捷。
新来的家伙/新人邻居平台工程是一个相对较新的概念,其中一个最著名的例子是Backstage。但是,对于组织来说,构建内部开发平台(IDP)是一项非常昂贵的任务。在小型公司中,你通常不会看到许多平台工程师的职位(在这里,DevOps职位更为常见)。
在 Cyclops,我们正在开发一个框架,旨在减少构建 IDP 所需的成本和时间,并希望将所有 IDP 的好处惠及各种规模的公司。
如果你喜欢这篇文章或觉得它有帮助,加入我们的 Discord 服务器,在那里我们会及时告诉你最新的内容、新发展和团队的最新资讯!
⭐ 星标 Cyclops 项目 ⭐
哦,没有针对维基百科,超爱他们网站 🧡 ~ 尤拉