Buildpack 通过获取源代码并将其转变为功能齐全的应用程序来帮助减轻开发人员的负担。
为了了解有关这项技术的更多信息,我们在播客 What the Dev? 的最新一集中采访了 Cloud Foundry 基金会的首席传播者 Ram Iyengar。
以下是该对话的编辑和删节版本:
buildpack(尤其是 Paketo Buildpack)如何帮助开发人员部署云原生应用程序?
我认为构建包对于将许多应用程序推向生产并进行容器化非常重要,而无需处理容器化过程中通常带来的大量开销。我能说什么是我们在网络研讨会、文章和类似内容中没有说过的?嗯,这有一个社区的角度。 Buildpacks 在某种程度上正朝着 CNCF 内的毕业方向发展,我们预计它将在未来 6 到 12 个月内毕业。如果您作为一个社区可以提供任何支持,我强烈欢迎人们给它一颗星,提出重要问题,尝试该项目,看看如何使用它,并向我们提供有关该项目如何实施的反馈改善了。
我想稍微介绍一下 Korifi,它是用于创建和部署 Kubernetes 应用程序的平台。您能谈谈 Korifi 以及它如何与 buildpack 结合起来吗?
当然,我们看到大量构建包被消耗的主要领域之一是人们开始在 Kubernetes 上构建平台的工作。现在,无论是在 KubeCon 还是其他活动中,你看到的任何有关 Kubernetes 的讨论都非常复杂,并且已经被说了很多次了,有模因,有观点,等等。关于 Kubernetes 复杂程度的各种互联网亚文化。
这种复杂性的后果是,一些团队和公司已经开始提出一个平台,他们说要在其中使用 Kubernetes?那么,在 Kubernetes 上安装另一个底层,并从与开发人员的交互中抽象出许多 Kubernetes 内部结构。因此,这与这些年来 Cloud Foundry 的消息传递完美契合。人们希望在虚拟机上获得一流的自助式多租户体验,而他们今天也希望在 Kubernetes 上获得同样的体验,原因略有不同,但最终目标是开发人员需要能够实现这一目标他们最优化的速度。他们需要能够快速构建和更快部署,并不断将应用程序投入生产,同时折叠许多其他重要领域,例如,我们如何扩展它,以及我们如何保持负载平衡?我们如何配置网络和入口?
所有这些东西都应该落入一个平台中。因此,Korifi 是社区中出现的实际实现这种行为的工具,而 buildpack 非常适合这个世界。因此,通过使用 buildpack(我认为 Korifi 就像 buildpack 的主要消费者),他们实际上构建了一种能够将应用程序部署到 Kubernetes 上的体验,无论语言和系列如何,并利用所有这些 buildpack 功能。
我听到很多关于 Cloud Foundry 基金会的讨论,认为它有点过时了,也许 Kubernetes 正在寻求取代你们正在做的事情。那么你对此有何反应? Cloud Foundry 基金会在 Kubernetes 领域提供什么?
我的答案分为两部分或两方面。一方面,有技术方面的问题。另一方面,有一个社区和一个人性的角度来看待事物。工程师需要新工具、新事物、新基础设施以及新的工作方式和方式。因此,在更大的技术社区中发生的事情是,像 Cloud Foundry 这样足够完善的技术突然发现自己被降级为遗留技术和旧的做事方式,并且在某些情况下不够现代。
这就是人类的角度。因此,当人们开始关注 Kubernetes 时,当整个软件开发社区了解 Kubernetes 时,他们所做的就是以某种方式抓住这一新趋势,可以这么说,他们想搭上炒作列车。 Kubernetes 开始占据很多思维空间,现在,正如 Gartner 所说,你已经过了那个高期望阶段。现在您正在提高生产力,整个社区都渴望找到一种使用 Kubernetes 并降低复杂性的方法。
他们希望有一种非常方便的方式在 Kubernetes 上部署应用程序,同时不用担心网络、负载平衡、自动标量以及必须附加到应用程序的所有其他外围事物。
我认为这并不是开发人员只是想要新事物。我认为他们想要更好的工具和更有效的方式来完成他们的工作,这使他们能够自由地进行更多他们喜欢的创新,而不是陷入所有这些基础设施问题和你现在知道可以处理的事情中的。因此,我认为您所说的对于将 Cloud Foundry 定位为对开发人员在提高效率和能够按照他们想要的方式工作方面有用和有帮助方面非常重要。
嗯,是的,我原则上同意,这就是为什么我说 Cloud Foundry 和 Heroku 等其他一些公司,他们都完善了开发人员工作流程应有的体验。现在,开发人员很乐意采用新的工作方式,但问题是,当您走上获得这种效率和速度的道路时,您经常会无意中围绕自己构建许多固执己见的工作流程。因此,所有开发人员都会他们有一种非常具体的方式来实际创建部署并创建这些不可变的工件,他们将为自己建造一座堡垒,他们想成为城堡之王,庄园领主,但这确实是攻击许多心理形象以及因偏离该心理形象而产生的任何忧虑。目前,Kubernetes 似乎提供了构建、打包和部署应用程序的最佳方法之一,因为它可以完成许多不同的事情。
现在,如果你对 Cloud Foundry 在 2017 年的能力与 Kubernetes 目前的能力进行逐点比较,你会发现几乎是一样的。因此,就功能对等性而言,我们现在正处于一个阶段,在公共播客上说这可能会引起很大争议,但就功能对等性而言,Cloud Foundry 始终提供 Kubernetes 社区中可用的功能现在。
当然,现在 Kubernetes 设想以稍微不同的方式构建和部署应用程序,但将所有内容放入容器中并运送到容器编排器中,并提供应用程序所需的可靠性,并允许边车和服务以及多租户。
我坚信,即使在四五年前,Cloud Foundry 产品也相当引人注目,而 Kubernetes 在多租户和服务等方面仍然处于相当波涛汹涌的水域。但是,嘿,作为一个社区,他们正在做出色的创新。是的,我同意你的说法,工程师总是追求获得效率的最佳方式。