过去几年,开发团队一直在发展传统的 DevOps。一些开发人员认为,CloudOps 或 DeploymentOps 等新实践的兴起将会导致回到孤岛问题。其他人则不愿意在承担所有其他职责之外构建、部署、运行和维护运维。显然,确实需要新的云原生开发策略,而不是典型的 DevOps。这就是平台工程的用武之地。
人们对平台工程的兴趣日益浓厚。快速浏览一下 Google 趋势就会发现,过去 5 年“平台工程”的搜索流量增长了 900% 以上。Gartner 将其定义为2024 年顶级战略技术趋势之一。从这些趋势来看,平台工程将继续存在。这对于 API 开发人员来说是个好消息,因为平台工程作为一种通常涉及内部开发人员平台 (IDP) 的实践,特别适合以某些特定方式开发 API。
在我们了解平台工程如何支持 API 开发之前,先简单介绍平台工程的基础概念和定义。
平台工程是设计、维护和实施工具链和工作流的一门学科,旨在实现云原生时代的自助服务战略。开发人员无需学习第三方工具,而可以专注于产品和功能的交付。因此,这不仅利于提高工作效率,还不会浪费时间和精力,影响开发者体养。并且,还利于提高企业利润率和加强客户服务。
开发人员体验(DX)在技术的各个方面都越来越重要。优先考虑 DX 可以避免因使用不合适的工具而造成的预算损失和降低开发者体验。平台工程可让您准确设计和构建所需的工具。
与微服务等其他云原生架构一样,API 是将每个工具连接成统一整体的线路。因此,API 开发人员和平台工程师经常紧密合作,因为每个组件以最高效率运行对于拥有成功的基础架构至关重要。
设计 IDP 时,请确保平台工程师彻底了解您将使用的 API。在 API 文档中指明 API 是否将使用 REST、GraphQl 或 gRPC,以确保平台可以与 API 交互。在 API 开发方面,请考虑您的 API 是否能够在发生事件通知时接收来自第三方应用程序的通知。
API 是云原生技术爆炸式增长的最大原因之一,因为它们允许将各个组件以灵活的方式连接在一起。迄今为止,像 Kubernetes 这样基于容器的系统已经成为云原生系统的行业标准。然而,定制 Kubernetes 的 API 很麻烦,而且可能效果并不理想,因为它需要对其 API 有高度的了解。通过平台工程,您可以为设计和开发内部 API设置防护机制,消除此类障碍。
创建企业专属的 IDP 可大大提高开发人员查找所需 API 的能力。它们的功能类似于 API 目录,可让您跟踪所有内部 API 以及您使用的任何第三方 API。这与一般的平台工程有着类似的效果,因为它可以减少因服务发现不力而造成的工作浪费,从而有助于节省时间、金钱、精力和努力。
API 管理工具和平台,变得越来越流行,例如 API Gateways。因为它们通过一个集中门户处理从 API Discovery 到提高 API 安全性的所有事务。创建您自己的平台可让您根据需要查找、保护和使用 API。这也降低了由于无法找到现有 API 而导致冗余工作的风险。
持续集成/持续部署(CI/CD)已成为最流行的自动化各种流程(从产品测试到部署)的架构之一。CI/CD 流水线的基本构建块包括分析静态代码、单元测试、部署和测试以确保集成正常运行。手动完成所有这些都会使整个过程既耗时又不切实际。API 集成使您可以从开发环境控制和监控所有这些流程。
一旦您建立了用于创建 API 的生态系统和工作流程,就可以轻松创建自定义材料以加快开发流程。API 可以通过各种方式增强模板和自定义工作流程。例如,您可以创建一个模型工作流程,其中已设置所有必要的 API。也可以创建 CI/CD 流水线模板,帮助您更好地进行部署和测试。
上述就是平台工程促进 API 开发流程的几种方式。自主开发的平台可以使您的 API 开发环境比开箱即用的解决方案更加可定制。考虑到 API 发现和 API 安全性的提升,人们有充分的动力去尝试平台工程和 API 开发。