持续交付36讲
王潇俊
携程系统研发部总监
立即订阅
7079 人已学习
课程目录
已完结 41 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 量身定制你的持续交付体系
免费
基本概念 (3讲)
01 | 持续交付到底有什么价值?
02 | 影响持续交付的因素有哪些?
03 | 持续交付和DevOps是一对好基友
配置管理 (4讲)
04 | 一切的源头,代码分支策略的选择
05 | 手把手教你依赖管理
06 | 代码回滚,你真的理解吗?
07 |  “两个披萨”团队的代码管理实际案例
环境管理 (6讲)
08 | 测试环境要多少?从现实需求说起
09 | 测试环境要多少?从成本与效率说起
10 | 让环境自己说话,论环境自描述的重要性
11 | “配置”是把双刃剑,带你了解各种配置方法
12 | 极限挑战,如何做到分钟级搭建环境?
13 | 容器技术真的是环境管理的救星吗?
构建集成 (5讲)
14 | 如何做到构建的提速,再提速!
15 | 构建检测,无规矩不成方圆
16 | 构建资源的弹性伸缩
17 | 容器镜像构建的那些事儿
18 | 如何做好容器镜像的个性化及合规检查?
发布及监控 (6讲)
19 | 发布是持续交付的最后一公里
20 | Immutable!任何变更都需要发布
21 | 发布系统一定要注意用户体验
22 | 发布系统的核心架构和功能设计
23 | 业务及系统架构对发布的影响
24 | 如何利用监控保障发布质量?
测试管理 (3讲)
25 | 代码静态检查实践
26 | 越来越重要的破坏性测试
27 | 利用Mock与回放技术助力自动化回归
持续交付平台化 (3讲)
28 | 持续交付为什么要平台化设计?
29 | 计算资源也是交付的内容
30 | 持续交付中有哪些宝贵数据?
持续交付移动App (3讲)
31 | 了解移动App的持续交付生命周期
32 | 细谈移动APP的交付流水线(pipeline)
33 | 进阶,如何进一步提升移动APP的交付效率?
实践案例 (4讲)
34 | 快速构建持续交付系统(一):需求分析
35 | 快速构建持续交付系统(二):GitLab 解决代码管理问题
36 | 快速构建持续交付系统(三):Jenkins 解决集成打包问题
37 | 快速构建持续交付系统(四):Ansible 解决自动部署问题
特别放送 (2讲)
持续交付专栏特别放送 | 答疑解惑
持续交付专栏特别放送 | 高效学习指南
结束语 (1讲)
结束语 | 越痛苦的事,越要经常做
持续交付36讲
登录|注册

09 | 测试环境要多少?从成本与效率说起

王潇俊 2018-07-24
在上一篇文章中,我分享了互联网公司测试环境的常见结构,以及对用户来说什么样的测试环境才是好用的。然而对测试环境来说,只是高效好用还不够,还要考虑到成本问题。
效率和成本永远是一对矛盾体。今天,我就从成本和效率出发,和你聊聊构建测试环境时,还需要考虑的其他维度。

测试环境的成本

谈到环境成本,你很自然地就会想到云计算,《持续交付:发布可靠软件的系统方法》一书出版时,云计算还是一个时髦的概念,而 8 年后的今天,云技术已经非常成熟了。
今天,部分传统企业和互联网企业都在选择混合云架构,而创业公司选择公有云已经有了点模式化的意味。公有云非常好地满足了 DevOps 的“基础设施即代码”的理念,哪怕你完全不使用公有云,那在环境中整合开源的私有云技术依然能为你带来不少便利。
然而,云计算并非“银弹”,我们上云后,在成本上,还是有很多值得去思考和做的事情。
尤其是当环境数量增加时,你很容易就可以想到成本会增加,但是你可能并不明白要增加哪些方面的成本,以及会增加多少的问题。那么,接下来,我就跟你聊聊当环境数量增加时,你需要考虑的成本有哪些呢?
首先是机器资源成本
保证环境的独立性,是你构建更多套环境的一个主要原因。但是,一套独立的、拥有完整链路的环境成本是非常高的。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《持续交付36讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(10)

  • 李奋斗
    性能测试可以夜里在验收环境上跑,验收环境在部署与数据上跟生产最相近。
    2018-07-24
    3
  • 旭东
    性能测试还是一个独立干净的环境更容易达到测试目的。如果和别的测试环境混搭,机器性能指数都不太准确,对测试结果的精确度以及正确性都会有影响,所以尽量使用独立测试环境
    2018-07-24
    2
  • Robert小七
    老师说的中间件来进行隔离子环境,请问有具体的示范嘛?

    作者回复: 这个讲起来会比较复杂,建议可以学习一下服务治理,服务发现,链路等相关知识

    2019-09-03
  • Robert小七
    前一章的开发,功能测试,验收,预生产,生产环境,和这节课的集成,公共有什么联系?看懵了
    2019-07-02
  • Robert小七
    前一章的开发,功能测试,验收,预生产,生产环境,和这节课的集成,公共有什么联系?看懵了
    2019-07-02
  • 春之绿野
    应该是独立的大环境比较合适吧,作为子环境的话和其他子环境公用一个大环境,性能会受到其他子环境的影响。测试的结果不准确。
    2019-06-08
  • 一笑
    性能测试最佳的实践是怎么样的?
    2019-05-07
  • 童飞帆
    老师你好,请假一个问题,在创建子环境的时候,启动应用时候是否做了数据库隔离?若数据库未隔离,则子环境间数据难免会互相污染;若数据库隔离,那么是否意味着创建子环境时同时也要新建数据表单同时插入初始化数据?

    作者回复: 从微服务的方向来说是独立隔离数据库的,但也并不绝对,比如公用的用户数据库等还是可以共用,但可以以数据相隔离,比如使用不同的用户,但这类数据库要保证向前兼容

    2018-12-30
  • zhf_sy
    请问,spring cloud微服务,敏捷方式:
    设计,开发,测试,一般时间占比是多少?
    微服务与传统单体应用会慢多少?

    作者回复: 这个很难回答啊,任何应用之间,人和人之间都没有可比性的,而且敏捷不是一味追求快速度哦,是找到合适自己团队的节奏

    另外,也没有人说微服务比单体应用慢呢

    2018-08-31
  • 最真实的自己
    第一,公共与泳道的


    这种方案真能解决并行开发,开行测试的问题么,如果公共环境中的模块正在开发呢?

    作者回复: 2种方案,一种,公共中保持老版本,独立一个泳道测试新版本;第二种,公共中更新新版本,需要依赖老版本的应用在自己的泳道中部署老版本。当然,实际上肯定是推荐第一种方法的

    2018-07-26
收起评论
10
返回
顶部