侵权投诉
订阅
纠错
加入自媒体

阿里云高级专家解读什么是DevOps

2017-04-25 08:39
路过的码农
关注

2017运维/DevOps在线技术峰会上,阿里云平台研发高级专家连铭带来DevOps的相关演讲。本文主要从什么是DevOps开始聊起,接着对比了DevOps与传统模式的区别,并且列举了DevOps的难点和需要解决的问题,包括寻找平衡点、责权划分和制约考核,最后进行了简要总结。一起来了解下吧。

以下是精彩内容整理:

近几个月,运维事件频发。从“炉石数据被删”到“MongoDB遭黑客勒索”,从“Gitlab数据库被误删”到某家公司漏洞被组合攻击。这些事件,无一不在呐喊——做好运维工作的重要性。然而,从传统IT部署到云,人肉运维已经是过去式,云上运维该怎么开展?尤其是云2.0时代,运维已经向全局化、流程化和精细化模式转变。与此同时,人工智能的发展,“威胁论”也随之袭来——运维是不是快要无用武之地了?如何去做更智能的活,当下很多运维人在不断思考和探寻答案。

什么是DevOps?

DevOps 是一种工程模式,本质上是一种分工,通过对开发、运维、测试,配管等角色职责的分工,实现工程效率最大化,进而满足业务的需求。

DevOps的核心是角色的分工,而不是组织架构变化,垂直化的组织架构不代表可以实现DevOps所需要的分工模式,横向的组织架构也不代表传统的分工模式。

DevOps的目标是工程效率最大化,它本身也只是一种方法论,是为了实现工程效率最大化的目标而存在的。

DevOps与传统模式的区别

传统分工模式下,PD将需求提出来,开发者根据需求写代码,然后告诉SCM,SCM拿着代码去打包,打包后告诉QA,QA测试完成后通知运维OPS上线,OPS进行上线部署,最后整个需求得到release。

它的优势在于:分工与责任清晰,质量有保障,层层制约,容易把控。

它的劣势也很明显:沟通成本与等待成本高,每一个环节都有成为瓶颈的风险,比如DEV知道怎样写代码,但QA也需要了解需求才能知道怎么做测试,OPS也需要了解需求维持线上稳定性,OPS负责交付,容易演变成擦屁股的角色,包括日常出现的bug。

在DevOps分工模式下,一切都改变了,不再是每个人做完自己的事情然后交给下一个人。这个分工模式下,开发通过工具驱动所有流程运转向前走,比如开发写完代码通过工具驱动自动化打包,自动化测试,自动化部署或升级,还会配备监控;SCM、OPS和QA等在工具的外围,确保在工具中的每一个环节可以正常运转,它们支撑工具的目的是确保DEV可以使用工具完成人肉完成的事情,这是决策的变化,还要保证工具中的几个模块可以支撑最新的业务变化,当业务有了更新的变化时,须保证工具可以支撑开发。

DevOps分工模式的好处很明显:可以减少沟通成本与等待风险,降低正常需求交付所需时间,DEV负责交付,避免交付扯皮。

DevOps分工模式的劣势也很突出:每个环节参与角色较多,风险较高,对于业务形态比较多的企业较明显,工具支撑多种业务形态的成本是非常高的,当工具搞不定时,需要人肉补位保证业务发布,如果补位较多,那么DevOps分工就失败了;专业度会有降低,工具只能支持在精确输入的情况下以非常精确的方式完成一件固定的事情,一旦输入有变化而超出规则,该环节就比较麻烦了,工具的专业提升比人要慢的多;DEV权利过大,容易军阀化。

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号