SMA OpCon in Azure

Servizio Azure Kubernetes
Collegamento privato di Azure
database SQL di Azure
Archiviazione di Azure
Gateway VPN di Azure

Idee per le soluzioni

Questo articolo è un'idea di soluzione. Per espandere il contenuto con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o indicazioni sui prezzi, inviare commenti e suggerimenti su GitHub.

Questo articolo presenta una soluzione per automatizzare i carichi di lavoro eseguiti su vari tipi di server e sistemi in un'azienda. La soluzione usa OpCon di SMA Technologies in una configurazione Kubernetes in Azure. Da un singolo punto di controllo di automazione, OpCon facilita i flussi di lavoro in tutta l'azienda, sia in locale che in Azure.

Architettura

Architecture diagram that shows how to deploy OpCon in Azure or a hybrid environment. Besides OpCon, components include SQL Database and VPN Gateway.

Scaricare un file di Visio di questa architettura.

Workflow

  1. Un contenitore OpCon fornisce servizi di base, distribuiti all'interno di servizio Azure Kubernetes (servizio Azure Kubernetes). Questi servizi di base includono Solution Manager, un'interfaccia utente basata sul Web. Gli utenti possono interagire con l'intero ambiente OpCon usando Solution Manager. Oltre ad altri componenti, l'ambiente include:

    • Volumi permanenti che archiviano i log e le informazioni di configurazione e forniscono la persistenza dei dati tra i riavvii del contenitore. Per questi volumi, la soluzione usa File di Azure, configurata nel StorageClass valore .
    • Database OpCon.
    • Macchine virtuali (VM) che eseguono carichi di lavoro.
  2. La soluzione usa database SQL di Azure come database OpCon. I servizi di base hanno accesso a questo database tramite un endpoint privato collegamento privato di Azure.

  3. I servizi di base OpCon usano la tecnologia del connettore OpCon per interagire con Archiviazione di Azure e gestire i dati in Archiviazione BLOB di Azure. OpCon Managed File Transfer offre anche il supporto per Archiviazione.

  4. La subnet Applications contiene un server OpCon Managed File Transfer che offre funzionalità complete di trasferimento file. Le funzionalità includono compressione, crittografia, decrittografia, decompressione, controllo dei file e routing automatizzato di livello aziendale.

  5. Le macchine virtuali di Azure costituiscono l'infrastruttura dell'applicazione. Il posizionamento di queste macchine virtuali in subnet e reti virtuali è flessibile. Per altre informazioni, vedere Posizionamento dei componenti.

    • Per gestire i carichi di lavoro in queste macchine virtuali e nei sistemi legacy locali, i servizi principali OpCon comunicano con gli agenti OpCon installati nelle macchine virtuali. I servizi di base comunicano con i sistemi locali tramite una connessione da sito a sito in un gateway di rete virtuale.
    • I servizi principali OpCon comunicano direttamente con le applicazioni che forniscono endpoint API REST. Queste applicazioni non necessitano di software aggiuntivo per connettersi ai servizi di base. Con i sistemi locali, la comunicazione usa le opzioni di connettività dell'API REST e viaggia tramite un gateway di rete virtuale.
  6. In un ambiente ibrido, la subnet del gateway usa un tunnel VPN da sito a sito per proteggere la connessione tra l'ambiente locale e l'ambiente cloud di Azure.

  7. Il gateway include una connessione tunnel VPN IPsec/IKE cross-premise tra Azure Gateway VPN e un dispositivo VPN locale. Tutti i dati che passano tra il cloud di Azure e l'ambiente locale vengono crittografati in questo tunnel privato da sito a sito mentre attraversa Internet.

  8. Un gateway di rete locale nell'ambiente locale rappresenta il gateway sulla fine locale del tunnel. Il gateway di rete locale contiene informazioni di configurazione necessarie per creare un tunnel VPN e instradare il traffico da o verso subnet locali.

  9. Tutte le richieste utente vengono instradate tramite la connessione gateway all'ambiente dei servizi di base OpCon. Tramite tale accesso, gli utenti interagiscono con Solution Manager per:

    • Amministrazione opCon.
    • Amministrazione del trasferimento file gestito opCon.
    • Sviluppo, esecuzione e monitoraggio del flusso di lavoro OpCon.
    • Self-service, un'interfaccia OpCon per l'esecuzione di attività.
    • Visione, dashboard attività OpCon.
    • Applicazione centrale trasferimento file gestito OpCon, un dashboard e un'applicazione di query.
  10. Gli agenti OpCon e gli endpoint dell'API REST dell'applicazione vengono installati nei sistemi legacy nell'ambiente locale. I servizi principali OpCon usano la connessione da sito a sito nel gateway di rete virtuale per comunicare con tali agenti ed endpoint.

In tutta la soluzione è possibile usare i gruppi di sicurezza di rete per limitare il flusso del traffico tra subnet.

Componenti

  • Macchine virtuali di Azure offre uno dei diversi tipi di risorse di calcolo scalabili e su richiesta offerte da Azure. Una macchina virtuale di Azure offre la flessibilità della virtualizzazione, ma elimina le esigenze di manutenzione dell'hardware fisico. Con Azure è possibile scegliere macchine virtuali Windows o Linux.

  • Rete virtuale di Azure è il blocco predefinito fondamentale per la rete privata in Azure. Attraverso la rete virtuale, le risorse di Azure come le macchine virtuali possono comunicare in modo sicuro tra loro, con Internet e con le reti locali. Una rete virtuale di Azure è simile a una rete tradizionale che opera in un data center. Tuttavia, una rete virtuale di Azure offre anche scalabilità, disponibilità, isolamento e altri vantaggi dell'infrastruttura di Azure.

  • Il collegamento privato fornisce un endpoint privato in una rete virtuale. È possibile usare l'endpoint privato per connettersi ai servizi PaaS (Platform as a Service) di Azure, ad esempio Archiviazione e database SQL o ai servizi clienti o partner.

  • Archiviazione offre archiviazione cloud a disponibilità elevata, scalabile e sicura per dati, applicazioni e carichi di lavoro.

  • File di Azure è un servizio che fa parte di Archiviazione. File di Azure offre condivisioni file completamente gestite nel cloud, accessibili tramite il protocollo SMB (Server Message Block) standard di settore. Le condivisioni file di Azure possono essere montate simultaneamente da distribuzioni cloud o locali di client Windows, Linux e macOS.

  • Archiviazione BLOB è un servizio che fa parte di Archiviazione. Archiviazione BLOB offre l'archiviazione ottimizzata di oggetti cloud per grandi quantità di dati non strutturati. Questo servizio è ideale per carichi di lavoro ad alte prestazioni, machine learning e nativi del cloud.

  • Gateway VPN è un tipo specifico di gateway di rete virtuale. È possibile usare Gateway VPN per trasmettere il traffico crittografato. Tale traffico può fluire tra una rete virtuale di Azure e una posizione locale tramite La rete Internet pubblica. Può anche passare tra reti virtuali di Azure tramite la rete backbone di Azure.

  • Azure ExpressRoute estende le reti locali nel cloud Microsoft tramite una connessione privata facilitata da un provider di connettività. Con ExpressRoute è possibile stabilire connessioni ai servizi cloud, ad esempio Microsoft Azure e Microsoft 365.

  • Azure Site Recovery consente di garantire la continuità aziendale mantenendo le app aziendali e i carichi di lavoro in esecuzione durante le interruzioni. Site Recovery può replicare i carichi di lavoro eseguiti su computer fisici e macchine virtuali da un sito primario a una posizione secondaria. Quando si verifica un'interruzione nel sito primario, si esegue il failover in una posizione secondaria e si accede alle app da questa posizione. Quando la località primaria è di nuovo disponibile, è possibile eseguire il failback.

  • Azure SQL è una famiglia di database di Azure basati sul motore di SQL Server. SQL di Azure include SQL Server in Azure Macchine virtuali, Istanza gestita di SQL di Azure e database SQL.

  • database SQL è un motore di database PaaS completamente gestito con funzionalità automatizzate basate su intelligenza artificiale. Il back-end OpCon può usare database SQL per gestire le voci OpCon.

  • Istanza gestita di SQL è un servizio di database cloud intelligente e scalabile che combina la più ampia compatibilità del motore di SQL Server con tutti i vantaggi di un PaaS completamente gestito e sempreverdi. Il back-end OpCon può usare Istanza gestita di SQL per gestire le voci OpCon.

  • I servizi di base OpCon vengono eseguiti in un contenitore Linux all'interno di un set di repliche Kubernetes. Questa soluzione usa database SQL per il database OpCon.

  • OpCon Self Service è un'implementazione basata sul Web che consente agli utenti di eseguire attività su richiesta e, facoltativamente, di immettere argomenti all'interno di un ambiente OpCon.

  • OpCon Vision offre un dashboard per il monitoraggio delle attività OpCon. Il dashboard visualizza una rappresentazione logica delle attività in tutti i flussi. Visione usa tag per raggruppare le attività associate. Quando si verificano problemi, è possibile eseguire il drill-down dal dashboard alle attività non riuscite. Visione offre anche un modo per impostare i valori del contratto di servizio per ogni gruppo. Il dashboard genera un avviso anticipato quando i valori del contratto di servizio definiti potrebbero non essere soddisfatti.

  • OpCon Managed File Transfer fornisce servizi di trasferimento file gestiti all'interno di un ambiente OpCon. La soluzione OpCon Managed File Transfer offre funzionalità di trasferimento e monitoraggio dei file in un'azienda usando un agente di trasferimento file gestito integrato e un server di trasferimento file.

Alternative

Le sezioni seguenti descrivono le alternative da considerare quando si implementa la soluzione.

Posizionamento dei componenti

Il posizionamento delle macchine virtuali e del database OpCon è flessibile.

  • La subnet dell'applicazione può includere le macchine virtuali dell'applicazione. È anche possibile installare i server applicazioni in più subnet o reti virtuali. Usare questo approccio quando si desidera creare ambienti separati per diversi tipi di server, ad esempio server Web e applicazioni.
  • È possibile inserire il database all'interno o all'esterno della subnet OpCon.

Istanza gestita di SQL

Anziché usare database SQL, è possibile usare Istanza gestita di SQL come database OpCon. È possibile installare l'istanza gestita di SQL nella subnet OpCon. In alternativa, è possibile installare l'istanza gestita in una subnet separata usata esclusivamente per le istanze gestite di SQL nella rete virtuale esistente.

ExpressRoute

Anziché usare Gateway VPN e un tunnel VPN da sito a sito, è possibile usare ExpressRoute, che usa un provider di connettività per stabilire una connessione privata alla rete globale Microsoft. Le connessioni ExpressRoute non vengono instradate attraverso la rete Internet pubblica.

È consigliabile Usare ExpressRoute per le applicazioni ibride che eseguono carichi di lavoro business critical su larga scala che richiedono un livello elevato di scalabilità e resilienza.

Dettagli dello scenario

Il modulo OpCon di base che facilita i carichi di lavoro è Schedule Activity Monitor (SAM). Questo modulo comunica con gli agenti nei sistemi di destinazione per pianificare e monitorare le attività. SAM riceve anche eventi esterni. È possibile installare gli agenti OpCon nelle piattaforme seguenti:

  • Finestre
  • Linux o Unix
  • Mainframe Unisys ClearPath Forward (MCP e 2200)
  • IBM z/OS
  • IBM AIX

SAM disegna le varie piattaforme insieme sotto un unico ombrello di automazione.

È possibile installare OpCon in un ambiente cloud di Azure. OpCon supporta infrastrutture solo cloud e anche infrastrutture ibride che contengono sistemi cloud e locali.

Il software OpCon è disponibile dall'hub Docker come immagini Docker che è possibile distribuire in un ambiente cloud. Per il cloud di Azure, questa soluzione usa il servizio Azure Kubernetes per distribuire l'ambiente OpCon all'interno di un cluster Kubernetes. database SQL viene usato come database.

Per gli ambienti ibridi, Gateway VPN fornisce un collegamento sicuro tra l'infrastruttura cloud e l'infrastruttura locale.

L'implementazione usa una singola rete virtuale e più subnet per supportare varie funzioni. È possibile usare i gruppi di sicurezza di rete per filtrare il traffico di rete tra le risorse di Azure nella rete virtuale.

Configurazione del servizio Azure Kubernetes

L'ambiente OpCon distribuito è costituito da due pod all'interno di un singolo set di repliche e da un'istanza di database SQL. Un servizio di bilanciamento del carico controlla l'accesso ai pod. Il servizio di bilanciamento del carico esegue il mapping di indirizzi e porte esterni a porte e indirizzi interni del server API REST.

Il diagramma seguente illustra i requisiti di configurazione per un ambiente con due pod: OpCon e Impex2. Il diagramma mostra anche la relazione tra varie definizioni nel file YAML di configurazione kubernetes.

Architecture diagram that shows Kubernetes configuration values that the solution uses.

Scaricare un file di Visio di questa architettura.

Nella tabella seguente vengono fornite informazioni dettagliate su ogni definizione.

Tipologia Valore Descrizione
Secret dbpasswords Contiene le password del database necessarie per connettersi al database OpCon.
ConfigMap opcon Contiene le informazioni sull'API REST OpCon, il fuso orario e le informazioni sulla lingua. Contiene anche informazioni sul database OpCon, ad esempio l'indirizzo, il nome del database e l'utente del database.
ConfigMap Impex Contiene le informazioni sull'API REST Impex2. Contiene anche informazioni sul database OpCon, ad esempio l'indirizzo, il nome del database e l'utente del database.
PersistentVolumeClaim opconconfig Contiene vari file ini e il file di licenza OpCon.
PersistentVolumeClaim opconlog Contiene i file di log associati all'ambiente OpCon.
PersistentVolumeClaim impexlog Contiene i file di log associati all'ambiente Impex2.
ReplicaSet opcon Specifica le definizioni di contenitore OpCon e Impex2 che fanno riferimento alle definizioni , ConfigMape PersistentVolumeClaim definite Secretin precedenza.
Service loadbalancer Definisce il mapping delle porte DELL'API REST interne per i server REST OpCon e Impex2 a indirizzi e porte esterne.

Potenziali casi d'uso

Molti scenari possono trarre vantaggio da questa soluzione:

  • Automazione e orchestrazione del carico di lavoro in un'intera azienda IT
  • Automazione del ripristino di emergenza
  • Trasferimenti di file multipiattaforma
  • Operazioni dell'ambiente IT
  • Pianificazione batch
  • Esecuzione di flussi di lavoro di automazione self-service
  • Automazione e distribuzione degli aggiornamenti server
  • Automazione e distribuzione della gestione delle patch
  • Automazione del provisioning e rimozione delle autorizzazioni delle risorse di Azure
  • Monitoraggio di un intero ambiente IT da una singola interfaccia
  • Codificare processi ripetibili o su richiesta

Distribuire lo scenario

È possibile usare il modello seguente per distribuire l'ambiente OpCon in un cluster del servizio Azure Kubernetes.

# 
# 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

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Per altre informazioni su questa soluzione:

  • Contattare legacy2azure@microsoft.com.
  • Contatta SMA. Un partner Microsoft Gold, SMA Technologies è leader nello spazio di automazione IT. SMA è dedicato allo scopo unico di restituire tempo ai clienti e ai dipendenti automatizzando processi, applicazioni e flussi di lavoro.