>科技>>正文

发布 Spinnaker 1.0:持续的云交付平台

原标题:发布 Spinnaker 1.0:持续的云交付平台

文 / Google 产品经理 Christopher Sanson

在 Google,我们部署大量代码:每天进行数以万计的部署,部署的目标服务成千上万,其中七项服务的全球用户数都各自超过了 10 亿。在这个过程中,我们在如何快速部署软件方面学到了一些最佳做法 — 例如自动发布、不可变基础架构、分阶段推广和快速回滚等。

早在 2014 年,我们就开始与开发 Spinnaker 的 Netflix 团队合作,我们发现,Spinnaker 的发布管理平台体现了我们为实现安全、频繁、可靠的发布而确立的许多基本原则。在对它的发展潜力感到惊喜之余,我们与 Netflix 联合向公众发布 Spinnaker,Netflix 于 2015 年 11 月开放了 Spinnaker 的源代码。从那时起,Spinnaker 社区不断壮大,Microsoft、Oracle、Target、Veritas、Schibsted、Armory 和 Kenzan 等数十家公司纷纷加入。

我们很高兴地宣布发布 Spinnaker 1.0,这是一个开源多云端持续交付平台,已在 Netflix、Waze、Target 和 Cloudera 等公司投入生产使用,而且,它新增了一个被称为 halyard 的开源命令行界面 (CLI) 工具,可简化 Spinnaker 自身的部署工作。阅读下文,了解 Spinnaker 可以为您的软件开发流程提供哪些帮助。

为什么选择 Spinnaker?

我们先来了解一下让 Spinnaker 成为企业发布管理理想解决方案的几项功能和最新更新:

1. 开源多云端部署

我们相信,应该将 Google Cloud Platform (GCP) 打造成开放的云平台。Spinnaker(包含其富界面信息中心在内)100% 开放源代码。您可以将它安装在本地或云中,在虚拟机 (VM) 或 Kubernetes 中运行。

Spinnaker 将发布管道与目标云提供程序分离,可降低从一个平台移动到另一个平台或将相同应用部署到多个云的复杂性,从而简化部署流程。

它内置对 Google 计算引擎、Google 容器引擎、Google App 引擎、AWS EC2、Microsoft Azure、Kubernetes 和 OpenStack 的支持,随着社区的不断壮大,每年都会支持更多的应用,包括即将支持的 Oracle Bare Metal 和 DC/OS 等。

不论您是向多个云发布还是避免供应商绑定,Spinnaker 都可以帮助您基于最有利于贵公司的方案部署应用。

2. 自动发布

在 Spinnaker 中,通过自定义发布管道安排部署,部署阶段可以涵盖您所需的几乎任何操作 -- 集成或系统测试、启动或关闭服务器群、人工审批、等待一段时间或运行自定义脚本或 Jenkins 作业等。

Spinnaker 与您现有的持续集成 (CI) 工作流无缝集成。您可以通过 git、Jenkins、Travis CI、Docker 注册表,在类似于 cron 的调度程序甚至其他管道上触发管道。

3. 最佳部署策略

Spinnaker 原生支持多种复杂的部署策略,例如发布 Canary 版本、多级环境部署、红/黑(又名蓝/绿)部署、流量分割和简易回滚。

这得部分归功于 Spinnaker 在云中使用不可变基础架构,在该架构中,对应用的更改会触发重新部署您的整个服务器集群。相比之下,对正在运行的计算机配置更新的传统方法会导致部署速度变慢,风险增大,而且难以调试配置漂移问题。

有了 Spinnaker,您只需选择您要针对每种环境使用的部署策略,例如为多级环境选择红/黑部署策略,为生产环境选择红/黑滚动部署策略,Spinnaker 就会在后台安排一系列必要的步骤。您无需为企业级发布编写部署工具或保留一套复杂的 Jenkins 脚本网络。

4. 基于角色的授权与权限

大公司通常是跨产品推行 Spinnaker,并由一个 DevOps 团队负责集中管理。对于需要基于角色控制项目或帐户访问权限的管理员,Spinnaker 支持多种身份验证和授权选项,包括 OAuth、SAML、LDAP、X.509 证书、GitHub 团队、Azure 组或 Google 网上论坛等。

您还可以向人工判断这一 Spinnaker 阶段(此阶段要求获得相关人员审批后才能继续使用管道)应用权限,确保在未经相关人员授权的情况下无法进行发布。

5. 通过 halyard 简化安装和管理

发布 Spinnaker 1.0 的同时,我们还宣布发布新的 CLI 工具 halyard,以帮助管理员更加轻松地安装、配置和升级可随时投入生产的 Spinnaker 实例。

在 halyard 和 Spinnaker 1.0 之前,管理员必须分别管理组成 Spinnaker 的每个微服务。从 1.0 开始,所有新的 Spinnaker 版本均单独进行版本控制,并遵循语义化版本规范。有了 halyard,升级到最新的 Spinnaker 版本就和运行 CLI 命令一样简单。

入门指南

试用 Spinnaker,您会发现,部署将变得更快、更安全,我们敢说,从此它将变得毫无挑战性。

有关 Spinnaker 的更多信息,请访问新的 spinnaker.io 网站,获取入门指南。

如需问题解答、提交反馈或与 Spinnaker 社区进行更多交流互动,您可以通过 Spinnaker Slack 渠道与我们联系,将问题提交至 Spinnaker GitHub 存储区,或使用“spinnaker”标记在 Stack Overflow 上提出问题。

了解更多详情,查看文内所有链接(文档),请点击文末“阅读原文”。

责任编辑:

声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
阅读 () 谷歌
投诉
免费获取