解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
本文提供了一种解决方案,用于自动执行在企业各种类型的服务器和系统上运行的工作负载。 该解决方案在 Azure 的 Kubernetes 配置中使用来自 SMA Technologies 的 OpCon。 从单个自动化控制点,OpCon 可促进整个企业的工作流(本地和 Azure 中)。
体系结构
下载此体系结构的 Visio 文件。
工作流
OpCon 容器提供核心服务,这些服务部署在 Azure Kubernetes 服务 (AKS) 中。 这些核心服务包括解决方案管理器,这是一个基于 Web 的用户界面。 用户可以使用解决方案管理器与整个 OpCon 环境进行交互。 除其他组件外,环境还包括:
- 用于存储日志和配置信息并在容器重启之间提供数据持久性的永久性卷。 对于这些卷,解决方案使用 Azure 文件存储,这是在
StorageClass
值中配置的。 - OpCon 数据库。
- 运行工作负载的虚拟机 (VM)。
- 用于存储日志和配置信息并在容器重启之间提供数据持久性的永久性卷。 对于这些卷,解决方案使用 Azure 文件存储,这是在
该解决方案使用 Azure SQL 数据库作为 OpCon 数据库。 核心服务可以通过 Azure 专用链接专用终结点访问此数据库。
OpCon 核心服务使用 OpCon 连接器技术与存储交互并管理 Azure Blob 存储中的数据。 OpCon 托管文件传输还支持存储。
应用程序子网包含提供全面文件传输功能的 OpCon 托管文件传输服务器。 功能包括压缩、加密、解密、解压缩、文件监视和企业级自动文件路由。
Azure VM 构成应用程序基础结构。 这些 VM 在子网和虚拟网络中的放置非常灵活。 有关详细信息,请参阅组件放置。
- 若要管理这些 VM 和本地旧系统上的工作负载,OpCon 核心服务与 VM 上安装的 OpCon 代理通信。 核心服务通过虚拟网络网关上的站点到站点连接与本地系统通信。
- OpCon 核心服务直接与提供 REST API 终结点的应用程序通信。 这些应用程序不需要额外的软件来连接到核心服务。 对于本地系统,通信使用 REST API 连接选项,并通过虚拟网络网关传输。
在混合环境中,网关子网使用站点到站点 VPN 隧道来帮助保护本地环境和 Azure 云环境之间的连接。
网关包括 Azure VPN 网关与本地 VPN 设备之间的跨界 IPsec/IKE VPN 隧道连接。 在 Azure 云和本地环境之间传递的所有数据在通过 Internet 时,都会在此站点到站点专用隧道中加密。
本地环境中的本地网络网关表示隧道本地端的网关。 本地网络网关保存构建 VPN 隧道以及从本地子网路由流量或将流量路由到本地子网所需的配置信息。
所有用户请求都通过网关连接路由到 OpCon 核心服务环境。 通过该访问权限,用户与解决方案管理器交互,以便:
- OpCon 管理。
- OpCon 托管文件传输管理。
- OpCon 工作流开发、执行和监视。
- 自助服务,用于运行任务的 OpCon 接口。
- Vision,OpCon 任务仪表板。
- OpCon 托管文件传输中心应用程序,一个仪表板和查询应用程序。
OpCon 代理和应用程序 REST API 终结点安装在本地环境中的旧系统上。 OpCon 核心服务使用虚拟网络网关上的站点到站点连接来与这些代理和终结点通信。
在整个解决方案中,可以使用网络安全组来限制子网之间的流量流。
组件
Azure 虚拟机 是 Azure 提供的按需分配可缩放的计算资源之一。 Azure VM 让你能够灵活地实现虚拟化,但无需再维护物理硬件。 使用 Azure,可以选择 Windows 或 Linux VM。
Azure 虚拟网络是 Azure 中专用网络的基本构建基块。 借助虚拟网络,Azure 资源(如 VM)能够以安全方式相互通信,也可以与 Internet 和本地网络通信。 Azure 虚拟网络类似于在数据中心运行的传统网络。 此外,Azure 虚拟网络还提供了 Azure 基础结构的可伸缩性、可用性、隔离等其他权益。
专用链接提供虚拟网络中的专用终结点。 你可以使用专用终结点连接到 Azure 平台即服务 (PaaS) 服务(例如存储和 SQL 数据库),或者连接到客户或合作伙伴服务。
存储可为所有数据、应用程序和工作负载提供高度可用的可缩放安全云存储。
Azure 文件存储是存储中的一种服务。 Azure 文件存储在云端提供完全托管的文件共享,这些共享可通过行业标准的服务器消息块 (SMB) 协议进行访问。 Azure 文件共享可由云或者 Windows、Linux 和 macOS 客户端的本地部署同时装载。
Blob 存储是 Azure 存储中的一项服务。 Blob 存储提供针对大量非结构化数据进行了优化的云对象存储。 此服务非常适合高性能计算、机器学习和云原生工作负载。
VPN 网关是特定类型的虚拟网络网关。 可以使用 VPN 网关传输加密流量。 该流量可以通过公共 Internet 在 Azure 虚拟网络和本地位置之间流动。 它还可以通过 Azure 主干网络在 Azure 虚拟网络之间流动。
Azure ExpressRoute 可通过连接服务提供商提供的专用连接将你的本地网络扩展到 Microsoft 云。 使用 ExpressRoute 可与 Microsoft Azure 和 Microsoft 365 等云服务建立连接。
Azure Site Recovery 有助于保持业务应用和工作负载在停机期间的正常运行,从而确保业务连续性。 Site Recovery 可以将物理计算机和 VM 上运行的工作负载从主站点复制到辅助位置。 当主站点发生停机时,你可以故障转移到辅助位置并从该位置访问应用。 在主位置再次运行后,可以故障回复到该位置。
Azure SQL 是一系列由 SQL Server 引擎提供支持的 Azure 数据库。 Azure SQL 包括 Azure 虚拟机、Azure SQL 托管实例和 SQL 数据库上的 SQL Server。
SQL 数据库是一个完全托管的 PaaS 数据库引擎,具有 AI 支持的自动化功能。 OpCon 后端可以使用 SQL 数据库来管理 OpCon 条目。
SQL 托管实例是一种可缩放的智能云数据库服务,它将最广泛的 SQL Server 引擎兼容性与完全托管且经久不衰的 PaaS 的所有优势相结合。 OpCon 后端可以使用 SQL 托管实例来管理 OpCon 条目。
OpCon 核心服务在 Kubernetes 副本集中的 Linux 容器中运行。 此解决方案对 OpCon 数据库使用 SQL 数据库。
OpCon 自助服务是一种基于 Web 的实现,它为用户提供了一种在 OpCon 环境中运行按需任务和(可选)输入参数的方法。
OpCon Vision 提供了一个用于监视 OpCon 任务的仪表板。 仪表板显示所有流中任务的逻辑表示形式。 Vision 使用标记将关联任务组合在一起。 出现问题时,可以从仪表板向下钻取到失败的任务。 Vision 还提供了一种为每个组设置 SLA 值的方法。 当可能无法满足定义的 SLA 值时,仪表板会发出预警。
OpCon 托管文件传输在 OpCon 环境中提供托管文件传输服务。 OpCon 托管文件传输解决方案使用集成的托管文件传输代理和文件传输服务器在整个企业中提供文件传输和监视功能。
备选方法
以下部分介绍了实施解决方案时要考虑的替代方案。
组件放置
VM 和 OpCon 数据库的放置非常灵活。
- 应用程序子网可以包含应用程序 VM。 还可以在多个子网或虚拟网络中安装应用程序服务器。 如果要为不同类型的服务器(例如,Web 服务器和应用程序服务器)创建单独的环境,请使用此方法。
- 可以将数据库放置在 OpCon 子网内部或外部。
SQL 托管实例
可以使用 SQL 托管实例作为 OpCon 数据库,而不是使用 SQL 数据库。 可以在 OpCon 子网中安装 SQL 托管实例。 或者,可以在单独子网中安装托管实例,该子网专用于现有虚拟网络中的 SQL 托管实例。
ExpressRoute
可以使用 ExpressRoute(其使用连接提供程序与 Microsoft 全球网络建立专用连接),而不是使用 VPN 网关和站点到站点 VPN 隧道。 ExpressRoute 连接不经过公共 Internet。
对于运行需要高度可伸缩性和复原能力的大规模业务关键型工作负载的混合应用程序,建议使用 ExpressRoute。
方案详细信息
促进工作负载的核心 OpCon 模块是计划活动监视器 (SAM)。 此模块与目标系统上的代理通信,以计划和监视任务。 SAM 还会接收外部事件。 可以在以下平台上安装 OpCon 代理:
- Windows
- Linux 或 Unix
- Unisys ClearPath Forward 大型机(MCP 和 2200)
- IBM z/OS
- IBM AIX
SAM 将各种平台整合在一个自动化保护伞下。
可以在 Azure 云环境中安装 OpCon。 OpCon 支持仅限云的基础结构以及包含云和本地系统的混合基础结构。
OpCon 软件可从 Docker Hub 作为 Docker 映像提供,可在云环境中部署。 对于 Azure 云,此解决方案使用 AKS 在 Kubernetes 群集中部署 OpCon 环境。 SQL 数据库用作数据库。
对于混合环境,VPN 网关提供云基础结构与本地基础结构之间的安全链接。
该实现使用单个虚拟网络和多个子网来支持各种功能。 可以使用网络安全组来筛选虚拟网络中的 Azure 资源之间的网络流量。
AKS 配置
部署的 OpCon 环境由单个副本集中的两个 Pod 和一个 SQL 数据库实例组成。 负载均衡器控制对 Pod 的访问。 负载均衡器将外部地址和端口映射到内部 REST API 服务器地址和端口。
下图显示了具有两个 Pod 的环境的配置要求:OpCon 和 Impex2。 此图还显示了 Kubernetes 配置 YAML 文件中各种定义之间的关系。
下载此体系结构的 Visio 文件。
下表提供了有关每个定义的详细信息。
种类 | 值 | 说明 |
---|---|---|
Secret |
dbpasswords | 包含连接到 OpCon 数据库所需的数据库密码。 |
ConfigMap |
opcon | 包含 OpCon REST API 信息、时区和语言信息。 还包含 OpCon 数据库信息,例如地址、数据库名称和数据库用户。 |
ConfigMap |
impex | 包含 Impex2 REST API 信息。 还包含 OpCon 数据库信息,例如地址、数据库名称和数据库用户。 |
PersistentVolumeClaim |
opconconfig | 包含各种 .ini 文件和 OpCon 许可证文件。 |
PersistentVolumeClaim |
opconlog | 包含与 OpCon 环境关联的日志文件。 |
PersistentVolumeClaim |
impexlog | 包含与 Impex2 环境关联的日志文件。 |
ReplicaSet |
opcon | 指定引用以前定义的 Secret 、ConfigMap 和 PersistentVolumeClaim 定义的 OpCon 和 Impex2 容器。 |
Service |
loadbalancer | 定义 OpCon 和 Impex2 REST 服务器的内部 REST API 端口到外部地址和端口的映射。 |
可能的用例
各种场景可以从此解决方案中获益:
- 跨整个 IT 企业的工作负载自动化和业务流程
- 灾难恢复自动化
- 跨平台文件传输
- IT 环境操作
- 批处理计划
- 运行自助服务自动化工作流
- 服务器更新自动化和部署
- 修补程序管理自动化和部署
- Azure 资源的预配和解除自动化
- 从单个接口监视整个 IT 环境
- 编码可重复或按需流程
部署此方案
可以使用以下模板在 AKS 群集中部署 OpCon 环境。
#
# Full OpCon deployment for Kubernetes
#
# This deployment uses Azure SQL Database.
#
apiVersion: v1
kind: Secret
metadata:
name: dbpasswords
stringData:
saPassword: ""
dbPassword: ""
sqlAdminPassword: ""
dbPasswordEncrypted: ""
---
# OpCon environment values
apiVersion: v1
kind: ConfigMap
metadata:
name: opconenv
data:
DB_SERVER_NAME: "sqlopcon.database.windows.net"
DATABASE_NAME: "opcon"
DB_USER_NAME: "opconadmin"
SQL_ADMIN_USER: "opconadmin"
API_USES_TLS: "true"
CREATE_API_CERTIFICATE: "true"
DB_SETUP: "true"
TZ: "America/Chicago"
LANG: "en_US.utf-8"
LICENSE: ""
---
# Impex environment values
apiVersion: v1
kind: ConfigMap
metadata:
name: impexenv
data:
opcon.server.name: "sqlopcon.database.windows.net"
opcon.db.name: "opcon"
opcon.db.user: "opconadmin"
web.port: "9011"
web.ssl: "true"
system.debug: "false"
TZ: "America/Chicago"
LANG: "en_US.utf-8"
---
# OpCon persistent storage for configuration information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: opconconfig
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# OpCon persistent storage for log information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: opconlog
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# Impex persistent storage for log information
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: impexlog
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
# OpCon and deploy pods in a single replica set
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: opcon
spec:
replicas: 1
selector:
matchExpressions:
- key: app
operator: In
values:
- opconservices
template:
metadata:
labels:
app: opconservices
spec:
containers:
- env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: dbpasswords
key: dbPassword
- name: SQL_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: dbpasswords
key: sqlAdminPassword
envFrom:
- configMapRef:
name: opconenv
image: smatechnologies/opcon-server:22.0-latest
name: opcon
ports:
- containerPort: 443
protocol: TCP
volumeMounts:
- name: opconconfig
mountPath: /app/config
- name: uat-opconlog
mountPath: /app/log
- env:
- name: opcon.db.password
valueFrom:
secretKeyRef:
name: dbpasswords
key: dbPasswordEncrypted
envFrom:
- configMapRef:
name: impexenv
image: smatechnologies/deploy-impex2:22.0-latest
name: impex
volumeMounts:
- name: impexlog
mountPath: /app/log
hostname: opcon
volumes:
- name: opconconfig
persistentVolumeClaim:
claimName: opconconfig
- name: opconlog
persistentVolumeClaim:
claimName: opconlog
- name: impexlog
persistentVolumeClaim:
claimName: impexlog
---
# OpCon service
apiVersion: v1
kind: Service
metadata:
name: lbopcon
spec:
type: LoadBalancer
ports:
- name: apiport
port: 9010
targetPort: 443
- name: impexport
port: 9011
targetPort: 9011
selector:
app: opconservices
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
- Philip Brooks | 高级项目经理
- Bertie van Hinsbergen | 首席自动化顾问
若要查看非公开领英个人资料,请登录领英。
后续步骤
有关此解决方案的详细信息:
- 请联系 legacy2azure@microsoft.com。
- 请联系 SMA。 SMA Technologies 是 Microsoft 金级合作伙伴,是 IT 自动化领域的领导者。 SMA 专门致力于通过自动化流程、应用程序和工作流,将时间回馈给客户及其员工。