查看原文
其他

如果没按这7种习惯,你可能实践的是假DevOps

2017-08-09 数人云 数人云

识别二维码报名活动

8月19日,来自微软、数人云、京东、当当网的四位IT老兵,《一起吹响Container+集结号》,看Serverless、DevOps、微服务、CI/CD、分布式调度任务等技术,在各个场景中与Container发生的碰撞与交互。


小数之前给大家分享了:《从0到1,打造DevOps易用工具链(精挑细选27种)》那么除了工具以外,如何高效施行DevOps模式?本文作者参与研究了100多家公司的 DevOps 文化和容器落地实践,得出了很多重要的指标和经验。


值得注意的是,很多决定实践 DevOps 的企业负责人,更在意文化方面的转变:责任分配、事后分析、快速及稳定部署等,都会与之前的原则产生矛盾,同时认识到,业务未来将受到应用交付能力的巨大影响,如新功能、新产品、新的应用市场等。选择一个新型的商业框架十分有益,因此这里总结了“高效 DevOps 的 7种习惯。”



积极主动


为行为、结果和增长负责。


整个世界都是不断发展变化的,20年前,客户端服务器才刚刚出现,10年前,iPhone 也才兴起,AWS 只有2个服务,5年前 Linux 容器的操作仍然很复杂,而 WEB 也不是一个重要的框架。


在过去的50年中,我们看到了巨大的变化,所以企业负责人应该认识到技术是一切的源动力,要做好一切变革的准备,积极主动地迎接下一个风口。



以始为终



把时间和精力聚焦在可控制的事情上。


很少会有企业高管主动提出 DevOps 相关的问题,相反,会为了缩短新功能的上线时间,安全风险以及其他可以直接与顶部或底部挂钩的指标而失眠,所以应用交付到生产是 DevOps 重要的指标。其从一个想法开始——是否可以安全可靠地投入到生产中,这能反映出一些问题,会导致对现有技能(人员)的考核、管理部署频率(文化)的改善、以及工具、平台上的优化(技术)。




抓住重点

执行最高优先级的事情。


尽管很多新企业都想将 DevOps 作为默认的技术文化,但是对于大多数的企业来说,这并不是最重要的事情,因为其组织结构对之前的商业模式和销售策略进行了优化,建立了很多应用及平台用于不同的业务线,所以最重要的事应去调整应用,满足客户的意愿。



以下核心要素是重点中的重点,要优先完成,然后企业才能迅速地将应用部署到生产当中。


  • 自动化:在应用和基础设施中,为自动化重复任务所需的技能和工具(如 Ansible)的构建能力至关重要,对很多企业来说,应首先关注现有的应用(Linux、Windows)和基础设施(网络、存储、DHCP/DNS)然后再去发展自动化的应用和服务。


  • CI/CD  Pipelines :就像工场的流水线一样,现代应用是由集成源代码库、自动化测试、代码分析和安全分析等自动化 Pipelines 驱动的,建立管理 Pipelines 的技能和频繁应用更新的过程至关重要。


  • 应用平台:应用需要部署到生产中,而今,客户希望所使用的应用经常更新(如 APP 每周都会更新),因此要有一种可重复的方式部署应用和扩展以满足客户需求,管理应用的日常活动是应用平台(如 OpenShift)的作用,多年来,很多企业都试图构建和维护自己的应用平台,但这种思维正在转变,因为逐步意识到能带来增值的是应用本身,而不是平台。


完成以上要素后,很多IT团队就可以开始将现有的应用容器化了。


双赢思维


与其他人有效和高效地协作达到最佳效果。


初期实践 DevOps 时,运维和开发团队会有脱节的情况,在把所有问题都归咎于运维为什么太慢之前,应该想一想开发为什么如此快,在2017 DevOps 状态报告中,开发将代码推到 GitHub 时,运维团队正在评估速度。



团队之间如何获得很好的协作成为双赢局面,以下有一些建议:


运维团队:采用自动化工具(如 Ansible)和基础设施的代码原则(如使用自动化控制的源代码管理),开发和运维使用通用的做法和过程。


开发团队:坚持将测试人员签入到开发过程和代码评审中,测试不应该是最终的步骤,要嵌入到日常的开发当中去。



借鉴成功案例


现在已经有大量的成功案例可以去借鉴。


六、七年前,几乎每一个CIO都想尝试和模仿Google巨头的产出(每个工程师负责1000台服务器),然而在当时很难找到硅谷以外公司的例子,因为Google这样巨头使用的技术在这些CIO面前是不公开的,但随着时代的变化,这些技术不仅可以通过开源项目获得,还可以从成功的企业当中借鉴。


因此在CIO准备派遣人员到硅谷与大咖们交流之前,对案例进行研究会更有价值。


协作


和有不同观点的人一起创新和解决问题。


组织结构和财务激励(如薪水、奖金、晋升)开发团队和运维团队通常无法达成一致,团队的组织方式必然会对它产生的代码有影响。随着时间的推移,架构也会影响到团队的协作的好坏。当团队瓦解时,代码的交互就很糟糕。当团队协作时,架构就会集成的很好。



不断学习


在专业和个人方面不断地学习充实自身。


IT企业要保证团队成员能学到最新的知识,并不是说参加某种课程获得证书,而是要融入实际的工作生活当中,在过去的20年中,所有的规则和最佳实践都被颠覆,要学习更贴合本时代的知识 50 26956 50 13550 0 0 7230 0 0:00:03 0:00:01 0:00:02 7230(云计算、Serverless、DevOps、SRE等等)鼓励员工互相学习,提升整体团队的技能水平,激励个人和团队变得更好。


以上7种习惯可以帮助个人和团队提高各项技能,而这也正是转型于任何文化的核心。


另外还有一项重要的技能就是讲故事的技巧,它能激发情感,让成功从一个群体传递到另一个群体当中。


推荐阅读:

从Google实践看SRE(8大黄金准则要注意)

关于容器监控,这3种工具你可能用得上

史上最全|35个平台、框架、数据库细说什么是Serverless

优势+工具+实践=DevOps&Docker的企业级落地


阅读原文,报名活动

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存