X

开发运维已死,无运维万岁

在如今的IT发展趋势中,开发运维(DevOps )这个词非常流行。这个词是几年前随着单页应用程序(SPA)的盛行而开始火爆起来的。然而,在接下来的几年中,你将听到一个新的流行语:无运维(NoOps)。

开发运维与无运维之间有什么区别?

开发运维是结合了开发和运维,是开发和运维工程师互相配合以定义驱动服务生命周期(从设计到交付)的流程的实践。

而无运维则表明没有运维。它的理念是移除所有平台管理的工作,并减少开发人员与基础设置之间的摩擦。

为什么以前我们没有开发运维?

这个问题有很多答案。你可以认为没有这种必要,因为当时的情况很简单或文化还不健全。

我同意这些说法,但我认为还有其他的根本原因。根据我的经验,技术才是最关键的问题。交付的自动化很难实现。

十年前,大多数系统都没有自动化的构建过程,也没有定义良好的工作流程(如git-flow)。当时没有物美价廉的CI解决方案,因此很难实现。

我记得2009年,我打算部署一个.net门户网站。这是我的第一个作品。某个星期六的早晨,我花了一上午的时间尝试使用开源工具创建一个自动部署系统,最后我放弃了。

我知道维护这样的系统比手动部署更昂贵。而如今,我们可以使用Azure DevOps,只需通过Web浏览器就可以在十分钟内完成这些操作。时代已经变了。

实现无运维的可能性

从技术的角度来说,无运维完全可以实现。具体的实现有很多选择,但是,我们基本上可以总结如下:

• PaaS解决方案:例如Heroku,或托管在Azure、AWS和所有其他供应商上的云服务;

• 从大型供应商(AWS、Azure等)购买的无服务器计算;

• 建立可复制的基础设施(第一次建立基础设施时需要运维)。

上述这类解决方案非常适合解决基础设施,而传统的部署工具可以驱动流程并交付应用程序。