03
Spinnaker简介

Spinnaker是Netflix公司开源的一款持续部署工具,采用Java语言编写,遵循微服务的设计思想,目标是为团队提供灵活的持续部署流水线并提高软件的部署效率。公开资料显示,Netflix公司已经通过数百个团队的数百万次部署验证了Spinnaker的生产可用性,其公司内部每天使用Spinnaker自动部署达到4000次以上。

Spinnaker主要具有以下优势。

• 支持多云部署:包括AWS EC2、Microsoft Azure和不同云提供商的Kubernetes容器服务等,同时对每种云提供商的支持都以Provider的插件形式提供,非常便于进行扩展。

• 自动发布:可以集成或创建测试集群进行系统测试,支持对服务进行扩容及管理部署流水线,并支持使用Git事件、Jenkins、Travis CI、Docker镜像仓库、CRON(定时任务)的自动触发。

• 内置部署最佳实践:Netflix在部署方面积累了大量的实践经验,Spinnaker中内置了几种部署的最佳实践,例如自动化实现回滚操作、在部署策略方面支持蓝绿部署和金丝雀部署。

• 活跃的社区:Google、Microsoft等顶尖的互联网公司都已经在社区贡献代码。

2019年3月,Netflix和Google共同成立了持续交付基金会(CDF),并将Spinnaker捐赠给CDF,和大名鼎鼎的云原生计算基金会(CNCF)一样,CDF成为了Linux基金会的一部分。CDF的其他成员包括Jenkins、Jenkins X、Tekton等顶尖的持续集成和持续部署项目。