1 集成平台自动化工具综述 工欲善其事,必先利其器。微服务得到广泛应用的其中一个先决条件是实现工具自动化。如果仅依靠手工来创建和管理庞大并且关系复杂的微服务群,那基本上是不可能的事情。因此,采用微服务应用的单位或企业必须配备支持研发全过程、持续集成、持续交付及其运维监控告警的自动化工具链。如图1所示。 图1 自动化工具图集 这些自动化工具覆盖支持DevOps、持续集成、持续部署以及持续发布和运营计划等各个阶段和过程。这些阶段和过程包括:源码开发自动化和版本控制、构建自动化工具、测试自动化工具、持续集成&交付(CI/CD工具)、部署自动化工具、容器和镜像注册平台、平台自动化、日志管理工具、监控,警告&分析等。 将上述几个阶段工作统一汇总可为:研发自动化工具、CI/CD自动化工具和运维自动化工具。下面简单介绍一些自动化工具的产品和平台。 2 研发自动化工具 (1)版本控制&协作开发工具 版本控制&协作开发工具,以自动化方式对源代码产生、版本控制等程序源码进行管理的工具。下表(本列表只截取了原书部分内容)列举了部分版本控制、协作开发工具。 (2)自动化构建工具 自动化构建工具,以自动化方式将源代码编译为供测试的可执行程序。下表(本列表只截取了原书部分内容)列举了部分自动化构建工具。 (3)自动化测试工具 自动化测试工具,以自动化方式实现测试用例等功能。下表(本列表只截取了原书部分内容)列举了部分自动化测试工具。 3 CI/CD自动化工具 (1)持续集成&交付工具 持续集成&交付工具,实现持续集成和持续交付的产品或平台。下表(本列表只截取了原书部分内容)列举了部分持续集成&交付工具。 (2)容器部署工具 容器部署工具,主要用于部署容器的自动化工具。下表(本列表只截取了原书部分内容)列举了部分容器部署工具。 (3)容器部署镜像工具 容器部署镜像工具以自动化方式将可执行的代码转换为配置完全的可部署镜像,同时支持滚动部署、蓝/绿部署以及金丝雀部署等。下表(本列表只截取了原书部分内容)列举了部分容器部署镜像工具。 4 运维自动化工具 (1)配置工具 配置工具就是给系统提供配置管理功能。下表(本列表只截取了原书部分内容)列举了部分配置工具。 (2)日志管理工具 日志管理工具,涵盖了日志采集、上报、搜索、展现等基本需求。下表(本列表只截取了原书部分内容)列举了部分日志管理工具。 (3)监控&警告工具 监控&警告工具。监控和警告一般是对服务器、服务(中间件、数据库)做一些常用指标的监控。下表(本列表只截取了原书部分内容)列举了部分监控&警告工具。 (4)性能分析/APM工具 性能分析/APM工具能更准确、更直接地帮助用户定位到性能瓶颈,有商用方面的产品,也有开源方面的产品。下表(本列表只截取了原书部分内容)列举了部分性能分析/APM工具。 本文摘抄自书籍《微服务体系建设和实践》,略有改动。 |
|