导读:本篇文章首席CTO笔记来给大家介绍有关devops有哪些实践的相关内容,希望对大家有所帮助,一起来看看吧。
《DevOps实践指南》——如何开始
1 选择切入点
通过谨慎地选择DevOps转型的切入点,我们在组织的某些领域内进行实验、学习并创造价值,但不会给整个组织带来不可逆的后果。同时,通过这种方式,我们能够建立稳固的群众基础,赢得在组织中推广DevOps的机会,从而获得更多支持者的认可和感激。举个具体的实践技巧例子,先从喜欢创新的团队开始、影响较的业务团队,渐渐获得大多数人的支持,最后攻克反对意见较多的团体。
2 确定支持价值流
如何确定支持价值流的团队,并通过绘制价值流图了解到了向客户交付价值所要做的工作。价值流图不仅可以显示当前工作状态的基本情况(包括前置时间和%C/A等指标),还可以指导团队确定未来的改进目标。
这样一来,转型团队能够快速迭代,通过实验提高效能。团队分配足够的时间修复已知缺陷和解决架构问题,包括非功能性需求等。分配20%以上的时间来修复技术债,不要等到债务堆积,导致最后全部时间用来偿还技术债,不能进行新的工作开发,业务停滞不前直至整体崩溃。
3 康威定律
自然界中显而易见的定律,越是大型的动物越不灵活机动,康威定律则描述的是人类社会组织的不灵活现象:系统设计受限于组织自身的沟通结构。组织的规模越大,灵活性就越差,这种现象也就越明显。
康威定律运用得好,团队就能够安全、独立地开发、测试和向客户交付价值;而运用得不好,就会产生不良的后果,导致安全性和敏捷性遭到破坏。
4 将运维工作融入开发团队的日常工作
将运维工作融入开发团队的日常工作,使运维工作可视化。可以采用三种方式:创建共享服务,提高开发生产力;将运维工程师融入服务团队;为每个服务团队分派运维联络人。
DevOps实践-设计-部署流水线设计
DevOps实践 系列文章,请参见连接。
在一个软件产品公司中,一般的基础设施会包括在每个产品线上的各种环境、以及针对这些环境构建起来的部署流水线。
一个已经上线的正式产品,第一要务就是保证线上系统是稳定可靠运行的。所以需要通过各种手段保证新功能上线,线上系统问题的快速反馈与立即解决。根据不同公司产品形态的不同,每个公司都需要有一套功能上线流程以保证线上系统的正常运行。
上图中比较详尽的描述了一个功能从开发到上线的整体过程。且在过程中每一个过程都由不同的角色参与。最终保证系统在线上环境的正常运行。故根据上图的流程下面对持续交付过程中操作进行分析。
软件开发是一个团队合作的工作。在图中由相关的人员做相关的推动之后功能才能进入到下一个步骤。每一个步骤都可以将动作分为:构建、部署、测试和发布。而每个步骤所做的内容也有所不同,下面以步骤和环境例举要做哪些操作:
对上面的操作进行拆分后,可以分为对资源的管理工作:
前一段时间写了一篇分层架构模式,这里以分层的方式去说明部署流水线的分层关系。这里的分层其实是理解或概念的层面。这里将分部署流水线设计分为几个层次:服务层,流程层,原子操作层。
最好的实践,是在有大量项目的情况下去实现原子操作和流程层,然后在这两层上去实现具体项目的服务。如果产品型公司,比较好的方式是直接实现流程层和服务层。这样既可以满足业务要求,也可以降低流水线构建的成本。
持续交付
如何实现DevOps?
DevOps 是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。DevOps 旨在统一软件开发和软件操作,与业务目标紧密结合,在 软件构建、集成、测试、发布到部署和基础设施管理中大力提倡自动化和监控。
DevOps 的目标是缩短开发周期,增加部署频率,更可靠的发布。用户可通过完整的工具链,深度集成代码仓库、制品仓库、项目管理、自动化测试等类别中的主流工具,实现零成本迁移,快速实践 DevOps。
DevOps 帮助开发者和运维人员打造了一个全新空间,构建了一种通过持续交付实践去优化资源和扩展应用程序的新方式。DevOps和云原生架构的结合能够实现精益产品开发流程,适应快速变化的市场, 更好的服务企业的商业目的。在容器云PaaS、DevOps、微服务治理、服务网格、API网关等等方面,时速云做的还不错,他们是一家全栈云原生技术服务提供商,你可以了解一下。
结语:以上就是首席CTO笔记为大家整理的关于devops有哪些实践的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~