Les systèmes de traitement transactionnel en ligne (OLTP) interagissent directement avec les utilisateurs et sont le visage de l’entreprise. Grâce à une infrastructure adaptable dynamiquement, les entreprises peuvent réaliser et lancer rapidement leurs produits pour réjouir leurs utilisateurs.
Architecture
Le diagramme suivant montre l’architecture de la charge de travail à migrer, un système OLTP s’exécutant sur un mainframe z/OS :
Téléchargez un fichier Visio de cette architecture.
Workflow
Le workflow suivant correspond au diagramme précédent :
- Les utilisateurs se connectent au mainframe via TCP/IP, en utilisant des protocoles mainframe standard comme TN3270 et HTTPS.
- Les gestionnaires de transactions interagissent avec les utilisateurs et appellent l’application pour répondre aux demandes des utilisateurs.
- Dans le front-end de la couche d’application, les utilisateurs interagissent avec les écrans CICS/IMS ou avec des pages web.
- Les gestionnaires de transactions utilisent la logique métier écrite en COBOL ou en PL/1 pour implémenter les transactions.
- Le code d’application utilise les fonctionnalités de stockage de la couche des données, en général DB2, IMS DB ou VSAM.
- Outre le traitement transactionnel, d’autres services fournissent l’authentification, la sécurité, la gestion, la surveillance et la production de rapports. Ces services interagissent avec tous les autres services du système.
Ici, nous verrons comment migrer cette architecture vers Azure.
Téléchargez un fichier Visio de cette architecture.
Les utilisateurs de mainframe sont familiarisés avec les terminaux 3270 et la connectivité locale. Dans le système migré, ils interagissent avec les applications Azure via l’Internet public ou via une connexion privée implémentée avec Azure ExpressRoute. Microsoft Entra ID fournit l'authentification.
Les demandes entrées sont dirigées vers un service d’équilibrage de charge global, comme Azure Front Door ou Azure Traffic Manager. L’équilibreur de charge peut traiter les demandes d’une base d’utilisateurs géographiquement dispersés. Il route les demandes en fonction des règles définies pour les charges de travail prises en charge. Ces équilibreurs de charge peuvent se coordonner avec Azure Application Gateway ou Azure Load Balancer pour l’équilibrage de charge de la couche application. Le service Azure Content Delivery Network met en cache le contenu statique dans les serveurs de périphérie pour une réponse rapide et sécurisée via le service Pare-feu d’applications web (WAF).
Le front-end de la couche application utilise des services Azure comme Azure App Service pour implémenter les écrans des applications et interagir avec les utilisateurs. Les écrans sont des versions migrées des écrans du mainframe.
Le code COBOL et PL/1 dans le back-end de la couche application implémente la logique métier. Le code peut utiliser des services comme Azure Functions, WebJobs et les microservices Azure Spring Apps. Les applications peuvent s’exécuter dans un conteneur Azure Kubernetes Service (AKS).
Un magasin de données en mémoire accélère les applications OLTP à haut débit. Un de ces magasins est OLTP en mémoire, une fonctionnalité d’Azure SQL Database et d’Azure SQL Managed Instance. Azure Cache pour Redis en est un autre.
La couche données peut inclure par exemple :
- Des fichiers, tables et objets blob implémentés en utilisant des services de stockage Azure.
- Des bases de données relationnelles de la famille Azure SQL.
- Des implémentations Azure des bases de données open source PostgreSQL et MySQL.
- Azure Cosmos DB, une base de données NoSQL.
Ces magasins contiennent les données migrées depuis le mainframe et sont utilisées par la couche application.
Les services Azure natifs comme Application Insights et Azure Monitor supervisent de façon proactive l’intégrité du système. Vous pouvez intégrer les journaux Monitor en utilisant un tableau de bord Azure.
Composants
Cette architecture se compose de plusieurs Azure Cloud Services et est divisée en quatre catégories de ressources : mise en réseau et identité, application, stockage et surveillance. Les services pour chacun et leurs rôles sont décrits dans les sections suivantes.
Réseau et identité
- Azure ExpressRoute permet des connexions privées entre les infrastructures locales et les centres de données Azure.
- Microsoft Entra ID est un service de gestion des identités et des accès qui peut se synchroniser avec un annuaire sur site.
- Azure Front Door fournit un équilibrage de la charge HTTP globale avec basculement instantané. Son option de mise en cache peut accélérer la livraison de contenu statique.
- Azure Traffic Manager dirige les demandes DNS entrantes en fonction de votre choix de méthodes de routage du trafic.
- Azure Web Application Firewall contribue à protéger les applications web contre les attaques malveillantes et les vulnérabilités web courantes, comme l’injection de SQL et le scripting inter-site.
- Azure Content Delivery Network (CDN) met en cache le contenu statique des serveurs de périphérie pour des réponses rapides et utilise des optimisations du réseau pour améliorer la réponse pour le contenu dynamique. CDN est particulièrement utile quand la base des utilisateurs est mondiale.
- Azure Application Gateway est une application délivrant un service de contrôleur. Elle fonctionne au niveau de la couche 7, la couche application, et a différentes fonctionnalités d’équilibrage de charge.
- Azure Load Balancer est un équilibreur de charge de la couche 4 (TCP, UDP). Dans cette architecture, il fournit des options d’équilibrage de charge pour Spring Apps et AKS.
Application
- La Gestion des API Azure prend en charge la publication, le routage, la sécurisation, la journalisation et l’analytique des API. Vous pouvez contrôler la façon dont les données sont présentées et étendues ainsi que les applications qui peuvent y accéder. Vous pouvez restreindre l’accès à vos applications ou autoriser des tiers à y accéder.
- Azure App Service est un service complètement managé pour générer, déployer et mettre à l’échelle des applications web. Vous pouvez générer des applications avec .NET, .NET Core, Node.js, Java, Python ou PHP. Les applications peuvent s’exécuter dans des conteneurs ou sur Windows ou Linux. Dans une migration de mainframe, les écrans ou l’interface web du front-end peuvent être codés en utilisant des API REST basées sur HTTP. Ils peuvent être séparés en fonction de l’application de mainframe et être sans état pour permettre l’orchestration d’un système basé sur des microservices.
- WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans une même instance, en tant qu’application web, application d’API ou application mobile. Un travail web peut être un bon choix pour l’implémentation d’une logique de programme partageable et réutilisable. Pour obtenir des informations techniques, consultez Exécuter des tâches en arrière-plan avec WebJobs dans Azure App Service.
- Azure Kubernetes Service (AKS) est un service complètement managé qui sert au déploiement et à la gestion d’applications conteneurisées. AKS simplifie le déploiement d’un cluster Kubernetes managé dans Azure en déportant la surcharge de travail opérationnel sur Azure.
- Azure Spring Apps est un service Spring entièrement managé, créé et géré conjointement par Microsoft et VMware. Avec ce service, vous pouvez facilement déployer, gérer et exécuter des microservices Spring, et écrire des applications Spring en utilisant Java ou .NET.
- Azure Service Bus est un service de messagerie cloud fiable pour une intégration hybride simple. Les files d’attente Service Bus et Stockage peuvent connecter le front-end avec la logique métier dans le système migré.
- Azure Functions fournit un environnement pour exécuter de petits morceaux de code, appelés fonctions, sans avoir à établir une infrastructure d’application. Vous pouvez l’utiliser pour traiter des données en bloc, intégrer des systèmes, utiliser IoT et créer des API et des microservices simples. Avec les microservices, vous pouvez créer des serveurs qui se connectent aux services Azure et qui sont toujours à jour.
- Azure Cache pour Redis est un service de mise en cache en mémoire entièrement managé pour le partage des données et des états entre des ressources de calcul. Il inclut à la fois le composant open source Redis (OSS Redis) et un produit commercial de Redis Labs (Redis Enterprise) sous la forme d’un service managé. Vous pouvez améliorer les performances des applications OLTP à haut débit en les concevant pour la mise à l’échelle et pour utiliser un magasin de données en mémoire comme Azure Cache pour Redis.
Stockage
- Stockage Azure est un ensemble de services cloud hautement évolutifs et sécurisés pour les données, les applications et les charges de travail. Il comprend Azure Files, Stockage Table Azure et Stockage File d’attente Azure. Azure Files est souvent un outil efficace pour la migration des charges de travail des mainframes.
- Azure SQL est une famille de bases de données cloud SQL qui offre des options flexibles pour la migration, la modernisation et le développement d’applications. La famille comprend :
- Azure Cosmos DB est une base de données NoSQL entièrement managée avec des API open source pour MongoDB et Cassandra. Une application possible est la migration des données non tabulaires des mainframes vers Azure.
- Azure Database pour PostgreSQL est un PostgreSQL entièrement managé, intelligent et scalable qui a une connectivité native avec les services Azure.
- Azure Database pour MySQL est une base de données MySQL entièrement managée et scalable.
- OLTP en mémoire est une fonctionnalité d’Azure SQL Database et d’Azure SQL Managed Instance qui fournit un stockage de données rapide en mémoire. Pour obtenir des informations techniques, consultez Optimiser les performances en utilisant les technologies en mémoire d’Azure SQL Database et d’Azure SQL Managed Instance.
Surveillance
- Azure Monitor collecte, analyse et agit sur les données personnelles de vos environnements Azure et locaux.
- Log Analytics est un outil du portail Azure utilisé pour interroger les journaux Monitor en utilisant un langage de requête puissant. Vous pouvez travailler avec les résultats de vos requêtes de façon interactive ou utiliser d’autres fonctionnalités d’Azure Monitor, comme les alertes de requête de journal ou les classeurs. Pour plus d’informations, consultez Vue d’ensemble de Log Analytics dans Azure Monitor.
- Application Insights est une fonctionnalité de Monitor qui fournit une supervision au niveau du code de l’utilisation, de la disponibilité et des performances des applications. Il surveille l’application, détecte les anomalies de l’application comme des performances médiocres et les échecs, et envoie les données personnelles au portail Azure. Vous pouvez aussi utiliser Application Insights pour la journalisation, le suivi distribué et les métriques d’application personnalisées.
- Les alertes Azure Monitor sont une fonctionnalité de Monitor. Pour plus d'informations, consultez Créer, afficher et gérer des alertes de métrique à l'aide d'Azure Monitor.
Détails du scénario
Avec les données et les besoins en constante évolution de l’entreprise, les applications doivent produire et évoluer sans créer de problèmes d’infrastructure. Cet exemple de charge de travail montre comment vous pouvez migrer une application OLTP de l'ordinateur central z/OS vers un système sécurisé, évolutif et hautement disponible dans le cloud, en utilisant les services de la plateforme Azure en tant que service (PaaS). Une telle migration permet aux entreprises des secteurs de la finance, de la santé, de l’assurance et de la distribution de réduire les délais de livraison des applications, et contribue à réduire les coûts d’exécution des applications.
Cas d’usage potentiels
Cette architecture est idéale pour les charges de travail OLTP qui présentent les caractéristiques suivantes :
- Ils traitent les demandes d’une base d’utilisateurs internationaux.
- Leur utilisation varie beaucoup au fil du temps, de sorte qu’ils bénéficient d’une mise à l’échelle flexible et d’une tarification basée sur l’utilisation.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Fiabilité
La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.
- Cette architecture OLTP peut être déployée dans plusieurs régions et peut avoir une couche données géorépliquée.
- Les services de base de données Azure prennent en charge la redondance de zone et peuvent basculer vers un nœud secondaire en cas de panne ou pour permettre des activités de maintenance.
Sécurité
La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.
- ExpressRoute crée une connexion privée à Azure depuis un environnement local. Vous pouvez aussi utiliser un VPN de site à site.
- Microsoft Entra ID peut authentifier les ressources et contrôler l'accès à l'aide du contrôle d'accès en fonction du rôle Azure.
- Les services de base de données dans Azure prennent en charge différentes options de sécurité, comme le chiffrement des données au repos.
- Pour obtenir des conseils généraux sur la conception de solutions sécurisées, consultez Vue d’ensemble du pilier Sécurité.
Optimisation des coûts
L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
Utilisez la Calculatrice de prix Azure pour estimer les coûts de votre implémentation.
Excellence opérationnelle
L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier Excellence opérationnelle.
- Ce scénario utilise Azure Monitor et Application Insights pour superviser l’intégrité des ressources Azure. Pour une gestion proactive, vous pouvez définir des alertes.
- Pour obtenir des conseils sur la résilience dans Azure, consultez Conception d’applications Azure fiables.
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.
- Cette architecture utilise des services PaaS Azure comme App Service, qui a des fonctionnalités de mise à l’échelle automatique.
- Pour obtenir des conseils sur la mise à l’échelle automatique dans Azure, consultez Mise à l’échelle automatique.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Ashish Khandelwal | Directeur principal de l’architecture d’ingénierie
- Nithish Aruldoss | Architecte Ingénierie
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Pour plus d’informations, contactez datasqlninja@microsoft.com.
- Guides de migration de base de données Azure
Ressources associées
Consultez les architectures associées suivantes et les informations techniques associées :
Architectures connexes
- Traitement par lots d’un grand volume de transactions
- Migration de mainframe IBM z/OS avec le framework AMT Avanade
- Micro Focus Enterprise Server sur des machines virtuelles Azure
- Refactoriser un mainframe IBM z/OS CF avec installation de couplage sur Azure
- Accès mainframe aux bases de données Azure
- Répliquer et synchroniser des données de mainframe dans Azure
- Migrer des applications mainframe IBM vers Azure avec TmaxSoft OpenFrame
Informations techniques associées
- Exécuter des tâches en arrière-plan avec WebJobs dans Azure App Service
- Optimiser les performances en utilisant les technologies en mémoire d’Azure SQL Database et Azure SQL Managed Instance
- Vue d’ensemble d’Azure Monitor
- Créer, afficher et gérer des alertes de métrique à l'aide d'Azure Monitor
- Créer et partager des tableaux de bord de données Log Analytics
- Vue d’ensemble du pilier de sécurité