Knative 和最终用户

发布时间:2022-03-10

作者:Murugappan Chetty(Optum,代表 Knative 领导委员会的最终用户)

Knative 是一个开源社区,非常重视最终用户的贡献/互动,这在 PR、每月聚会、Slack 互动等方面都很明显。最重要的是,Knative 最近在领导委员会中设立了一个最终用户席位。这出于几个原因非常重要

  • 增强最终用户组织在生产环境中使用 Knative 的信心
  • 很少有开源社区在领导委员会中拥有最终用户代表

我很高兴地分享,我被选为领导委员会的首位最终用户代表。在本篇博文中,我想分享一下我们组织迄今为止的 Knative 体验。

为什么选择 Knative?

首先,选择 Knative 不是因为它是最新的热门技术。整个过程是自然而然的。以下因素导致了对 Kubernetes 抽象的需求。

  • 成熟的容器生态系统。
  • 无服务器工作负载
  • 需要比原生 Kubernetes 更好的开发人员体验(部署 + 服务 + 入口 + ...)

时机已经成熟,可以在 Kubernetes 之上构建一个新的平台。在这样做之前,我们想检查一下是否可以利用现有的开源解决方案,当时有一些解决方案处于不同的成熟度级别,Knative 是脱颖而出的那个

  • 与所有同类产品相比,具有最佳的扩展性能。
  • 开发人员体验(单个 Knative 服务资源可生成 Kubernetes 部署 + 服务 + 入口 + 证书 + 自定义域)。
  • 构建开发者平台的强大原语。
  • 具有良好治理模型的开源社区
  • 得到多个供应商的支持
  • 对开源项目的强大支持

实施

为了满足不同技能水平的开发人员的需求,我们在 Knative 之上构建了一个抽象层。这一层降低了新用户的入门门槛,高级用户也可以绕过它。我们还构建了组件以集成我们的企业应用程序。下图显示了我们的部署模型以及我们内部构建的集成。

Platform Architecture

Enterprise Integration

通过上述部署模型和集成,我们能够为内部用户提供干净的代码到 URL 体验。只需几个参数,开发人员即可在几秒钟内部署其服务并接收启用 TLS 的 URL。

与社区互动

自我们第一次部署 Knative 服务以来已经两年了,我们的平台发展迅速,为数百名开发人员提供服务。如果没有 Knative 社区的支持,这是不可能实现的。有很多途径可以与社区互动。

Slack

直到今天,Slack 频道中的势头都没有减弱,大多数问题几乎立即得到解决。Slack 是开始使用 Knative 的最佳场所。

Hacky Hours

如果让我选择迄今为止 Knative 最好的体验,每周的 Hacky Hours 会名列前茅。这些非正式/虚拟聚会过去在星期五下午举行。每周都会有几次“顿悟”时刻,Knative 维护人员/贡献者/最终用户会进行演示。在这些会议上,我可以与 Knative 的重要人物一对一交流,并验证我们的实现。

每月聚会

Hacky Hours 可能会暂停一段时间,但每月聚会每个月都会举行。这是一个了解项目要点和一些简洁的用例演示的好地方。我有幸在这里展示了我们的 Knative 实现。没有比在聚会/会议上发表演讲更好的方法来验证实现了。对于最终用户而言,我绝对建议在这里演示解决方案。

贡献

在我们的实施过程中,我们确实遇到了一些问题和一些缺失的功能,这给了我们机会提交 PR 并进行上游贡献。维护人员对我们的问题做出了积极的回应,并且大多数问题都得到了合并,对于那些没有合并的问题,都有合理的理由和良好的讨论供我们学习。我已为大多数存储库做出了贡献,但我的一些重要贡献是针对客户端存储库,我最终成为了该存储库的审阅者。

除了上游贡献之外,我们还构建了自定义 Knative 频道实现和Knative 事件源,并在我们的 GitHub 组织下开源。

我们的 Knative 实现使我有机会在会议上发表演讲。最重要的是 Kubecon 和 IstioCon。现在,随着Knative 加入 CNCF,它应该为最终用户在 Kubecon 上分享他们的故事打开更多大门。

结束语

最后,我想分享一下 Knative 对我的意义。几年前,我开始尝试使用 Knative,当时并不知道有一天我会成为 Knative 领导委员会的一员。我并没有为每个开源项目做出贡献,但一直参与各种社区,提出问题,提供反馈,加入 Slack 频道等,凭借这些经验,我可以自信地说,加入这个社区在各个方面都让我受益匪浅。毫不夸张地说,Knative 在疫情期间一直是我前进的动力之一。

My Knative Timeline

我们使用分析和 Cookie 来了解网站流量。出于此目的,您的网站使用信息将与 Google 共享。 了解更多。