盘点十大 DevOps 刚需场景,给选型头秃的你一套标准开源工具集 (2022 年中版)
当下越来越多的研发团队开始践行 DevOps,一边扛着业务 KPI,一边研发/上线/运维一条龙。这背后有两个主要的推手:
首先是底层基础设施的日趋完善,像云厂商提供的 IaaS,文件存储,数据库还有围绕 Kubernetes 的云原生操作系统。
其次是配套的相关 DevOps 开源工具,帮助研发团队能快速攒出一套工具集,承担部署,运维,数据库操作这些之前需要专业运维/SRE/DBA 才能承担的工作。
与此同时开源社区百花齐放,DevOps 团队在选择工具时也难免陷入眼花缭乱的选择障碍。本文尝试整理一套研发工具集,帮助 DevOps 团队搭建起一套最基本的研发工具体系。几点声明:
只谈「开源」产品。
只谈「工具」。像底层基础设施,比如开源数据库,分布式文件系统这些不在覆盖之列。
只谈 DevOps 团队「专用」。像项管软件,IM 这类其他工种也会使用的工具,不在覆盖之列。
只谈「基础」,这里的「基础」有两个含义:
覆盖的是研发刚需场景,像研发效能度量这样的进阶工具不在覆盖之列。
推荐的工具集合能让团队达到 75 分水位,如果有更高的追求,还是要结合团队情况做相应的调整。
Let's go!
01 行业标杆
这个大类下的工具算是业界共识,通常大家都会选。一个简单的评判标准,如果团队里有成员提议其他的产品,则需要费不少功夫解释为什么不选下面列表里的。
代码托管/持续集成
代码搜索
基础设施部署
Terraform。虽然也有 Pulumi 这样的后起之秀,但 Terraform 结合 GitLab / GitHub 的 Infra-as-Code 已经形成了完整的生态。尤其对于没有历史包袱的团队来说,Terraform 是管理云资源的不二之选。
监控&日志&仪表盘
Prometheus + ELK + Grafana。标准三件套,当然国内美团开源的 CAT (https://github.com/dianping/cat) 以及源自滴滴的夜莺/Flashcat也值得一看。
02 等待标杆
这个大类下的工具选型还没有形成业界共识,通常大家在选型时会拿捏不准,可能不知道有什么主流方案,也可能知道了,但因为没有形成主流共识,所以还是选择自研。
微服务部署
配置管理 / Feature Flag
Apollo (https://apolloconfig.com) Unleash (https://getunleash.io) Flagsmith (https://flagsmith.com)
定时任务调度
数据库开发
03 总结
「工欲善其事,必先利其器」,这句话也表达了工具是产出业务成果的必要条件,但不是充分条件。选择走 DevOps 路线的技术团队,一方面要重视工具的选择和搭配,但另一方面也要明白工具再强大,业务的方向,执行的团队才是起决定性作用的。工具扮演的是一个不拖后腿,至多助攻的角色,没有一家成功的公司是仅靠好工具上位的,除非他本身做的就是那个好工具。当然最希望看到的还是背着业务 KPI 的 DevOps 团队和这些工具能够互相成就彼此,趁手的工具助力 DevOps 团队扛下业务 KPI,DevOps 又给工具反哺场景,打磨出更好的产品。