• 如何实施DevOps


    对于长期在孤立的架构下工作的组织来说,转移到协作式DevOps系统似乎是难以成功的。为了进一步提高效率,必须改变观念,并进行团队文化改变。例如:许多人认为只有自动化工具才能解决DevOps,其实这是不准确的。

    只有当团队团结一致并朝着一个共同的目标努力时,DevOps才会取得成功。

    这是成功实现DevOps的前提:

    DevOps实施需要时间

    DevOps并不像开发和运维整合在一起那样简单。适应了孤立工作的团队都发现很难适应协作工作。这是一次巨大的转变,正确实施需要时间。

    测试的质量成为贯穿交付管道的连续过程。这样可以确保产品快速完成,并在到达交付时间点时就已经进行了足够质量检查和测试,以确保没有错误。

    分步实施

    任何更改都需要时间。因此,更好地分阶段实施DevOps。

    • 步骤1:根据公司的要求,DevOps更改的第一步将是建立敏捷的开发过程。
    • 步骤2:如果要为DevOps进行自动化,则组织需要适当的框架。
    • 步骤3:实施持续集成的过程。编码人员经常将其代码推送到公共源代码存储仓库中。编码人员不是在周期结束时提交代码,而是在软件开发的每个节点都及时提交代码,以便可以更早解决冲突。
    • 步骤4:接下来是持续交付阶段,这是集成阶段的扩展。使用连续交付系统,确保最新代码及时部署。
    • 步骤5:然后将部署和测试阶段设置为自动化。
    • 步骤6:最后一步将是连续部署阶段。此阶段扩展了连续交付阶段,在此阶段,如果所有测试均通过,则软件将自动部署。这样做可以快速获得反馈,并可以迅速进行处理。

    领导的重要性

    通过孤立的运营,所有领导角色的人物都被固定在了他们的核心领域。但是在DevOps中,leader们必须与其他流程团队合作以确保操作顺利进行。随着团队之间交互方式的可能变化,领导者必须对团队成员的努力提供必需的支持。

    在DevOps环境中,所有部门相互混合,以便每个人都知道在每个阶段都会发生什么。这些过程是连续的。在这里,领导角色至关重要,以确保各个模块之间的集成顺利进行。DevOps的leader必须建立一个环境,使每个成员都能为项目的成功做出贡献。

    自动化和工具

    尽管DevOps的成功很大程度上取决于团队和流程,但不能否认工具在实现正确自动化方面的重要作用。从传统的软件工具转移到DevOps工具是具有挑战性的。但是,通过为合适的人员分配合适的工具,公司可以轻松地遵循连续的部署,集成,测试和交付过程。

    DevOps成功的一些最佳工具是:

    • 代码存储库管理 –Subversion,Git,CloudForce,Docker Hub
    • 服务器构建 –SonarQube,Jenkins,Artifactory
    • 管理配置 – Ansible,Saltstack ,Puppet,Chef
    • 连续测试自动化 –Selenium,RF,Jenkins,appium,UiAutomator,IBM Rational Functional Tester
    • 虚拟基础架构 – Microsoft Azure,Google Cloud,AWS Cloud,VMware vCloud
    • 基础架构云端管理 –Docker,Azure Manager,Google Cloud Deployment Manager,AWS CloudFormation

    即使市场上有数百种工具可用,公司也要决定合适的工具来集成和耦合,以实现连续的过程,确保了各阶段之间的平稳运行。

    团队支持

    短时间内的文化转变似乎是不可能的。将开发,运营,测试和质量保证部门的人员,工具和流程整合到一个统一的流程中,这是一个很大的挑战,必须耐心地解决。

    DevOps的转换过程必须以获取长期利益的方式进行。从入门级到管理职位的团队必须组成团队,并且必须告知每个团队所带来的价值。成功的跨职能工作需要得到奖励,领导者必须随时提供帮助,以便顺利过渡。

    持续监控绩效

    领导者必须亲身实践,以确定限制产出的瓶颈。过渡和变化的系统将带来一些挑战。DevOps流程需要在开发,集成,测试,部署和工具操作中进行连续监控。确保建立适当的反馈系统,以便可以发现问题并使用所选工具纠正问题。

    • 持续集成:通过在DevOps中进行持续集成,确保快速发布新开发的代码。
    • 连续交付:通过连续交付,您可以合并其他自动化和测试功能,以便准备部署最新代码。
    • 持续部署:在持续部署的最后阶段,代码将经过自动测试,然后在没有任何人工干预的情况下投入生产。

    结论

    DevOps是一个巨大的转变,不能一蹴而就。成功的DevOps环境需要逐步增加,团队协作,强大的领导能力,正确的工具和自动化。


    • 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。

    技术类文章精选

    非技术文章精选

  • 相关阅读:
    Python进程池multiprocessing.Pool的用法
    基于opencv的车牌提取项目
    Srapy 爬取知乎用户信息
    Scrapy框架简介及小项目应用
    豆瓣爬取图书标签
    CSS选择器使用
    关于 urlencode 的使用和 json 模块的介绍
    urllib库使用方法
    猫眼电影的各种爬取方法
    淘宝商品信息爬取
  • 原文地址:https://www.cnblogs.com/FunTester/p/12212487.html
Copyright © 2020-2023  润新知