DevOps 不仅仅是一种实践、特定的概念,它是开发人员和IT专业人员之间的一种智能协作,DevOps 的成功以及它的目标愿景需要革命性的思维和全新的视角,将 DevOps 看做是必然的结果,并且不能将其作为流程的端到端工程,可能会导致许多问题和失败。
DevOps 充当开发和运维之间的沟通桥梁,作为催化剂,实现持续交付和持续集成的过程。这就是为什么企业正在快速地采用 DevOps 的原因,尽管DevOps的开发将团队放在一起,提供了一种持续的部署方法,但并不是每个团队都愿意加入进来,因此,让我们进一步探索 DevOps,并真正理解任何潜在的缺陷。
此外,许多目标都是为了更好的客户满意度,更大的灵活性,更多的业务开发和生产率改进,这些都是将越来越多的业务转移到 DevOps 的关键因素。
数据
2016年,来自Puppet’s State的一份报告指出,表现不佳和表现出色的DevOps团队之间存在着显著差异,它指出,高效的团队可以更快地部署代码,约是100倍,此外,失败的次数减少了3倍,而比低水平的团队快24倍。
以下是企业在实现DevOps时通常会犯的一些常见错误:
常见错误
No.1 没有考虑人员和资源的重新分配
在清楚地了解 DevOps 团队的工作负载,技能和执行任务的能力之前,永远不要向他们灌输 DevOps 的策略,第一个也是最重要的步骤是清楚地量化每个团队和个人的工作量,另外设计关键的性能指标和机制去监控对团队,对团队规模、工作时间进行调整,并让涉众保持一致,这样团队就可以为特定的请求做好准备。
当某个项目突然出现,考虑一下像自由职业者这样的灵活的资源选择,通过理解每个人的表现来划分工作负载,适当地考虑工作负载,并明智地分配资源,否则可能会留下没有动力的团队和程序员准备跳槽到下一家公司。
No.2 无法理解 DevOps 的基本要求
一般来说企业的管理层都对DevOps的概念感到困惑,DevOps是开发和运维的结合,并且一直是一个复杂的过程,通常的情况下,管理层犯了一个错误:在没有了解工作需求的情况下,雇佣了 DevOps 工程师。
有些人认为 DevOps 是在重新设计敏捷开发实践,另一些人则认为,是一种新的支持工具,可以自动化部署过程和组装以及操作应用,但在雇佣之前,公司需要非常清楚地了解DevOps的基本要求,这样他们就可以选择适合的专业人士,这些新员工必须做好接受新技术的准备,并有丰富的经验。
No.3 在执行阶段不知所措
你是否要求开发团队在一周内给你 10 个版本?这几乎总是导致开发人员的困惑,DevOps 与技术变革不同,它更多的是文化革新,因此,企业规模越大,当前工作文化的传播越深,就越难有一个具体的 DevOps 战略。
最好是在一个度量和阶段的转换中实现 DevOps 策略,同时,确保对员工的培训,并保证在开始第一轮 DevOps 的实施之前,安排足够的休息时间,最初的 DevOps 实现可能比较慢,应仔细地选择 DevOps 团队并将其部署到项目上。
No.4 DevOps 的知识不足
尽管 DevOps 在过去的几年里快速增长,但是在没有适当的审查过程的情况下,被分配的专业人员是这样做的:他们的 DevOps 专业技能常常不足,同时,也有一些公司在开发DevOps项目的同时,也有一些不太熟练的专业人士,这就产生了一种糟糕的工作质量,不要在质量上犯错误。
搬到 DevOps 是明智之举,但应该做好充分的准备和经验,技能集必须与所需要的需求相匹配,而熟练的 DevOps 开发人员必须被雇佣,这些合格的专业人员必须通过所需要的技术进行认证,而企业必须避免在没有适当管理的情况下匆忙做出决策。
No.5 过于死板
在实现 DevOps 时,避免过于死板,这可能会毁掉整个过程,遵循DevOps的而核心原则是至关重要的,但是在 DevOps 模型中,可以做出一些明智的调整,必须执行一些指导方针来管理初始阶段,确保 DevOps 的关键支柱在面对潜在的障碍时,保持稳定。
此外,如果结果与预期不同,那么就准备回溯,找出这些差异的根本原因,进行必要的过程调整。
No.6 不适当的应对阻力
如何处理适得其反的问题,将决定DevOps策略的成功程度,阻力是很正常的,怎么回应是很重要的,尽管有些系统是现代化的,而另一些系统仍在以同样的速度工作,但并不推荐这样。
测试自动化、持续集成和其他配置管理实践是DevOps的核心原则,无论开发和运维团队有多广泛,在实现此类实践时都不应做出任何妥协,总是要准备好管理这些变化,特别是当团队在不同的地域时。
No.7 忽视安全
DevOps 和安全必须平行移动,许多企业犯了一个错误:没有提前做好安全措施,这将在未来造成问题。
我们常常发现,DevOps 不断扩展架构,后来意识到他们完全忽略了安全部分,在一个企业向微服务体系结构移动的场景中,安全当然扮演着重要角色,因为不同的应用彼此通信。安全实践必须严格遵循,不应做出任何意义上的妥协。
总结
有许多理由去尝试 DevOps,并制定出一套实践策略,许多企业都在犹豫着是否要做出相应撞边,但是通过了解常见的错误,并在创建更好的DevOps生态系统中实现最佳方法,企业就可以收获巨大的利益。