分析Netflix公司产品Spinnaker的微服务实践

本文深入分析Netflix的开源项目Spinnaker,它用于混合云环境的部署,实现跨云平台的编排。Spinnaker在Netflix每天执行4000次变更发布,同时被谷歌云采用。文章详细介绍了Spinnaker的服务架构、代码仓库管理(每个微服务独立代码库)、持续集成(使用GitHub Actions)和应用部署策略,探讨了一键部署与版本管理的方法,为微服务项目的最佳实践提供了参考。
摘要由CSDN通过智能技术生成

Netflix 是业界微服务和 DevOps 组织的楷模,有大规模生产级微服务的成功实践。微服务有些公司甚至比 Netflix 做得更早,但 Netflix 大概是大规模生产级微服务做得最杰出的。

Netflix在开源社区有着非常大的贡献,发布了很多开源工具去做部署、打包等各种功能。Spinnaker 是 Netflix的一个开源项目,来做混合云环境部署,能够实现跨云平台的部署任务的编排。

在 Netflix 使用 Spinnaker 每天发布 4000 次变更到亚马逊的机器上。谷歌云也在用 Spinnaker 去做部署。他们构建时也是用 Jenkins,其中有一个过程叫 bake,bake 是把应用打包成一个镜像,然后把这个镜像用 deploy 去做部署。Netflix 的 DevOps实践非常值得关注,他们也有很多项目和开源工具都值得一看。

本文主要分析Spinnaker其开发模式、持续集成、部署实践。

服务架构

Spinnaker 是由多个微服务组成的。Deck是前端页面;GateAPI网关Spinnaker UI和所有api调用程序都通过Gate与Spinnaker进行通信;Orca是编排引擎处理所有临时操作和管道;CloudDriver是负责对云提供商的所有变更调用,并索引/缓存所有已部署的资源;Front50用于保存应用程序,管道,项目和通知的元数据;Rosco生成镜像,它为各种云提供商生成不可变的VM映像;Igor用于通过Jenkins和Travis CI等系统中的持续集成作业来触发管道,并且它允许在管道中使用Jenkins / Travis阶段;Echo负责消息通知;Fiat负责用户权限管理;KayentaSpinnaker提供自动化的金丝雀分析;HalyardSpinnaker生命周期配置管理工具。


代码仓库管理

Spinnaker的微服务是每个微服务都创建一个代码库。大家可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值