最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

在 Spinnaker 中创建微服务部署管道

  • 2016-03-07
  • 本文字数:2123 字

    阅读完需:约 7 分钟

在近期于德国柏林举办的 microXchg 2016 大会上,Rick Buskens 进行了一场名为“在Spinnaker 中实现微服务部署管道”(Microservice Deployment Pipelines with Spinnaker)的演讲,在演讲中谈到了Netflix 与Google 在 Spinnaker 这个由 Netflix 设计的持续交付平台上的合作关系。Spinnaker 可以为用户创建构建管道,保证了微服务应用程序部署的安全性与可预见性,并且支持多种云环境。

Buskens 是来自 Google 开发者基础设施部门的一位工程经理,他在演讲的开头部分说道,Google 对于 Netflix 所主导开发的 Spinnaker 这个持续交付工具非常感兴趣。Netflix 在使用微服务架构构建流媒体视频平台方面的工作是众所周知的,整个架构中包含了大量组件,并且具有极高的动态性,这也表现出 Netflix 部署代码的频率之高。

任何一个微服务出现故障都有可能破坏用户体验,因此安全的部署是非常关键的,而 Netflix 在确保“工业级”的安全部署方面具有相当丰富的经验。因此,Google 已经与 Netflix 团队展开了合作,目的是创建高效与高适用性的工具,以支持基于微服务的项目的持续交付。

我们清楚有许多社区中的朋友还不愿意采用持续交付流程,因为它过于复杂。他们也不愿意选择某个云环境,是担心将自己的业务锁死在某个平台上。因此,Google 希望能够为用户提供良好的工具,帮助用户将应用可靠地部署在云环境中。

总的来说,通过与 Spinnaker 社区的合作,我们希望为这方面的工具实现标准化。

安全的部署之所以难以实现,是由于部署的“非密封性”,而且常常会受到手动交付流程的影响。尤其当应用的责任由多个开发与运维团队共同承担的时候,这种现象会更为明显。这将导致对于目前所部署内容的不确定性、容易出错的部署、以及失败的部署,而且往往需要那些并不熟悉所部署的组件的人参与到这一过程中。

Buskens 认为,持续交付(CD)能够缓解安全方面的风险。CD 的核心原则包括对每个变更都进行预发布、对生产环境的准备情况进行验证、自动化、避免故障以及最大化部署的可靠性与可预见性。在实现这些原则的时候,可以利用不可变基础设施(例如 VMDK AMI 等服务器镜像,或者 Docker rkt 等容器技术)等技术以避免配置的差错、创建特定于环境的部署步骤、提供蓝绿发布等策略、以及在测试与反馈循环中包含部署标志。

Netflix 所创建的 Spinnaker 能够通过构建管道的创建与管理,以编程方式解决以上问题中的一部分。Spinnaker 本质上是一个面向云环境的持续交付平台,它取代了 Netflix 的开源项目 Asgard 持续交付平台。Spinnaker 平台的输入是构建的结果(例如通过 Jenkins 等持续集成工具所构建的包),它所生成的镜像可部署至某个目标环境。多个管道构建出了一个小型的工作流,提供了部署的阶段和提升门(promotion gate)(例如“提升至生产环境”),这些管道可以链接在一起,以生成一个完整的持续交付工作流。

Spinnaker 中的核心概念包括:“服务器组”,它本质上就是一种“安全、实现了负载均衡、并且具有容错性的微服务”,其中包括了基本配置信息、一个负载均衡器、安全组、机器类型以及分发策略。一个“集群”,即多个服务器组的一种逻辑分组。还有一个“应用程序”,代表多个集群的一个逻辑分组。部署过程包括镜像的发布、流量转换的管理、以及能够简单地进行回滚(如有必要)的功能。Spinnaker 还提供了可适配的部署策略,支持蓝绿发布、高地人发布(highlander,意指只能有一个存在!)、或金丝雀发布。

重点在于,Spinnaker 是基于(Spinnaker)在云环境中部署工业级别的应用程序的经验而设计的。我们很清楚它能够正常运行、并且有良好的伸缩性,它是一系列关键的最佳实践的完美展现。

一个 Spinnaker 管道由配置与阶段所组成。配置的内容包括一系列触发器、参数以及通知,而阶段就是指“上下文感知的操作”,例如“发布至预发布环境”。管道的设计目标是具有良好的可扩展性与重用性,而且通常会与上游的 CI 系统(例如 Jenkins)相集成。多个管道将链接在一起以创建一个工作流。

Spinnaker 目前支持多种云环境,包括 Amazon Web Services、Microsoft Azure、Cloud Foundry 以及 Google Compute Engine。

在 Google 看来,当我们为客户提供 DevOps 解决文案时,可以充分利用 Spinnaker 的强大功能。它是一种支持多个云环境的解决文案,因此我们非常希望确保用户能够选择正确的工具与基础设施,以及流程,让用户能够更快、更可靠地交付软件。

通过对 Spinnaker 的“ clouddriver ”微服务进行扩展,可支持更多的云环境。

Netflix 在 2015 年 11 月 16 日将 Spinnaker 开源,目前已经运用在 Netflix 产品的生产环境中了。 Spinnaker 的代码是开源的,可从 GitHub 上下载,它在 Slack 上建立了一个专门的频道,并且在 StackOverflow 上有一个专门的讨论标签。该项目将很快发布一个公开的路线图。如果用户想快速地尝试一下这个项目,可以使用能够“一键完成”的 Google Cloud Launcher Spinnaker 平台,在 spinnaker.io cloud.google.com/solutions 上可以找到操作指南。

用户可以在会议专属的 Youtube 频道上欣赏 Rick Buskens 的演讲“在Spinnaker 中创建微服务部署管道”的视频。

查看英文原文: Creating Microservice Deployment Pipelines with Netflix’s Spinnaker: A Perspective from Google

2016-03-07 18:003037
用户头像

发布了 428 篇内容, 共 172.0 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

从需求到测试计划:项目流程与规范关键输入输出

测吧(北京)科技有限公司

测试

项目排期揭秘:预估测试时间与灵活沟通工期不合理

测吧(北京)科技有限公司

测试

九章云极DataCanvas公司荣登“2023Venture50投资界数字科技”榜

九章云极DataCanvas

Pyth 预言机: 它们如何影响Hover?

股市老人

语音合成技术在智能驾驶中的创新与应用

来自四九城儿

软件测试/测试开发/全日制|MySQL安装最全教程

霍格沃兹测试开发学社

思考-RBAC中对于权限编码部分的压缩处理(RoaringBitmap)

alexgaoyh

Java 位图 BitMap Roaringbitmap 位图压缩

质量标准深度解读:覆盖度、bug等级、用户体验窥探

测吧(北京)科技有限公司

测试

任务与责任划分:巧妙安排项目工作与任务

测吧(北京)科技有限公司

测试

跨团队协作智慧:资源寻找、支持申请、协作分工

测吧(北京)科技有限公司

测试

测试过程管理揭秘:敏捷站会、项目时间、推动关键技巧

测吧(北京)科技有限公司

测试

Casper Network加入Web3 领域 “Shark Tank” 的《Killer Whales》

股市老人

初次承担管理的成功领导力建立

测吧(北京)科技有限公司

测试

建立团队信任与凝聚力的六大实用方法

测吧(北京)科技有限公司

测试

提高项目执行力:解析执行力差原因与提升方法

测吧(北京)科技有限公司

测试

DataCanvas会员中心正式上线,这些新春福利请接住!

九章云极DataCanvas

九章云极DataCanvas公司入选《2023中国大模型产业创新服务商TOP30榜单》

九章云极DataCanvas

空降领导的智慧:与老员工相处与快速团队信任的建立

测吧(北京)科技有限公司

测试

物联网浏览器(IoTBrowser)-Modbus协议集成和测试

快乐非自愿限量之名

浏览器 物联网 项目开发

软件测试/测试开发/全日制|Pytest allure如何添加测试用例步骤

霍格沃兹测试开发学社

SRP (Secure Remote Password Protocol)

Geek_44385e

srp

布局算力新基建,九章云极DataCanvas公司赋能AI产业高质量发展

九章云极DataCanvas

云原生与低代码:加速提效,为行业拓荒期构建生态

不在线第一只蜗牛

云计算 云原生 低代码

如何精准推动外包团队的工作

测吧(北京)科技有限公司

测试

Kickoff会议与测试关注点:项目启动的黄金法则

测吧(北京)科技有限公司

测试

测试流程与规范指南:详解测试计划、用例与质量指标

测吧(北京)科技有限公司

测试

语音合成技术在智能驾驶中的应用与挑战

来自四九城儿

低代码开发平台在企业数字化转型中的应用研究

快乐非自愿限量之名

软件开发 低代码 数字化 企业转型

语音合成技术在智能驾驶中的应用与展望

来自四九城儿

ChatGPT 被曝泄露私密对话;美国 AI 企业一天蒸发 1.3 万亿市值丨 RTE 开发者日报 Vol.139

声网

需求管理智慧:与产品经理巧妙沟通解决不规范与变更频繁

测吧(北京)科技有限公司

测试

在Spinnaker中创建微服务部署管道_服务革新_Daniel Bryant_InfoQ精选文章