那些年向前冲|希望这是我最后一次谈DevOps( 二 )

  • 将较大的代码库分成小段:DevOps 基于敏捷编程方法 , 将较大的代码库分解为较小的可管理模块 。
  • DevOps 生命周期
    DevOps 在开发和运营间构建了一座深度集成桥梁 , 只有全面了解 DevOps 生命周期才能进一步体会到持续集成持续部署(CI/CD)的实际意义 。
    以下罗列出 DevOps(CI/CD)生命周期中各阶段的核心任务:
    ①开发(Development)
    DevOps 实践中会将整个软件开发过程分为若干个小的开发周期 , 这有益于 DevOps 团队通过小规模迭代来加快软件开发和软件交付的过程 。
    ②测试(Testing)
    QA 团队通过自动化手段辅助测试 , 协助开发人员识别和修复新代码中的错误 。
    ③持续集成(Continues Integration)
    在此阶段 , 新增功能将集成进之前的代码中 , 进行集成测试;言下之意 , 我们顺理成章地得出:持续开发只有通过持续集成和持续测试才能有效验证 , 从而确保能够顺利进入下一阶段的迭代 。
    ④持续部署(Continues Deployment)
    在 DevOps 中 , 除了强调持续集成(CI)外 , 部署过程也是持续进行的 , 在持续部署(CD)过程中 , 必须确保代码在任何时间所做的任何更改都不会影响到当前网站/系统已上线的功能(尤其是那些高流量的网站) 。
    ⑤监控(Monitoring)
    在此阶段 , 运维团队将密切关注系统/平台中的错误 , Bug 等任何异常行为 , 实时反馈一切异常情况 。
    DevOps VS 敏捷
    项目利益干系人和沟通链是 IT 流程中典型的核心要素 , 如果说敏捷模式的引入是为了解决客户方与研发团队沟通中的空白 , 那么 DevOps 的植入则填补了研发团队与 IT 运维团队间的空白 。
    那些年向前冲|希望这是我最后一次谈DevOps
    那些年向前冲|希望这是我最后一次谈DevOps
    那些年向前冲|希望这是我最后一次谈DevOps“敏捷” VS “DevOps”对比图如下:
    那些年向前冲|希望这是我最后一次谈DevOps
    DevOps 原则
    DevOps 有以下六大不可缺少的原则:
    • 以客户为中心:DevOps 团队必须采取以客户为中心的原则 , 客户才是产品和服务的投资者 。
    • 端到端的责任:DevOps 团队需要持续提供性能支持 。
    • 持续改进:DevOps 注重持续改进以最大程度地减少资源浪费 , 不断加快产品研发/服务提供的改进速度 。
    • 自动化一切:自动化是 DevOps 流程的重要原则 , 不仅适用于软件研发 , 同样适用于整个基础架构设施 。
    • 团队合作:DevOps 定义了设计 , 开发 , 测试 , 运维的角色 , 整个团队全面配合 , 协同工作 。
    • 监视一切 , 测试一切:对于 DevOps 团队来说 , 拥有可靠的监视和测试流程尤为重要 。
    DevOps 自动化工具
    DevOps 提倡将一切过程自动化 , 并对其进行配置 , 在大型 DevOps 团队中 , 维护大型 IT 基础架构所面临的困难可以简单地分为以下六类:
    • 基础设施自动化
    • 配置管理
    • 自动化部署
    • 性能管理
    • 日志管理
    • 监控管理
    基于以上六大类 , DevOps 实践中都有与之对应的工具/服务来解决各自的难题 , 下面逐一为大家介绍 。
    ①基础设施自动化
    Amazon Web Services(AWS):亚马逊公司旗下的云计算服务平台 , 几乎能够在云中运行一切应用程序 , 没有前期硬件成本 , 易按需扩展 , 为全世界用户提供了一整套基础设施和云解决方案 , 包括弹性计算、存储、数据库、应用程序在内的整套云计算服务 , 有效帮助企业降低 IT 投入成本和维护成本 , 实现轻松在云上部署一切 。


    推荐阅读