DevOps和 NoOps的差异
DevOps是开发和运维的融合,是开发和运维工程师共同协作,定义应用从设计到交付全生命周期过程的实践。
NoOp的意思是无须操作。它的理念是去掉所有的平台管理部分,从而降低开发人员与基础设施之间的摩擦。
为何需要DevOps?
随着技术和业务需求越来越具有挑战性,IT服务也变得越来越复杂。这使得交付变得越来越重要,也让我们不得不投入精力来编排整个应用交付过程。
有了云平台之后,对系统管理员需求开始下降,但对DevOps技术和业务技能的需求依然很高。要实现DevOps并恰如其分的使用它。这让我们需要考虑技术交付之外的情况。
为何以前没有DevOps?
答案有很多个,你可能会说以前的业务场景更简单或没有足够的技术文化氛围。我很认同上述观点,但我认为那些不是根本原因。根据我的经验,更大的原因应该是技术。交付的自动化其实是很难实现。
十年前的大多数系统,在默认情况下,都没有一步构建或如git-flow一样定义良好的工作流。当时也没有高性价比的CI解决方案,所以难以实现自动化交付。
我记得2009年,我打算部署我自己的一个.net门户。我花了一个周六的上午尝试使用开源工具创建一个自动部署系统,但最后我还是放弃了。因为我知道维护自动化交付比手动部署它的成本要高得多。到了现在,如果使用Azure DevOps服务的话,我只需使用web浏览器就可以在十分钟内完成。果然是时过境迁啊!