你知道优酷、爱奇艺等视频网站是如何完成兴趣推送的吗?你知道淘宝、京东这些电商网站是如何不断推出新功能的吗?这背后其实隐藏着一个关于DevOps、SRE和平台工程的技术世界。


说到DevOps、SRE和平台工程的概念,对于很多人来说似乎感到挺困惑。那么,下面我们就来聊聊它们之间的异同,以及它们是如何协同工作的。


优维科技EasyOps


「DevOps」


首先是DevOps,它是由Patrick Debois和Andrew Shafer两位技术大神在2009年提出的。


DevOps的目的就是弥合“开发”和“运营”这两个传统独立团队之间的差距。他们之所以这么做,是为了培养一种文化,使这两个团队成为“同一枚硬币的两面”,在整个软件开发生命周期中都能一起工作。

 

你听说过Amazon的“你构建,你运行”原则吗?这其实也是DevOps的应用法则。


在DevOps这个无限模型中,构建软件的团队同步也在部署和维护它,这种工作模式加速了向最终用户交付新功能的进度。


不过,有一个事实,我们应该要承认,那就是在动态的技术环境中,角色的融合与发展是常态。


我们要先明确什么才是有效的运营?


关于这一点,我们认为能够适应并整合来自不同领域的元素,这就是有效的运营。例如,使用Ansible增强虚拟实例并在上面运行k8s的云工程师,可能看起来像一个DevOps专家;同样的,系统管理员构建工具和利用监控系统也可以被视为SRE。它们彼此的线条是流动融合的,这就是技术这个行业令人兴奋的灵魂所在。

 

「SRE」


SRE是Google的创意,旨在为大型复杂系统构建弹性。他们开发实践和工具,例如Borg集群管理系统和Monarch监控系统,以确保软件能够应对需求压力。


打个比方,SRE相当于软件世界的土木工程师,不仅要确保软件构建维持稳定,功能符合设计需要,还要能够有效地处理流量问题。但与传统运营团队不同的是,SRE使用软件工程方法来解决运营问题,他们的目标是创建超级可扩展且高度可靠的软件系统。


除此之外,强大的SRE其实还身兼多职!比如他们会构建工具来简化开发人员的流程,从而进入平台工程师的领域。

 

「平台工程」


那么,到底什么是平台工程?它实际运行起来是什么样子?


大家熟悉的视频网站就是一个很好的例子,比如:Netflix。Netflix在视频网站领域最引以为傲的就是强大的IT基础设施,其背后的关键角色就是伟大的“平台工程团队”。他们开发了一个坚实、可靠的平台,使开发人员能够快速生产高质量的软件。平台工程不仅仅是技术的问题,而是协调产品开发整个生命周期的问题,它往往具有更广泛的业务目标。


想象一个负责具体细节的系统,它使开发人员能够专注于打造这些让我们持续观看的功能。


这就是平台工程表现出来的用武之地。它充当结缔组织,将软件开发和操作的不同组件结合成一个有凝聚力的单元。

 

不过话说回来,我们必须要澄清这样一个事实:DevOps、SRE和平台工程有着共同的愿景,那就是加强协作,实现软件开发和运营的自动化和效率提升。但它们各自在实现这一愿景方面又都能够独当一面。


对于它们三者,我们与其拘泥于僵化的岗位和头衔,不如说是让专业人士适应并融入行业深处,他们完全可以共存,也应该共存,因为这有助于打造更强大、更高效的技术生态系统。