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 服务专注于易于配置、部署和管理。工作流程集成开放架构允许 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 安装的复杂细节,并使开发人员能够专注于重要的事情,来快速提供可扩展、安全、无状态的架构。了解更多 |