Chapter 3准备:基础设施与TA框架
持续集成、自动化测试进一步要求软件研发有一个良好的环境支撑,即本章要讨论的基础设施,包括虚拟技术与Docker技术、基础设施即代码、持续集成环境、单元测试TA框架、系统测试TA框架、验收测试TA框架(包括需求实例化与BDD框架)、DevOps工具链等。 3.1虚拟机与容器技术 虚拟机 大大提高服务器利用率 从数据中心空间、机柜、网线、耗电量、空调等方面大大节省维护费用 能快速完成虚拟机的环境安装和恢复 标准化环境和改进安全,包括高级备份策略,在更少冗余的情况下,确保高可用性,容易实现添加、移动、变更和重置服务器的操作 通过部署在刀片式(机架式)服务器上的虚拟中心来管理虚拟和实体主机,建立一个逻辑的资源地,连续地整合系统负载,进而优化硬件使用率和降低成本 容器 镜像体积更小,只包括应用软件系统和所依赖的环境 创建和启动更快,不需要启动Guest OS 层次更高,降低额外资源开销,资源控制粒度更小,部署密度更大 使用的是真实物理资源,因此不存在性能损耗 3.2基础设施即代码 云平台要求具有良好的可伸缩性(弹性),可以动态、灵活地分配各个项目所需的资源(存储能力、计算能力、传输能力等)。 一切都是API,环境的安装、升级和配置都通过API调用方式实现。 基础设施即代码(Infrastructure as Code,IaC),通过机器可读定义文件管理和配置计算数据中心的过程