什么是 Azure API 中心?

已完成

Azure API 中心是 Azure 上的一项新服务,它提供了所有组织 API 的结构化和集中式存储库,可实现统一的跟踪、发现、重用和治理。 API 中心是一种安全解决方案,可为你的 API 运行时将所有 API 与任何元数据或 API 相关信息整合和组织在一起,无论 API 的类型、开发生命周期阶段或部署位置如何。

显示 Azure 上的 Azure API 中心登陆页的屏幕截图。

API 中心的优势

客户问题 API 中心的优势
API 可发现性和重用性差 易于发现和使用 API。 API 管理员可以在 Azure 门户中查看所有 API 的完整清单。 API 使用者可以使用基于 Web 的 API 中心门户来发现和使用 API,或使用 Visual Studio Code 的 API 中心扩展来构建、发现和使用 API。
影子、未受治理的 API API 的集中清单。 API 中心允许组织构建来自不同团队和部门的 API 的中心存储库,用于充当所有 API 的统一事实和信任来源。
潜在的安全威胁 轻松治理 API。 将 API 整合到一个位置后,API 平台团队可以更轻松地治理这些 API 以强制实施组织安全策略。
API 设计不一致 自动化的 API 设计符合性检查。 API 中心允许管理员在所有 API 中强制实施设计标准,并实现 Lint 分析工作流,该工作流会根据定义的样式指南检查 API,并生成可在 API 中心访问的 API 合规性报告。

API 生态系统角色和职责

组织的 API 生态系统通常由不同角色组成,它们具有不同的职责,这些职责是成功运营不可或缺的一部分。 让我们仔细了解一些角色。

  1. API 生产者 - 这些可能是个人开发人员或团队,其主要职责包括:

    • 整合系统规范和要求
    • 设计符合定义的目标的 API 体系结构
    • 开发、保护和发布 API
    • 测试和确保 API 满足功能和性能要求
    • 记录 API
    • API 维护操作,包括管理版本和更新

    API 生产者努力确保遵循最佳做法、安全性和合规性策略,以及组织的 API 标准,以确保一致性。 他们还需要确保他们不会重复组织内以前/其他团队的工作。

  2. API 使用者 - 这些可能是 API 的内部或外部用户,他们:

    • 在其内部业务工作流和服务中使用专用 API(内部使用者)
    • 使用受限的 API 终结点集成到战略业务伙伴关系中(合作伙伴使用者)
    • 使用公开可用的 API 构建使用组织提供的服务的外部系统(第三方使用者)

    API 使用者需要确保他们快速发现最适合其工作负载的 API,以避免浪费宝贵的开发资源和重复工作。 为了实现这一目标,他们必须获得高质量和易于使用的文档来验证解决各自需求并可无缝集成到其应用程序中的 API。

  3. API 平台团队 - API 平台工程师负责为其组织创建和维护可缩放、安全且高性能的 API 体系结构。 他们的一些任务可能包括:

    • API 体系结构设计和开发
    • 在整个组织中建立并强制实施 API 最佳做法和设计标准
    • 强制实施监视、分析和报告以生成可操作见解
    • 通过身份验证、授权和加密协议实现和管理 API 安全性
    • 促进产品经理、API 制作者和使用者之间的协作和反馈,以符合 API 策略
    • 协助在内部和外部进行 API 集成和故障排除

Contoso 的 API 平台工程师共同努力,推出了一种易于采用的策略,以防止组织遇到 API 泛滥问题。

API 中心的工作原理

组织中的 API 平台工程师需要使用快速而简单的方法来配置其所有 API(内部和外部)以及任何其他元数据(如 API 版本、定义等)的集中式存储库。 借助 API 中心,可以创建在不同的 API 管理解决方案中托管和管理的 API 的目录,并跨不同的设计、开发、测试和生产生命周期管理它们。

显示 API 中心组件的概述的屏幕截图

Azure API 中心的功能

API 清单

API 中心的基础是构建在整个组织中生成和使用的所有 API 的完整且最新的清单。 此清单是大规模启用 API 治理、发现和使用的关键。

借助 API 中心,可以向库存添加 API,而不用考虑:

  • API 技术与语言:ASP.NET Core Web API、Express、FastAPI、无服务器 API 等。
  • API 类型:REST、GraphQL、SOAP、gRPC、WebSocket、WebHook 等。
  • 运行时环境:Kubernetes 群集、Web 应用、API 管理、Apigee API 管理、Azure Functions 等。

API 治理

现在,有了完整的 API 清单后,我们需要研究如何确保这些 API 是一致的、标准化的、可用的、安全的。 API 治理的定义是跨所有组织 API 大规模定义和应用标准、策略和流程的做法。

API 中心的此功能使用版本、所有者、生命周期和流程跟踪(如合规性评审、中断性变更检测等)等元数据简化了 API 的跟踪。

API 中心还提供围绕 API 设计治理的工具,这些工具支持使用 Spectral JSON/YAML Linter 实现的 Lint 分析,确保已注册的 API 符合组织的样式规则,并为 API 提供分析功能。 为组织启用此功能有助于提前检测错误和不一致的情况,方法是生成可在 API 中心查看的合规性报告。

当开发人员支持时,API 平台的工作才能取得最大的成功。 Visual Studio Code 的 API 中心扩展为中断性变更检测和 API 设计治理提供了左移 API 治理功能,以确保第一次就能正确构建 API。

显示 API 中心的 API 分析的屏幕截图

API 发现和使用

API 中心通过与常用的开发人员工具(如 Visual Studio Code)集成来简化整个 API 开发生命周期,从而提升开发人员体验。 API 中心扩展为 API 使用者提供了一种体验,即直接在 Visual Studio Code 中发现、试用和使用 API,与他们已有的工作方式保持一致。 API 中心的另一项功能是基于 Web 的传统 API 中心门户,旨在使 API 使用者能够轻松地从 API 目录中导航文档,发现、访问、使用 API。

显示 API 中心基于 Web 的门户的屏幕截图

在下一单元中,你将了解如何通过 Azure 门户使用 API 中心、在本地使用 Azure CLI 或在 VS Code 中使用 API 中心扩展来创建和管理 API 清单。