本地部署与云部署
App Connect 在 IBM webMethods Hybrid Integration在将工作负载从本地部署的 IBM® App Connect Enterprise 迁移到 之前,请先了解双方在职责、架构、配置和运行时行为方面的差异。
职责
App Connect 是一项完全托管的软件即服务( SaaS )解决方案。 IBM 负责提供和维护基础设施。 作为 App Connect 用户,您需对集成内容负责,包括设计和部署集成运行时及消息流。 您需与 IBM 共同负责集成运行时的创建、配置和升级。 通过这种责任共担模式,该服务会自动处理一些您之前需要手动处理的运维任务。 其他任务则通过服务 API 和用户界面进行管理。
如需了解更多信息,请参阅 《 webMethods Hybrid Integration 责任概述》。
解决方案架构
App Connect 该服务部署在 Amazon Web Services ( AWS ) 和 Microsoft Azure 上,并将管理功能与集成工作负载分离。 该服务提供了一个用于管理和内容创作的多租户控制平面。 数据平面通过为每个租户提供专用的运行时组件,实现工作负载隔离。 该服务部署在三个可用区中,从而提供了高可用性和自动故障转移功能。
运行时模型
在 App Connect Enterprise 的本地部署环境中,集成通常部署在由集成节点管理的集成服务器上。 在 App Connect 中,您可以创建一个或多个集成运行时 ,这些运行时在功能上等同于集成服务器。
App Connect 中的集成运行时基于容器且采用声明式设计,这意味着它们是通过预定义的运行时配置进行管理的。 在创建或更新运行时时,您需要定义一个合适的配置。 随后,该服务将采用蓝绿部署方法来配置或更新运行时环境。 采用这种方法,该服务会创建运行时的新版本,并在不影响处理的情况下将流量切换至该版本。
如需更多信息,请参阅 “创建运行时 ”。
运行时重启与数据对账
App Connect 在更新集成运行时或部署新集成时,采用零停机对账流程。
当您更新运行时配置或部署其他集成时,系统会根据更新后的配置创建一个新的运行时实例。 在新实例启动期间,现有运行时将继续处理请求。 当新实例准备就绪时,系统会将新请求路由至该实例,并有序地关闭之前的实例。 在关闭过程中,系统会向之前的运行时实例发送一个信号,使其能够在退出前完成正在处理的请求。 此行为可确保现有流程能够不受干扰地完成处理。 大多数流程都会在优雅关闭期间内完成。 不过,长期运行的流程可能会在完成之前被终止。
基于容器的部署
- 部署隔离
- 在容器部署中,集成组件通常会分组独立部署到各自的容器运行时中,而不是采用更传统的单一集中式
代理
部署模式。 这种方法虽有优势,但也需要注意规划方面的因素。 - 资源分配
- 每个运行时都会配置 CPU 和内存。 运行时会根据您的工作负载需求进行独立配置和扩展,从而控制资源消耗。
- 运行时版本控制
- 每个运行时都包含其专属的产品运行时,因此您可以针对不同的受支持版本创建运行时,并独立进行升级。
- 声明式配置
- 您应在将集成部署到运行时环境之前配置这些环境,而不是使用部署后的命令。
在迁移现有集成时,请决定如何对它们进行分组,并将其部署到 App Connect 中的集成运行时中。 一个常见的起点是镜像您现有的本地部署。 例如,您可以将集成服务器或执行组中的集成部署到单个运行时中。
App Connect 还支持更灵活的部署模式。 您可以根据工作负载特征、可用性要求、升级频率或成本考量等因素,将集成划分为多个运行时环境。 每种运行时都伴随着一定的成本,因此您必须在操作隔离与资源高效利用之间取得平衡。
配置映射与依赖关系
在本地环境中,集成运行时通常通过使用诸如 mqsichangeproperties 等命令,并依赖于主机系统上的文件(例如 ODBC 配置文件或密钥库)来进行配置。
- mqsichangeproperties
server.conf.yaml配置了您通常通过 App Connect Enterprise 命令进行的大部分设置,例如。 setdbparms.txt提供了有关 mqsisetdbparms 集成运行时需执行的命令的详细信息。Policy project在策略项目中创建策略,以在运行时控制消息流和节点的行为。Keystore并Truststore为运行时或消息流提供密钥库和信任库。Generic files提供供运行时或消息流引用的通用文件。
在迁移之前,请识别所有外部文件依赖项或运行时属性,并确保将其映射到相应的 App Connect 配置类型。
如需了解更多信息,请参阅 “配置类型 ”。
与本地系统的连接
- 端口转发
- 您可以配置端口转发,以便与私有网络中的应用程序和系统建立安全的连接。 App Connect 中的每个租户都配有一个专用的交换服务器 ,该服务器与 App Connect 中的运行时进行通信。 您在私有网络中下载并运行一个安全代理。 代理会与您服务实例关联的交换机服务器建立出站连接。 此连接支持双向数据传输,无需在防火墙上打开入站端口。 该连接通过双向 TLS 进行加密。
端口转发的一个常见场景是与本地环境中的数据库或 IBM MQ 进行交互。 不过,您也可以通过端口转发与其他网络或公有云中的应用程序和系统进行集成。
如需了解更多信息,请参阅 “通过交换机服务器连接到私有网络 ”。
- 可调用流
- 可调用流还利用 Switch 服务器将本地和 App Connect 上运行的流连接起来。 例如,您可以在私有网络中运行一个 App Connect Enterprise 流程,然后从托管在 App Connect 上的流程中直接调用该流程。 您可以将“可调用流输入”节点添加到流中,并使用交换服务器的连接详细信息将该流部署到运行时环境中。 该数据流随后会被注册,并可供连接到同一交换机服务器的其他数据流使用。 App Connect Designer 和 IBM App Connect Enterprise Toolkit 中均提供了可调用流程节点和连接器,从而使 Designer 流程能够调用 Toolkit 流程,反之亦然。 可调用流通常用于与 SAP 的集成,或者在您希望更贴近应用程序处理数据时使用。
如需了解更多信息,请参阅 “可调用流概述”。
- AWS PrivateLink
- AWS PrivateLink 在不使用公共IP地址或互联网的情况下,在 App Connect 与您的 Amazon Web Services ( AWS )账户中的虚拟私有云之间建立私有网络连接。 要使用 AWS PrivateLink ,您需要创建一个虚拟私有云(VPC)端点和一个Amazon Route 53私有托管区域。 数据通过 AWS 网络而非互联网进行私有传输。 App Connect 支持使用 AWS PrivateLink 进行收发通信。 通信是单向的,因此您必须为入站和出站流量分别建立连接。 AWS PrivateLink 的常见应用场景是在您的虚拟私有云中启用 AWS 服务,通过入站私有链接触发 App Connect 集成。 同样, App Connect 集成可以通过外向私有链接调用 AWS 服务。
如需了解更多信息,请参阅 《使用 AWS PrivateLink 连接到 AWS 服务 》。
如果您不使用安全代理,可以配置防火墙,以允许连接到您的私有网络,或连接到使用 IP 白名单的应用程序。 有关 App Connect 用于出站连接的 IP 地址列表,请参阅 《 webMethods Hybrid Integration 》文档中的 “出站 IP 地址” 部分。
可用性与扩展性
App Connect 该服务部署在每个区域内的多个可用区中,以提供高可用性和自动故障转移。 为了提高系统韧性,您可以配置多个集成运行时的副本。 该服务会尝试将副本分布在各个可用区中,如果某个可用区不可用,系统会自动重新调度运行时。
在规划迁移时,请审查集成组件的可用性要求,并在必要时配置多个运行时副本以满足这些要求。
升级行为与版本控制
IBM 负责管理底层 App Connect 平台的安装和升级。 您可以在创建运行时时,从支持的运行时版本中进行选择,从而控制每个集成运行时所使用的版本。
根据您选择的版本选项,当有新的修补程序包或更新版本发布时,运行时环境将自动进行升级。 请决定您是希望采用自动升级,还是希望拥有更大的控制权,以便在将新版本应用到生产环境之前进行测试。
如需了解更多信息,请参阅 “更新集成运行时版本 ”。
持续集成/持续交付(CI/CD)管道
App Connect API 提供了部署和管理集成及运行时所需的所有功能。 如需了解更多信息,请参阅 API 概述。
产品限制与行为差异
App Connect Enterprise 的本地部署中提供的某些功能,在 App Connect 中可能不可用,或者其行为有所不同。 一个例子是,基于容器的部署中缺少默认的本地队列管理器。 如需了解更多信息,请参阅 “已知限制 ”和 “导入的 BAR 文件中支持的资源 ”。