速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

在 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:003170
用户头像

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

关注

评论

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

API管理平台搭建过程问题总结

RestCloud

API ipaas API 安全

Transformer与预训练语言模型的探索

百度开发者中心

人工智能 大模型 LLM

Elasticsearch实战:常见错误及详细解决方案

汀丶人工智能

Elastic Search

得物自研客服IM中收发聊天消息背后的技术逻辑和思考实现

JackJiang

网络编程 即时通讯 IM

Topaz Video AI for mac(视频增强和修复工具) 4.0.2完整激活版

mac

windows 苹果mac Topaz Video AI 视频进行增强软件

SaaS 出海,如何搭建国际化服务体系?(三)

LigaAI

SaaS 远程会议 高效协作 出海企业 SaaS 增长

Parallels Desktop 19虚拟机怎么安装Win系统?Arm Windows 11下载方法

Rose

windows 11 pd虚拟机 Mac虚拟机 Parallels Desktop 19

生产管理MES系统的功能和作用/开源MES

万界星空科技

数字化转型 生产管理系统 mes #开源 开源mes

飞桨国际化应用案例:挪威广告企业Adevinta应用PaddleOCR提质增效

飞桨PaddlePaddle

广告 OCR 飞桨 飞桨PaddlePaddle

无需数据搬迁,10倍性能提升!携程的统一分析之旅

StarRocks

数据库 StarRocks

【行云流水线实践】基于“OneBuild”方法对镜像进行快速装箱 | 京东云技术团队

京东科技开发者

云原生 CI/CD Docker 镜像 企业号11月PK榜

开发第一个flutter应用时需要注意什么

Onegun

flutter 前端框架

详述 IntelliJ IDEA 遇到 Maven 项目 pom.xml 文件没有识别的解决方法

Rose

IntelliJ IDEA

BES 在大规模向量数据库场景的探索和实践

Baidu AICLOUD

elasticsearch 向量检索 大模型

等你加入!文心开发者说分享者招募全面开启

飞桨PaddlePaddle

开发者 文心 文心开发者说

Topaz Video AI 使用教程:去隔行和升级嘈杂的镜头

Rose

mac软件下载 Topaz Video AI破解版 视频增强软件 Topaz Video AI 教程

SecureCRT常见问题|不允许从系统上的所有字体中进行选择

Rose

SSH SecureCRT激活 SecureCRT常见问题 SecureCRT不能选择字体 SecureCRT Mac破解版

Lunar Pro for Mac(屏幕亮度调整软件) v6.2.7激活版

Rose

Mac破解软件 Lunar for Mac 显示器亮度调整

钱包开发:区块链钱包热钱包​加密货币开发公司集成服务

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

大模型在金融监管科技中的应用价值

百度开发者中心

人工智能 大模型 LLM模型

同城售后系统退款业务重构心得 | 京东云技术团队

京东科技开发者

架构 架构设计 企业号11月PK榜 系统重构

Generative AI 新世界 | 文生图(Text-to-Image)领域论文解读

亚马逊云科技 (Amazon Web Services)

机器学习 生成式人工智能 大语言模型

设计模式-单例模式概述 | 京东云技术团队

京东科技开发者

设计模式 单例模式 结构型模式 创建型模型 企业号11月PK榜

Cinema 4D 2023常见问题:c4d 2023看不到新的加厚和对称对象怎么办?

Rose

c4d 2023 加厚和对称对象 Cinema 4D中文破解

一文带你了解什么是“三渲二”?

Finovy Cloud

3D 建模 影视动漫

大模型训练中Loss出现NaN的解决策略

百度开发者中心

大模型训练 大模型 LLM

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