Ideas de solución
En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.
En este artículo se presenta una solución para automatizar cargas de trabajo que se ejecutan en varios tipos de servidores y sistemas de una empresa. La solución usa OpCon de SMA Technologies en una configuración de Kubernetes en Azure. Desde un único punto de control de automatización, OpCon facilita los flujos de trabajo en toda la empresa, tanto en el entorno local como en Azure.
Architecture
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
Un contenedor de OpCon proporciona servicios principales, que se implementan en Azure Kubernetes Service (AKS). Estos servicios principales incluyen el Administrador de soluciones, una interfaz de usuario basada en web. Los usuarios pueden interactuar con todo el entorno de OpCon mediante el Administrador de soluciones. Además de otros componentes, el entorno incluye:
- Volúmenes persistentes que almacenan registros e información de configuración y proporcionan persistencia de datos a través de reinicios del contenedor. Para estos volúmenes, la solución usa Azure Files, que se configura en el valor
StorageClass
. - Base de datos de OpCon.
- Máquinas virtuales (VM) que ejecutan cargas de trabajo.
- Volúmenes persistentes que almacenan registros e información de configuración y proporcionan persistencia de datos a través de reinicios del contenedor. Para estos volúmenes, la solución usa Azure Files, que se configura en el valor
La solución usa Azure SQL Database como base de datos de OpCon. Los servicios principales tienen acceso a esta base de datos a través de un punto de conexión privado de Azure Private Link.
Los servicios principales de OpCon usan la tecnología de conectores de OpCon para interactuar con Azure Storage y administrar datos en Azure Blob Storage. OpCon Managed File Transfer también proporciona compatibilidad con Storage.
La subred de aplicaciones contiene un servidor de OpCon Managed File Transfer que proporciona una amplia funcionalidad de transferencia de archivos. Entre las funcionalidades se incluyen la compresión, el cifrado, el descifrado, la descompresión, la inspección de archivos y el enrutamiento automatizado de archivos de nivel empresarial.
Las máquinas virtuales de Azure componen la infraestructura de la aplicación. La selección de ubicación de estas máquinas virtuales en subredes y redes virtuales es flexible. Para obtener más información, consulte Selección de ubicación de componentes.
- Para administrar cargas de trabajo en estas máquinas virtuales y sistemas heredados locales, los servicios principales de OpCon se comunican con los agentes de OpCon instalados en las máquinas virtuales. Los servicios principales se comunican con los sistemas locales a través de una conexión de sitio a sitio en una puerta de enlace de red virtual.
- Los servicios principales de OpCon se comunican directamente con las aplicaciones que proporcionan puntos de conexión de la API de REST. Estas aplicaciones no necesitan software adicional para conectarse a los servicios principales. Con los sistemas locales, la comunicación usa opciones de conectividad de la API de REST y viaja a través de una puerta de enlace de red virtual.
En un entorno híbrido, la subred de puerta de enlace usa un túnel VPN de sitio a sitio para ayudar a proteger la conexión entre el entorno local y el entorno de nube de Azure.
La puerta de enlace incluye una conexión de túnel VPN IPsec/IKE entre Azure VPN Gateway y un dispositivo VPN local. Todos los datos que pasan entre la nube de Azure y el entorno local se cifran en este túnel privado de sitio a sitio a medida que cruza Internet.
Una puerta de enlace de red local en el entorno local representa la puerta de enlace en el extremo local del túnel. La puerta de enlace de red local contiene la información de configuración necesaria para compilar un túnel VPN y para enrutar el tráfico desde o hacia subredes locales.
Todas las solicitudes de usuario se enrutan a través de la conexión de puerta de enlace al entorno de servicios principales de OpCon. A través de ese acceso, los usuarios interactúan con el Administrador de soluciones para:
- Administración de OpCon.
- Administración de OpCon Managed File Transfer.
- Desarrollo, ejecución y supervisión del flujo de trabajo de OpCon.
- Autoservicio, una interfaz de OpCon para ejecutar tareas.
- Visión, el panel de tareas de OpCon.
- Aplicación central de OpCon Managed File Transfer, un panel y una aplicación de consulta.
Los agentes de OpCon y los puntos de conexión de la API de REST de la aplicación se instalan en sistemas heredados en el entorno local. Los servicios principales de OpCon usan la conexión de sitio a sitio en la puerta de enlace de red virtual para comunicarse con esos agentes y puntos de conexión.
En toda la solución, puede usar grupos de seguridad de red para limitar el flujo de tráfico entre subredes.
Componentes
Azure Virtual Machines es uno de los distintos tipos de recursos informáticos a petición y escalables que ofrece Azure. Una VM de Azure le proporciona la flexibilidad de la virtualización, pero elimina las exigencias de mantenimiento del hardware físico. Con Azure, puede elegir máquinas virtuales Windows o Linux.
Azure Virtual Network es el bloque de creación básico de una red privada en Azure. A través de Virtual Network, los recursos de Azure, como las VM, se pueden comunicar entre sí, con Internet y con redes del entorno local de forma segura. Una red virtual de Azure es como una red tradicional que funciona en un centro de datos. No obstante, una red virtual de Azure también proporciona escalabilidad, disponibilidad, aislamiento y otras ventajas de la infraestructura de Azure.
Private Link proporciona un punto de conexión privado en una red virtual. Puede usar el punto de conexión privado para conectarse a servicios de plataforma como servicio (PaaS), como Azure Storage y SQL Database o a servicios de clientes o asociados.
Storage ofrece almacenamiento en la nube escalable, seguro y de alta disponibilidad para todos los datos, aplicaciones y cargas de trabajo.
Azure Files es un servicio que forma parte de Storage. Azure Files ofrece recursos compartidos de archivos totalmente administrados en la nube a los que se puede acceder mediante el protocolo estándar del sector Bloque de mensajes del servidor (SMB). Los recursos compartidos de Azure Files se pueden montar simultáneamente en implementaciones de clientes Windows, Linux y macOS en la nube o locales.
Blob Storage es un servicio que forma parte de Storage. Blob Storage ofrece almacenamiento optimizado de objetos en la nube para grandes cantidades de datos no estructurados. Este servicio es una buena opción para cargas de trabajo nativas de nube, aprendizaje automático e informática de alto rendimiento.
Una puerta de enlace de VPN es un tipo de puerta de enlace de red virtual. Puede usar VPN Gateway para transmitir tráfico cifrado. El tráfico puede fluir entre una red virtual de Azure y una ubicación local a través de Internet público. También puede fluir entre redes virtuales de Azure a través de la red troncal de Azure.
Azure ExpressRoute amplía las redes locales a la nube de Microsoft a través de una conexión privada que facilita un proveedor de conectividad. Con ExpressRoute, se pueden establecer conexiones con servicios en la nube, como Microsoft Azure y Microsoft 365.
Azure Site Recovery ayuda a garantizar la continuidad empresarial manteniendo las aplicaciones y cargas de trabajo empresariales en funcionamiento durante las interrupciones. Site Recovery puede replicar cargas de trabajo que se ejecutan en máquinas físicas y VM desde un sitio primario a una ubicación secundaria. Cuando se produce una interrupción en el sitio principal, se conmuta por error a la ubicación secundaria y se accede desde allí a las aplicaciones. Cuando la ubicación principal vuelva a estar en ejecución, puede realizar la conmutación por recuperación en ella.
Azure SQL es una familia de bases de datos de Azure que funcionan con el motor de SQL Server. Azure SQL incluye SQL Server en Azure Virtual Machines, Azure SQL Managed Instance y SQL Database.
SQL Database es un motor de base de datos de PaaS totalmente administrado con características automatizadas con tecnología de inteligencia artificial. El back-end de OpCon puede usar SQL Database para administrar entradas de OpCon.
SQL Managed Instance es un servicio de base de datos en la nube inteligente y escalable que combina la mayor compatibilidad con el motor de SQL Server y todas las ventajas de una PaaS totalmente administrada y permanente. El back-end de OpCon puede usar SQL Managed Instance para administrar entradas de OpCon.
Los servicios principales de OpCon se ejecutan en un contenedor de Linux dentro de un conjunto de réplicas de Kubernetes. Esta solución usa SQL Database para la base de datos de OpCon.
Autoservicio de OpCon es una implementación basada en web que ofrece a los usuarios una forma de ejecutar tareas a petición y, opcionalmente, introducir argumentos dentro de un entorno de OpCon.
OpCon Vision proporciona un panel para supervisar las tareas de OpCon. El panel muestra una representación lógica de las tareas en todos los flujos. Vision usa etiquetas para agrupar las tareas asociadas. Cuando se producen problemas, puede explorar en profundidad desde el panel hasta las tareas con errores. Vision también proporciona una manera de establecer valores de Acuerdo de Nivel de Servicio para cada grupo. El panel proporciona una advertencia temprana cuando es posible que no se cumplan los valores del Acuerdo de Nivel de Servicio definidos.
OpCon Managed File Transfer proporciona servicios de transferencia de archivos administrados dentro de un entorno de OpCon. La solución OpCon Managed File Transfer proporciona funcionalidad de transferencia y supervisión de archivos en toda la empresa mediante un agente de transferencia de archivos administrado integrado y un servidor de transferencia de archivos.
Alternativas
En las secciones siguientes se describen alternativas que se deben tener en cuenta al implementar la solución.
Selección de ubicación de componentes
La selección de ubicación de las máquinas virtuales y la base de datos OpCon es flexible.
- La subred de la aplicación puede incluir las máquinas virtuales de la aplicación. También puede instalar los servidores de aplicaciones en varias subredes o redes virtuales. Use este enfoque cuando desee crear entornos independientes para distintos tipos de servidores, como servidores web y de aplicaciones.
- Puede colocar la base de datos dentro o fuera de la subred de OpCon.
Instancia administrada de SQL
En lugar de usar SQL Database, puede usar SQL Managed Instance como base de datos de OpCon. Puede instalar la instancia administrada de SQL en la subred de OpCon. Como alternativa, puede instalar la instancia administrada en una subred independiente que use exclusivamente para instancias administradas de SQL en la red virtual existente.
ExpressRoute
En lugar de usar VPN Gateway y un túnel VPN de sitio a sitio, puede usar ExpressRoute, que usa un proveedor de conectividad para establecer una conexión privada a la red global de Microsoft. Conexiones de ExpressRoute que no fluyen a través de la red pública de Internet.
Se recomienda ExpressRoute para aplicaciones híbridas que ejecutan cargas de trabajo críticas para la empresa a gran escala que requieren un alto grado de escalabilidad y resistencia.
Detalles del escenario
El módulo principal de OpCon que facilita las cargas de trabajo es el Monitor de actividad programada (SAM). Este módulo se comunica con los agentes de los sistemas de destino para programar y supervisar las tareas. SAM también recibe eventos externos. Puede instalar agentes de OpCon en las siguientes plataformas:
- Windows
- Linux o Unix
- Sistemas centrales Unisys ClearPath Forward (MCP y 2200)
- IBM z/OS
- IBM AIX
SAM reúne las distintas plataformas bajo un mismo paraguas automatizado.
Puede instalar OpCon en un entorno de nube de Azure. OpCon admite infraestructuras solo en la nube y también infraestructuras híbridas que contienen sistemas locales y en la nube.
El software de OpCon está disponible en Docker Hub como imágenes de Docker que puede implementar en un entorno de nube. Para la nube de Azure, esta solución usa AKS para implementar el entorno de OpCon en un clúster de Kubernetes. SQL Database se usa como base de datos.
En entornos híbridos, VPN Gateway proporciona un vínculo seguro entre la infraestructura en la nube y la infraestructura local.
La implementación usa una sola red virtual y varias subredes para admitir varias funciones. Puede usar grupos de seguridad de red para filtrar el tráfico de red entre los recursos de Azure en la red virtual.
Configurar AKS
El entorno de OpCon implementado consta de dos pods dentro de un único conjunto de réplicas y una instancia de SQL Database. Un equilibrador de carga controla el acceso a los pods. El equilibrador de carga asigna direcciones y puertos externos a direcciones y puertos internos del servidor de la API de REST.
En el diagrama siguiente se muestran los requisitos de configuración de un entorno con dos pods: OpCon e Impex2. El diagrama también muestra la relación entre varias definiciones en el archivo YAML de configuración de Kubernetes.
Descargue un archivo Visio de esta arquitectura.
La siguiente tabla proporciona información detallada sobre cada definición.
Tipo | Value | Descripción |
---|---|---|
Secret |
dbpasswords | Contiene las contraseñas de base de datos necesarias para conectarse a la base de datos de OpCon. |
ConfigMap |
opcon | Contiene la información de la API de REST de OpCon, la zona horaria y la información de idioma. También contiene información de la base de datos de OpCon, como la dirección, el nombre de la base de datos y el usuario de la base de datos. |
ConfigMap |
impex | Contiene la información de la API de REST de Impex2. También contiene información de la base de datos de OpCon, como la dirección, el nombre de la base de datos y el usuario de la base de datos. |
PersistentVolumeClaim |
opconconfig | Contiene varios archivos .ini y el archivo de licencia de OpCon. |
PersistentVolumeClaim |
opconlog | Contiene los archivos de registro asociados al entorno de OpCon. |
PersistentVolumeClaim |
impexlog | Contiene los archivos de registro asociados al entorno de Impex2. |
ReplicaSet |
opcon | Especifica las definiciones de los contenedores OpCon e Impex2 que hacen referencia a las definiciones Secret , ConfigMap y PersistentVolumeClaim previamente definidas. |
Service |
loadbalancer | Define la asignación de los puertos internos de la API de REST para los servidores REST de OpCon e Impex2 a direcciones y puertos externos. |
Posibles casos de uso
Esta solución puede beneficiar muchos escenarios:
- Automatización y orquestación de cargas de trabajo en toda una empresa de TI
- Automatización de recuperación ante desastres
- Transferencias de archivos multiplataforma
- Operaciones de entorno de TI
- Programación por lotes
- Ejecución de flujos de trabajo de automatización de autoservicio
- Automatización e implementación de actualizaciones del servidor
- Automatización e implementación de la administración de revisiones
- Automatización del aprovisionamiento y retirada de recursos de Azure
- Supervisión de un entorno de TI completo desde una sola interfaz
- Codificación de procesos repetibles o a petición
Implementación de este escenario
Puede usar la plantilla siguiente para implementar el entorno de OpCon en un clúster de AKS.
#
# 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
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
- Philip Brooks | Director de programas sénior
- Bertie van Hinsbergen | Consultor principal de automatización
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
- ¿Qué es Azure Kubernetes Service?
- ¿Qué es un punto de conexión privado?
- Grupos de seguridad de red
- Inicio rápido: Configuración de la recuperación ante desastres en una región secundaria de Azure de una máquina virtual de Azure
Para obtener más información sobre esta solución:
- Póngase en contacto con legacy2azure@microsoft.com.
- Póngase en contacto con SMA. SMA Technologies, partner de nivel Gold de Microsoft, es líder en el ámbito de la automatización de TI. SMA tiene el único propósito de que sus clientes y empleados ahorren tiempo automatizando procesos, aplicaciones y flujos de trabajo.