持续交付 36 讲
王潇俊
携程系统研发部总监
39682 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

12 | 极限挑战,如何做到分钟级搭建环境?

数据库的访问
应用之间调用链的管理
用户访问应用的入口管理
多并行项目的环境克隆
子环境的拆分和合并
多个项目的集成
子环境和完整环境的隔离
流水线的容错机制
应用部署的并行度
单应用部署标准化
资源池方案
虚拟机初始化后的基础软件安装和配置
虚拟机部署
物理机基本的硬件配置
利用配置等方式快速达到环境变更需求
并行的应用部署流水线
虚拟机资源池的利用
环境变更
应用部署流水线
虚拟机环境准备
思考题
总结
环境构建流水线
从零开始,创建一套完整的环境

该思维导图由 AI 生成,仅供参考

在上两篇文章中,我介绍了环境管理中最关键的几个概念,环境的标准化,让环境自己说话以及环境配置的几种方法。
今天,我分享的主题就是,如何从零出发, 实现一套完整的环境创建。并且尝试挑战一下,如何做到分钟级交付。毕竟,天下武功,无坚不摧,唯快不破。

环境构建流水线

当开发人员向你申请一套新环境时,作为测试环境的维护者,你首先需要明确打造环境构建流水线需要关注的三大内容:
虚拟机环境准备,根据环境的应用数、每个应用需要的硬件配置,准备好环境的硬件资源。
应用部署流水线,在标准化的虚拟机上进行应用部署,当出现问题时如何容错。
环境变更,在 SOA 或微服务的架构体系下,常常会因为测试的需求,将几套环境合并或拆分,创建环境时,你需要考虑如何高效地完成这些操作。
</
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何从零开始创建一套完整的环境,并挑战实现分钟级交付的方法。作者首先提到了环境构建流水线的三大关键内容:虚拟机环境准备、应用部署流水线和环境变更。在虚拟机环境准备方面,介绍了使用OpenStack进行物理机和虚拟机的初始化工作,并提出了采用资源池的方案来节省初始化时间。在应用部署流水线方面,强调了单应用部署标准化、应用部署的并行度和流水线的容错机制的重要性。此外,还提到了一些具体的技术工具和方法,如Puppet、Chef、Ansible、SaltStack等。文章着重介绍了环境构建的关键步骤和技术要点,对于需要快速了解环境构建的读者具有一定的参考价值。在环境变更方面,介绍了四种场景下的需求和工作,并强调了在多并行环境的情况下应用拓扑图的重要性。最后,总结了快速搭建一套环境的三个方面常见问题和原则,并提出了思考题,引发读者思考。整体而言,本文内容丰富,涵盖了环境构建的关键要点和技术工具,适合技术人员阅读参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • 孙磊
    有个疑问,现在jenkins很火,携程有用到吗?我们用ansible替代了

    作者回复: 两者的特长不太一样,Jenkins主要用作异步任务驱动。携程只有编译系统使用Jenkins。ansible长于配置管理和分发,任务驱动的话,貌似很少有人用ansible来做,想必开发难度一定也大于同是python的celery

    2018-10-07
    1
  • Jax
    老的项目,数据库结构往往是非常复杂的,量级也非常大,感觉每次测试创建一次数据库这个难度比较大。但是测试数据混乱的情况确实非常困扰我们,不知道有没有最佳实践可以参考?

    作者回复: 长痛不如短痛,我们会痛苦一次,建立一个测试基准库,之后的测试,如果需要重建数据库就以这个基准库为标准,当然基准库也是需要维护的

    2018-08-31
    2
    1
  • 平仔
    还是没看到CI/CD的东西

    作者回复: 持续交付包含:配置管理,环境管理,集成与构建,测试管理和发布管理,可以看一下专栏的第一篇文章,会帮助你更多理解持续交付的。如果只是关注Jenkins pipeline的话,我想也就不会有那么多同学纠结怎么实施了。cicd是整个组织技术成熟度的集大成

    2018-08-01
    1
  • 祁勇
    我们公司的服务就存在好多依赖,启动依赖(字段的缺少都回导致程序无法启动)、程序之间的,架构部推一个规范都很难,从运维这里如何去推动? 还有程序只有在业务调用到了才知道是否可用

    作者回复: 携程有一个叫vi(validation internal)的框架组建,所有应用启动的第一步必须实现这个接口,在这里可以做基础检查,发布的篇章里也会详细讲一下

    2018-08-09
  • 不需往后看
    感觉整个过程是个非常复杂的问题。所以能不能这么理解:docker 虽说不是万金油,但一定是必备工具。想知道 老师后面会不会讲些 docker 的相关应用?所占篇幅能有多少 🙈🙈。

    作者回复: 后面docker的内容还是挺多的,几乎每个大章节都会有所包含,特别是构建方面,会有不少新鲜的东西

    2018-08-02
  • J.Smile
    太理论了😓,无所得
    2020-08-30
    16
  • Roc
    紧紧涉及应用前端的搭建,后端中间件以及数据库,数据准备都没涉及到。没有后端犹如没有灵魂的行尸。
    2022-10-11归属地:广东
    1
    1
  • 怀揣梦想的学渣
    看完这篇文章,我迫不及待想要分享自己公司内部方法。内部结算系统。统一的web界面,每个人登陆自己工号申请资源环境,结算到各部门,部门有多个项目,且部门不愿意承担某项目费用时,分配到项目组自己承担成本。资源申请页不仅对接主流厂商公有云,还对接公司内部私有云,资源申请不需要人工审批,项目有预算就能申请,预算超支会有申请拦截,并且主送项目负责人,抄送部门领导。超预算申请可以内部OA申请审批。 环境的一致性采用定制镜像和容器镜像的方式,预制一些通用环境,在备注有清晰描述。发放环境速度快,省事。自己想做微调的,可以单独做简单配置,对于无需定制镜像,但仍需改配置的,提前打包脚本和软件包,在系统启动时自动执行配置。减少人工参与带来的操作失误风险。
    2023-05-05归属地:山东
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部