Modifier

Partager via


Réhéberger des applications mainframe sur Azure avec des compilateurs Raincode

Machines virtuelles Azure
Azure Kubernetes Service (AKS)
Azure Files
Azure ExpressRoute
Azure Load Balancer

Cette architecture montre comment le compilateur COBOL Raincode modernise les applications mainframe héritées en les migrant et les intégrant de manière fluide à une pile de technologies Azure moderne sans modifier une seule ligne de code. Avec la technologie du compilateur Raincode, vous pouvez conserver les applications mainframe optimisées actuelles et les déployer dans le cloud, ce qui vous permet de conserver l’équivalent de dizaines d’années de développements tout en améliorant les performances et la flexibilité. La solution de Raincode vise à transformer le mainframe en architecture Azure native en préservant la logique métier tout en transformant l’architecture entière. Raincode prend également en charge la flexibilité des applications sur Linux et Windows avec des déploiements de machines virtuelles ou conteneurisés sur Azure.

Architecture

Architecture IBM z/OS héritée

Le diagramme suivant montre un exemple d’architecture mainframe héritée basée sur COBOL, avant la migration vers Azure.

Diagramme représentant l'architecture d'un ordinateur central basé sur COBOL.

Téléchargez un fichier Visio de cette architecture.

Workflow

Les annotations suivantes font un mappage entre la source IBM z/OS et Azure :

R. L’émulation de terminal IBM 3270 pour les utilisateurs en ligne et à la demande est remplacée par un navigateur web pour accéder aux ressources système dans Azure.

B. COBOL et les autres codes d’application hérités sont convertis en C#/.NET. Raincode génère du code thread-safe et managé à 100 % pour .NET et .NET Core.

C. Le compilateur COBOL Raincode modernise les applications mainframe héritées en les migrant et les intégrant de manière fluide à une pile de technologies cloud moderne sans modifier une seule ligne de code.

D. Les fonctions de surveillance du système, de reporting, de planification et d’automatisation des charges de travail peuvent conserver les plateformes actuelles, car elles sont adaptées à Azure.

E. Les structures de base de données héritées telles que Db2 et IDMS peuvent être migrées vers Azure SQL Database avec toutes les fonctionnalités de récupération d’urgence et de haute disponibilité offertes par Azure. Raincode prend également en charge les requêtes SQL statiques ou dynamiques via SQL Server ou sur Azure SQL DB.

F. Les structures de fichiers (VSAM, fichiers plats, bandes virtuelles et similaires) sont facilement mappées aux constructions de données Azure dans des fichiers structurés et/ou dans un stockage blob. Des fonctionnalités telles que la réplication géographique redondante et la réplication de groupe de basculement automatique Azure sont disponibles pour assurer la protection des données.

G. Un sous-système d’impression facultatif gère les imprimantes locales.

H. z/OS s’exécutant sur des partitions logiques (LPAR).

I. Les partitions logiques représentent un sous-ensemble des ressources matérielles d’un ordinateur. Chaque partition logique peut héberger un système d’exploitation distinct. Bien que cet exemple affiche uniquement les instances Z/OS, d’autres partitions logiques s’exécutant sur le même matériel peuvent héberger d’autres environnements d’exploitation, tels que z/VM, ou d’autres moteurs, tels que zIIP ou IFL.

Architecture basée sur Azure, après migration

Ce diagramme montre comment l’architecture héritée peut être migrée vers Azure, en tirant parti du compilateur Raincode et de nombreux autres services Azure modernes.

Migration de l’architecture héritée vers le workflow Azure.

Téléchargez un fichier Visio de cette architecture.

Workflow

  1. Accès utilisateur fourni sur le port TLS 443 pour l’accès aux applications web. Les couches de présentation des applications web peuvent rester quasiment inchangées afin de réduire au maximum la reformation de l’utilisateur final. La couche de présentation de l’application web peut également être mise à jour avec des frameworks d’expérience utilisateur modernes, selon les exigences en vigueur.

  2. Dans Azure, l’accès aux clusters de calcul d’application s’effectue par le biais d’Azure Load Balancer, ce qui permet d’utiliser des ressources de calcul avec scale-out pour traiter le travail d’entrée.

  3. Les logiciels d’émulation de systèmes Raincode peuvent également prendre en charge le déploiement en conteneurs. Avec la technologie de compilateur de pointe de Raincode, vous pouvez conserver les applications mainframe optimisées actuelles et les déployer sur .NET Core.

  4. Les applications cloud natives sont une collection de services indépendants et autonomes empaquetés en tant que conteneurs légers.

    Contrairement aux machines virtuelles, les conteneurs peuvent effectuer un scale-in ou un scale-out rapidement. Étant donné que l’unité de mise à l’échelle passe aux conteneurs, l’utilisation de l’infrastructure est optimisée.

  5. Les services de données utilisent une combinaison de stockage hautes performances sur des disques SSD Ultra ou Premium, de stockage de fichiers sur Azure NetApp Files ou Azure Files ainsi que de stockage Blob, archive et de sauvegarde standard qui peut être redondant localement ou géoredondant.

  6. Azure SQL Database utilisant les niveaux Hyperscale ou Critique pour l’entreprise qui offrent un nombre élevé d’IOPS et un contrat SLA à haut niveau de disponibilité. Par ailleurs, Azure Private Link pour Azure SQL Database fournit une connexion directe privée, isolée au réseau principal Azure, des machines virtuelles Azure vers Azure SQL Database. Les outils de migration de données Raincode peuvent convertir les schémas DMS et RDMS en SQL.

  7. Le stockage blob Azure est une zone d’atterrissage commune pour les sources de données externes.

  8. Une implémentation d’Active Directory doit être créée ou déjà en place. Raincode fournit une intégration des identités RACF et Top Secret à l’aide des extensions Active Directory.

Composants

  • Azure Kubernetes service (AKS) est un service Kubernetes complètement managé permettant de déployer et de gérer des applications conteneurisées dans des clusters de calcul basés sur des conteneurs.

  • Réseau virtuel Microsoft Azure (VNet) est le bloc de construction fondamental pour votre réseau privé dans Azure. Le réseau virtuel permet à de nombreux types de ressources Azure, telles que les machines virtuelles (VM) Azure, de communiquer de manière sécurisée entre elles, avec Internet et avec les réseaux locaux. Un réseau virtuel est similaire à un réseau traditionnel que vous utiliseriez dans votre propre centre de données, mais avec les avantages supplémentaires de l’infrastructure Azure, tels que la mise à l’échelle, la disponibilité et l’isolation.

  • Azure Files offre des partages de fichiers managés dans le cloud qui sont accessibles via le protocole SMB (Server Message Block) standard. Les partages de fichiers Azure peuvent être montés simultanément via des déploiements cloud ou locaux de Windows, Linux et macOS.

  • Azure ExpressRoute vous permet d’étendre vos réseaux locaux au cloud de Microsoft via une connexion privée assurée par un fournisseur de connectivité. Avec ExpressRoute, vous pouvez établir des connexions aux services cloud Microsoft, comme Microsoft Azure et Office 365.

  • Azure Load Balancer opère à la couche quatre du modèle OSI (Open Systems Interconnection). Il s’agit du point de contact unique pour les clients. Load Balancer distribue les flux entrants arrivant sur le serveur frontal de l’équilibreur de charge aux instances de pool back-end. Ces flux dépendent des règles d’équilibrage de charge et des sondes d’intégrité configurées. Les instances de pool de back-ends peuvent être des machines virtuelles Azure ou des instances d’un groupe de machines virtuelles identiques.

  • Azure SQL Database est un moteur de base de données PaaS (Platform as a Service) complètement managé qui s’exécute toujours sur la dernière version stable de SQL Server et un système d’exploitation avec correctifs, avec une disponibilité de 99,99 %. SQL Database gère la mise à niveau, la mise à jour, la sauvegardes, la surveillance et la plupart des autres fonctions de gestion des bases de données sans intervention de l’utilisateur. Ces fonctionnalités PaaS vous permettent de vous concentrer sur l’administration et l’optimisation des bases de données stratégiques et propres à un domaine.

  • Azure Cosmos DB est un service PaaS Azure pour les bases de données NoSQL.

  • Azure Database pour PostgreSQL est un service PaaS Azure pour les bases de données PostgreSQL.

Détails du scénario

Cette architecture illustre l’exécution de la solution Raincode sur Azure. Raincode sur Azure prend en charge les fonctionnalités suivantes :

  • Code thread-safe et managé à 100 % pour .NET et .NET Core.

  • Solution principalement destinée à transformer des mainframes en architecture cloud native.

  • Prise en charge native des requêtes SQL statiques ou dynamiques via SQL Server localement ou sur Azure SQL DB.

  • Prise en charge de Db2 (via Microsoft HIS) et SQL Server.

  • Intégration de Visual Studio, avec un débogueur, un compilateur, des configurations,# IntelliSense, un coloriseur de code et gestion de projets.

  • Prise en charge de tous les types de données COBOL, avec représentation de la mémoire du mainframe.

  • Intégration fluide avec les compilateurs PL/I et ASM370.

  • Référentiel avec des graphiques des appels, des statistiques et d’autres informations au moment de la compilation.

  • Prise en charge native de EBCDIC au moment de la compilation et de l’exécution.

La migration vers une infrastructure cloud moderne et distribuée à l’aide de Raincode offre les avantages suivants :

  • Elle facilite le nouveau développement et la maintenance en C#.

  • Elle vous libère de la charge financière des coûts liés aux licences COBOL.

  • Vous adoptez une plateforme flexible et scalable en utilisant les dernières technologies via .NET Core.

  • Vous intégrez des applications modernes (web et mobiles) pour améliorer l’expérience utilisateur.

  • Vous transformez vos applications héritées monolithiques en architecture orientée services (SOA).

  • Vous contrôlez le coût total de possession à l’aide des fonctionnalités de scalabilité et de disponibilité d’Azure.

Cas d’usage potentiels

De nombreux cas d’usage peuvent tirer parti du compilateur Raincode, notamment :

  • Entreprises qui cherchent à moderniser l’infrastructure et à échapper aux coûts élevés, aux limitations et à la rigidité associés aux mainframes.

  • Réduction de la dette technique en choisissant le cloud natif et l’approche DevOps.

  • Réduction des coûts opérationnels et des dépenses en capital.

  • Organisations qui choisissent de migrer des charges de travail mainframe IBM zSeries vers le cloud sans les effets secondaires d’un redéveloppement complet.

  • Clients IBM zSeries mainframe qui ont besoin de migrer des applications critiques tout en conservant la continuité avec d’autres applications locales.

  • Équipes qui recherchent la scalabilité horizontale et verticale qu’offre Azure.

  • Entreprises qui privilégient les solutions offrant des options de récupération d’urgence.

  • Tirer parti des dernières innovations en matière de développement de logiciels : outils, infrastructures, langages et pratiques.

Considérations

Les remarques suivantes s’appliquent à cette solution.

Disponibilité

  • L’architecture Raincode utilise Azure Site Recovery pour mettre en miroir les machines virtuelles Azure dans une région Azure secondaire pour un basculement et une reprise d’activité rapides en cas de défaillance d’un centre de données Azure.

Opérations

  • Chaque service d’une application cloud native passe par un cycle de vie indépendant, qui est géré par le biais d’un processus DevOps agile.

  • Plusieurs pipelines d’intégration continue/de livraison continue (CI/CD) peuvent fonctionner en tandem pour déployer et gérer une application cloud native.

Efficacité des performances

  • Les applications cloud natives sont une collection de services indépendants et autonomes empaquetés en tant que conteneurs légers.

  • Contrairement aux machines virtuelles, les conteneurs peuvent effectuer un scale-in ou un scale-out rapidement.

  • Étant donné que l’unité de mise à l’échelle passe aux conteneurs, l’utilisation de l’infrastructure est optimisée.

Sécurité

Optimisation des coûts

  • Le compilateur COBOL Raincode facilite le nouveau développement en C# et élimine le fardeau financier des coûts liés aux licences COBOL.

  • Prise en charge native de SQL et CICS. Le code source débogué est le même que celui de la source tenu à jour, plutôt que la sortie d’un pré-processeur.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Pour plus d’informations, contactez legacy2azure@microsoft.com ou consultez les ressources suivantes :