多云平台环境集成方案

    作者:匿名更新于: 2023-03-24 00:06:30

      在这篇文章中,我们将了解 AWS、GC和 Azure 提供的顶级集成服务,以及每项服务的优缺点。

      ​在我们进入细节之前,让我们回答这个问题:“什么是云集成架构?” 云集成架构是云组件和多个云提供商的组合,允许跨多个数据中心交换数据。

      例如,假设我们有一个大型银行解决方案。一些银行不想迁移他们的核心和安全数据。他们希望将其保存在本地数据中心。但是,他们无法避免使用云。他们将现有项目、正在启动的新项目,甚至整个呼叫中心和后台办公室迁移到云端。构建这种复杂的架构需要了解云提供的集成服务和工具。

      让我们看看 AWS、Google Cloud 和 Azure 提供了哪些组件。

      通用集成服务

      了解一般的云集成最佳实践和模式至关重要。但是,了解每个云提供商提供的具体内容也很重要。在这里,我们将深入了解 AWS、Google Cloud 和 Azure 提供的顶级集成服务。此外,我们还会了解每项服务的优点和缺点。

      AWS

      AWS 有多种集成服务,提供强大的功能和简单性。

      SQS(简单队列服务)

      SQS是一种简单的查询服务或分布式排队系统。它是一个队列,用于存储应稍后处理的消息。SQS 是一种基于拉取的服务,允许云组件和微服务解耦。

      优点:

      包括死信队列:自动分离未处理的消息并推入死信队列

      标准队列和 FIFO 之间的选择

      自动重复删除:SQS 会自动检测并删除重复的消息。

      缺点:

      不支持一对多消息广播

      SWF(简单工作流服务)

      SWF是一种任务协调和工作流服务。它允许构建并行和顺序工作流。它允许构建一个可靠的分布式系统,其中任务是应用程序的逻辑单元或功能。SWF 适用于处理基于人工的操作,如订单工作流或程序请求。

      优点:

      可靠性:工作流和状态跟踪在高可用性数据中心运行时是可靠的

      灵活性和逻辑分离:SWF 允许架构师和用户轻松修改工作流元素。此外,SWF 将后台作业的控制流分开

      缺点:

      AWS 管理控制台中存在很多错误,并且缺乏一般支持

      设置过程很困难,需要很多时间

      缺乏限制控制跟踪:可能导致节流问题

      AWS 步骤功能

      AWS 步骤函数允许我们创建无服务器工作流或状态机;例如,自动化呼叫中心任务。Step Functions 是一种编排其他 Lambda 函数的编排函数。

      优点:

      通过将工作流逻辑与业务逻辑分离来降低应用程序的复杂性

      缺点:

      Step Functions 使用特定的状态机来定义工作流,仅对 Step Functions 服务有帮助。这可能会导致供应商锁定。

      谷歌云(GC)

      GC 有一个集成生态系统,一个集成平台即服务 (iPaaS)。它提供了一组工具和服务来管理和连接应用程序。Google Cloud iPaaS 包含以下服务:

      Integration designer

      Integration designer是一种无代码 UI 工具,能够构建由触发器和任务组成的工作流(见下文)。任务和触发器通过边和fork 和 join连接。该服务看起来与 SWF 非常相似。

      触发器Triggers

      触发器Triggers是必不可少的工作流元素。触发器通常是工作流的入口点,代表启动任务的事件。例如,API 触发器或发布/订阅触发器。

      任务Tasks

      任务Tasks是触发器之后的工作单元(或函数)。一个例子是数据映射,您可以在其中将一个数据模型集成到另一个数据模型中。一些预定义任务包括Call Integration任务、For Each Parallel任务、For Each Loop任务、Timer任务等等。

      除了许多优点外,Google Cloud 也有一些缺点:

      与 Azure 和 AWS 相比缺乏数据中心

      这是一个相对较新的框架。某些功能可能处于预览版(或测试版)并包含一些错误。

      Azure

      Azure 提供了一个 Azure 集成服务集。它包含多种服务以在应用程序之间建立强大的集成。以下是 Azure 提供的一组最强大的集成服务。

      API管理

      API 管理是一种 API 网关服务,它集成了多个 API 并连接 Azure Functions、逻辑应用程序和服务总线。

      优点:

      API 管理提供许多功能,如身份验证、授权、缓存响应以及细粒度配额和限制。

      通过 API 策略灵活定制

      缺点:

      开发人员门户包含许多可用性问题和错误。

      扩展成本可能太高。API管理自动扩展;但是,在缩放成本方面没有很好的透明度。

      逻辑应用

      Logic Apps是一种无服务器、低代码的工作流集成工具(类似于 GC Integration designer 和 AWS SWF)。

      优点:

      该服务可以连接 SQL Server、Event Grid、Oracle、ServiceNow 和 Office 365。我们可以选择 200 多个连接器。

      能够在本地托管地图和模式

      缺点:

      难以管理和维护复杂的集成工作流

      用户界面问题,尤其是复杂的工作流程

      服务总线

      服务总线是实现事件总线模式的服务。当一个组件产生一条消息,而其他组件使用它时,它提供了一种基于队列和发布/订阅集成原理的事件总线。

      优点:

      该服务还支持翻译、死信、多消费者基于主题的逻辑和其他功能。

      强大的消息路由和过滤功能

      缺点:

      HTTPs 连接性能缓慢

      监控消息、队列和主题的选项非常有限

      没有用于调试消息、查询和过滤器的集成 UI 工具

      事件网格

      通过事件网格,您可以加入产生事件的云资源(发布者)和处理事件的资源(订阅者)。事件网格看起来类似于AWS SNS。它也是基于推送方法。事件网格侦听来自一个组件的事件,并可以在保留消息时触发其他组件。例如,一个应用程序可以向 Azure 队列发送消息和电子邮件通知。

      优点:

      企业集成:支持几乎所有的Azure事件源;例如,函数、事件/IoT 中心、逻辑应用程序、服务总线、SignalR 等等

      包含用于监视和调试消息的选项

      包括自动死信队列

      成本更低:按事件付费的价格模型导致成本非常低。

      缺点:

      可以提高有关如何存储和启用死信的透明度。

      Azure Arc

      Azure Arc是一项服务,它允许我们连接来自不同云提供商的服务并实现多云集成。该服务将作为银行多云应用程序的主要集成服务。

      优点:

      支持 SQL Server 和 Kubernetes 等服务

      支持Windows和Linux操作系统

      缺点:

      有时,代理连接可能不稳定且难以调试。

      结论

      在本文中,我们介绍了用于构建云集成的顶级组件。然而,集成解决方案不必是企业级的:它们可以是多管齐下甚至是小型的。例如,我们的应用程序 A 需要在应用程序 B 之间交换数据。我们可以使用Azure Durable Functions或 AWS Step Functions 创建集成中间件。通过这些服务,我们可以为数据映射、通知甚至一些简单的分析创建工作流。

      来源: 今日头条

        >>>>>>点击进入计算专题

云计算 更多推荐

课课家教育

未登录