【问题标题】:Distributed App Services in Azure - API Management, Service Fabric, ASE, Application Gateway?Azure 中的分布式应用服务 - API 管理、Service Fabric、ASE、应用程序网关?
【发布时间】:2018-08-14 07:02:25
【问题描述】:

我计划拥有一些 Azure 应用服务 API 应用,其中一些应该可以通过单个根 URL 公开访问(两个客户端应用),并且这些应用用于连接到的内部服务strong> 可公开访问。

我研究了 Azure 上的各种选项,包括:

Azure API Management

Azure Application Gateway

Azure Service Fabric Mesh

Azure App Service Environments

Ocelot

Azure Function Proxies

我似乎找不到明确满足我要求的解决方案(我觉得这真的很混乱):

  1. 外部客户端的单一 URL 根
  2. 内部服务之间的连接 (REST)
  3. 基于无服务器架构
  4. 支持应用服务 API 应用和可能的 Azure Functions
  5. 安全
  6. 可扩展

非常感谢任何帮助或建议!

谢谢

【问题讨论】:

    标签: azure azure-service-fabric azure-api-management azure-app-service-envrmnt azure-application-gateway


    【解决方案1】:

    您的问题太宽泛,很难给出涵盖所有这些项目的好答案。 我将添加我的 2 美分并指导以下信息,以详细说明正确的问题:

    我认为您的决定面临 3 个主要挑战:

    • 应用平台
    • 负载平衡和访问管理
    • 服务间通信

    你不能有一个涵盖所有这些主题的单一决定,因为对一个主题的决定会影响其他主题:

    首先,我建议您决定哪个应用程序平台更适合您的服务,在 Functions、AppService 和 Service Fabric Mesh 之间做出决定是一个艰难的决定,这里的一个单一答案不足以提供正确的信息。

    在您的选项中,您缺少容器,这是 Service Fabric Mesh 的基础,如果容器是一个选项,您还必须在许多其他平台上增加您的列表。

    你的决定将是艰难的:

    • 功能
    • AppService API
    • Service Fabric 网格
    • Azure 容器实例
    • 容器的 Web 应用程序
    • Kubernetes (AKS)

    可扩展性与每个应用程序相关,一种解决方案可能在一个平台上可扩展,而其他解决方案则不能,您必须针对每个应用程序评估您的应用程序设计。

    一旦你选择了正确的,服务到服务的通信将是下一步,每个平台都有一种比其他平台更有效的方法。

    一旦您对这两个问题有了答案,您就可以决定选择哪个代理\网关来处理负载平衡和访问管理,并且根据您上面的选择,Azure API 管理或 Azure 应用程序网关可能不是一个好的选择选项,但您可以使用其他选项。

    【讨论】:

    • 非常感谢 Diego - 非常有帮助!如果使用起来很简单,我们正在考虑容器化,这就是我包含 Service Fabric Mesh 的原因,因为据我所知,它处理补丁、更新等。我目前正在研究 API 管理背后的 Azure Functions。
    【解决方案2】:

    Azure API 管理是在一项服务中聚合和管理来自多个后端的 API 的绝佳选择。您可以观看this recording 以更好地了解它。

    它支持从 Azure Function Apps 导入,并与 Service Fabric 原生配合使用。您可以使用 auth 或 use a virtual network setup 保护您的后端服务以将其隐藏在 Internet 之外。

    【讨论】:

    • 感谢您提供信息和 API 管理链接。第二个链接是否也需要应用程序网关?或者这可以仅通过 API 管理来实现吗?
    • 这仅适用于您想在虚拟网络中使用它并通过应用程序网关控制所有流量。否则,您可以只在虚拟网络之外拥有一个 API 管理实例,它仍会执行所有必要的操作。
    猜你喜欢
    • 2019-02-14
    • 2023-03-11
    • 1970-01-01
    • 2020-09-01
    • 2018-10-17
    • 2018-02-07
    • 2016-09-30
    • 2020-01-29
    • 2017-05-13
    相关资源
    最近更新 更多