Puppet 案例研究

“我坚信与开源项目合作。我们为许多项目做出了贡献,包括 Tekton、Knative、Ambassador 和 gVisor,我们都依赖这些项目来实现产品功能。”

——Noah Fontes,Puppet 高级首席软件工程师

Puppet 的 Relay 使用 Knative 将工作流带入一切

Puppet 是一家专注于基础设施自动化的软件公司。该公司成立于 2009 年,旨在为运营人员解决一些最复杂的问题。大约在 2019 年,团队注意到云运营团队无法有效管理现代云原生应用程序,因为他们依赖手动工作流流程。该团队看到了一个机会,可以构建一个平台来连接由现代架构触发的事件,以确保云环境保持安全、合规且经济高效。这就是Relay,一个云原生工作流自动化平台,如何创建以及 Knative 和 Kubernetes 如何现代化和增强业务流程自动化的故事。

DevOps 的粘合剂

当 Puppet 第一次探索 Knative 的强大功能和灵活性以触发其基于 Tekton 的工作流执行引擎时,他们并不确定他们的旅程将走向何方。Knative 提供了一系列有吸引力的功能,因此他们开始构建和试验。他们想构建一个事件驱动的 DevOps 工具;他们对构建另一个持续集成产品不感兴趣。此外,随着他们继续探索,他们意识到他们想要一些灵活的、不局限于一个垂直领域的东西。无论他们正在构建什么,都不会只专注于一个市场。随着他们的目标变得清晰,他们意识到由Knative Serving启用的无服务器应用程序和功能将非常适合基于云的业务流程自动化服务。基于这一认识,他们构建了Relay,这是一款云工作流自动化产品,可帮助云运维团队解决组织在采用多云和 SaaS 产品以及传统解决方案时出现的集成和事件问题。

容器和 Webhook

容器和 Webhook 是 Relay 架构中的关键元素。容器允许 Puppet 提供一个基于云的解决方案,企业可以在其中将工作流配置和部署为独立的业务单元。由于容器提供自包含的环境,因此甚至可以包含传统服务和软件包。这被证明是企业客户的一项基本功能。例如,任何可以包含在 Docker 镜像中的东西都可以成为 Relay 工作流的一部分。“我们专注于容器,因为它们提供隔离,”Puppet 高级首席软件工程师 Noah Fontes 解释道,“容器提供离散的执行单元,用户可以在其中减少复杂系统的维护负担。”允许完全可配置的 Webhook 为用户提供了集成各种业务流程所需的灵活性。通过 Webhook,Relay 几乎可以与任何基于 Web 的 API 交互,以触发跨第三方 SaaS 产品、云服务、Web 应用程序甚至系统实用程序的丰富、功能齐全的工作流。Knative Serving 为 Relay 提供了重要的基础设施。它允许 Webhook 和服务自动扩展,甚至可以缩减到零。这使得 Relay 能够支持几乎任何集成,包括那些只有少数用户使用的集成。通过自动伸缩,这些服务在不使用时不会消耗资源。

什么是 Knative Serving?

现代基于云的应用程序通过多种方法应对大规模扩展的挑战。其中大多数的核心是使用容器:运行单个应用程序、单个服务甚至单个功能的离散计算单元。这种方法非常强大,允许服务根据需求扩展其消耗的资源数量。然而,虽然这一切听起来很棒,但管理和配置可能很困难。提供这种高级架构最成功的解决方案之一是 Knative Serving。该框架建立在 Kubernetes 之上,支持无服务器应用程序、服务和功能的部署和管理。特别是,Knative Services 专注于易于配置、部署和管理。

工作流集成

开放式架构允许 Relay 将数十种不同的服务和平台集成到工作流中。Relay 集成 GitHub 页面提供了这些集成的列表,并展示了他们对开源社区的承诺。“我坚信与开源项目合作。我们为许多项目做出了贡献,包括 Tekton、Knative、Ambassador 和 gVisor,我们都依赖这些项目来实现产品功能,”Fontes 说道。

结果:自动化基础设施管理

尽管 Relay 的基础设施运行在 Google Cloud Platform 上,但它是一个工作流、集成、步骤和触发器库,其中包括所有主要云服务提供商的服务。Relay 客户可以在 Microsoft Azure、AWS 和 Oracle Cloud Infrastructure 等之间进行集成。通过将这些集成与 SaaS 产品相结合,它真正成为了基础设施管理的Zapier。“我们的客户对管理工作负载有不同的需求,这些需求通常最好通过 Web API 实现。我们的产品提供了一个由 Knative 提供支持的无服务器微服务环境,使他们能够构建这种复杂的工具,而无需传统部署架构的管理和维护开销。我们将节省的成本转嫁给他们,每个人都更开心,”Fontes 说道。如果没有 Knative 和Tekton等系统提供的现有基础设施,Relay 的构建和部署是不可能实现的。值得注意的是,Fontes 的团队从未超过八名工程师。Fontes 表示,一旦他们确定了 Relay 的计划,他们就能在短短三个月内将其投入生产。

“多亏了 Knative,Relay 的发布比我们想象的要容易。”高级首席软件工程师 Noah Fontes 说道。

Knative 旨在通过抽象化 Kubernetes 安装的复杂细节,并使开发人员能够专注于重要事项,从而快速提供可扩展、安全、无状态的架构。

了解更多

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。