Answers:
绝对不!
DevOps旨在打破传统的筒仓(部门)以提高效率。
团队之间更好的沟通,更好的可视性以及可靠和自动化的流程是获得更好产品的方法。
我曾经在一家大型媒体公司工作过,在那里我们将支持内部工具并开发面向公众的网站。
在我们的案例中,DevOps的优势如下:
总体而言,我想说的是,无论您每天或每月一次更新生产环境,无论您拥有多少客户或您的业务模式,每个企业都可以使用更好的沟通,更好的工具,更好的可视性,更快的反馈,等等
我和我的团队负责开发“一次性”产品,完成后的产品将提供给客户进行保养,或者在某些情况下由我们收取费用。
我们仍然需要保持稳定的开发流程来处理来自客户的不断反馈,以确保我们向他们提供可靠且经证实可以运行的产品。
尽管客户并不关心DevOps(在大多数情况下),但对我们仍然有帮助。借助DevOps,我们可以快速推出新版本,因此客户可以在数分钟而不是数小时内看到反馈,并且我们还可以通过Jenkins / Travis进行测试以捕获任何错误/错误。
为了确保我们的部署策略在各个项目中相同,我们专注于容器化我们的应用程序。使用Docker,我们能够轻松地将应用程序交付给客户。
DevOps节省的成本很难确定。我们确实会以选择用于管道的软件的形式(Travis,Jenkins,Puppet等您拥有)来支付额外费用,但我们还通过修复错误/快速提供客户反馈来节省时间和金钱。我们的快速响应时间使我们的客户满意,从而使我们的钱包满意。
我曾在为收缩包装产品,完全安装和支持的部署以及设备中的嵌入式代码的软件生产公司工作。在所有这些公司中,DevOps为开发提供了必要的支持:
在所有情况下,这些都是单个开发人员可以一次性完成的事情,但是这并不能很好地利用开发人员的时间,也不能像自动化构建一样保证配置控制。
以前有关软件开发和实施的活动不需要部门之间的深入整合。但是今天,有必要紧密协作所有部门(开发,IT运营,质量保证等)。
对于开发人员来说,改变就是他们得到的报酬。业务始终需要进行更改以适应现代世界。这种理解促使开发人员产生最大数量的更改。IT专业人员有不同的理解,即改变是有害的。他们每个人都认为它可以正常工作,从而使业务受益。确实,如果我们分开考虑它们,它们都是对的。
所有员工必须了解他们是单个流程的一部分。DevOps培养思想,这使人们有可能意识到每个人的个人决定和行动都应针对实现单个目标。而且,应该相对于整个开发到交付周期来衡量成功,而不是从单个角色的成功来衡量。通过开发人员和维护专家之间密切合作的结果,形成了新一代工程师,他们利用了这两个学科的最佳成就,并将它们结合起来,以使用户受益。这体现在具有开发,配置管理,数据库管理,测试和基础结构管理经验的跨职能团队中。
因此,该方法不仅在SaaS中有用。
一点也不。尽管此线程上已经有很多很好的例子,但我想分享我自己的轶事。2001年,我继承了一个软件项目,该项目的发行版涉及CD的创建。发布过程的文档包括以前的工程师记录的40(!)个步骤,其中包括一些荒谬的手写说明,例如“打开此配置文件并在第41行更改.jar文件的名称以包括版本号”。新版本”。
我们积极地执行了构建过程的每个步骤,用bash脚本编写的“ patch”代替了手写的说明。我们甚至不得不与我们的第三方安装工具供应商联系以打开票证,以使他们的项目文件可修补。
该过程自动化后,我们购买了“ CD Jukebox”。测试通过后的每个晚上,构建机器都会自动创建新的安装CD。我们的测试人员可以在第二天早上来,拿起一个磁盘,并确保所有内容都可安装。
当我们可以将软件作为服务部署时,我们当然会有更严格的反馈循环,但是自动化,反馈,周期时间,小版本等核心原则都适用。