Astadia でメインフレーム* アプリケーション*をリファクター*

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Azure Private Link
Azure Site Recovery

Astadia の Automated COBOL Refactoring ソリューションでは、従来のものと同じ操作を行うクラウド対応のアプリケーションとデータベースを提供します。 リファクタリングされたアプリケーションは、Azure Virtual Machines によって提供される仮想マシンで Azure アプリケーションとして実行されます。 Azure ExpressRoute は、それらのアプリケーションがユーザーから使用できるようにし、Azure Load Balancer は負荷を分散します。

メインフレームのアーキテクチャ

Astadia リファクタリング ソリューションに適したシステムの種類を表すメインフレーム アーキテクチャを次に示します。

Astadia リファクタリングに適したメインフレーム アーキテクチャの図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. TN3270 および HTTP(S) ユーザー入力が TCP/IP 経由で到着します。
  2. メインフレーム入力では、標準のメインフレーム プロトコルが使用されます。
  3. バッチおよびオンライン アプリケーションがあります。
  4. COBOL、PL/I、アセンブラー、およびその他の言語で作成されたアプリケーションが、有効な環境で実行されます。
  5. データは、ファイル、および階層型データベース、ネットワーク データベース、リレーショナル データベースに保持されます。
  6. 一般的に使用されるサービスには、プログラムの実行、I/O 操作、エラー検出、環境内の保護が含まれます。
  7. ミドルウェアおよびユーティリティ サービスは、テープ ストレージ、キュー、出力、Web アクティビティーを管理します。
  8. 各オペレーティング システムは、独自のパーティションで実行されます。
  9. パーティションは、異なるワークロードまたは作業の種類を分離します。

Azure アーキテクチャ

メインフレーム機能をリファクタリングされたアプリケーションに置き換える Azure アーキテクチャを次に示します。

Astadia リファクタリング ソリューションのアーキテクチャ図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. 入力は、ExpressRoute 経由でリモート クライアントやその他のユーザーから届きます。 TCP/IP は、システムに接続するための主な方法です。
    • オンプレミスのユーザーは、トランスポート層セキュリティ (TLS) ポート 443 を介して Web ベースのアプリケーションにアクセスします。 エンド ユーザーの再トレーニングを最小限に抑えるために、ユーザー インターフェイスは変わりません。
    • オンプレミスの管理アクセスでは Azure Bastion ホストが使用されます。
    • Azure ユーザーは、仮想ネットワーク ピアリング経由でシステムに接続できます。
  2. Load Balancer がアプリケーション コンピューティング クラスターへのアクセスを管理します。 Load Balancer はスケールアウト コンピューティング リソースをサポートし、入力を処理します。 アプリケーション入力に応じて、レベル 7 のアプリケーション レベル、またはレベル 4 のネットワーク レベルで動作します。
  3. Astadia ランタイム ライブラリは、Azure Virtual Machines でリファクタリングされたアプリケーションを実行します。 コンピューティング リソースでは、高速ネットワークで Azure Premium SSD または Azure Ultra Disk Storage マネージド ディスクが使用されます。
  4. アプリケーション クラスターのデータ サービスでは、永続的なデータ ソースへの複数の接続をサポートしています。 Azure Private Link を使用すると、仮想ネットワーク内から Azure サービスへのプライベート接続が可能になります。 データ ソースには、Azure SQL Database や Azure PostgreSQL などのデータ サービスが含まれます。
  5. データ ストレージは、使用方法に応じてローカル冗長または geo 冗長になります。 これは次の組み合わせです。
    • ハイパフォーマンスのストレージ。
      • Premium SSD
      • Ultra Disk Storage
    • BLOB、アーカイブ、バックアップ ストレージなどの Azure Standard SSD
  6. Azure データ サービスは、コンピューティング クラスターで共有される、スケーラブルで可用性の高いデータ ストレージを提供します。 このストレージは geo 冗長にすることができます。
    • Azure Blob Storage は、外部データ ソースからのデータのランディング ゾーンとして機能します。
    • Azure Data Factory は、データを取り込み、複数の Azure および外部データ ソースを同期します。
  7. Azure Site Recovery によって、仮想マシン (VM) とコンテナー クラスター コンポーネントのディザスター リカバリーが提供されます。
  8. Microsoft Entra ID、Azure ネットワーク、Azure DevOps、Azure Stream Analytics、Azure Databricks、GitHub、Power BI などのサービスは、最新化されたシステムと容易に統合されます。

コンポーネント

  • ExpressRoute によって、接続プロバイダーからのプライベートな専用ファイバー接続を介してオンプレミス ネットワークが Azure に拡張されます。 ExpressRoute は、Azure や Microsoft 365 などの Microsoft クラウド サービスへの接続を確立します。
  • Azure Bastion は、TLS 経由での Azure portal から仮想ネットワーク VM へのシームレスなリモート デスクトップ プロトコル (RDP) またはセキュア シェル (SSH) 接続を提供します。 Azure Bastion は、オープンなポートを最小限にすることで、管理アクセス セキュリティを最大限に確保します。
  • Load Balancer は、受信トラフィックをコンピューティング リソース クラスターに分散します。 トラフィックを分散するための構成可能な規則やその他の基準を使用します。
  • Azure Virtual Machines は、さまざまなサイズおよび種類のスケーラブルな VM をオンデマンドで提供します。 Azure Virtual Machine を使用すると、仮想化を柔軟に利用でき、物理的なハードウェアを購入して維持する必要がありません。
  • Azure Virtual Network は、Azure のプライベート ネットワークの基本的な構成ブロックです。 仮想ネットワーク内の VM は、お互いに安全に通信できるほか、インターネットおよびオンプレミス ネットワークとも安全に通信できます。 仮想ネットワークは従来のオンプレミス ネットワークのようですが、スケーラビリティ、高可用性、分離など、Azure インフラストラクチャのメリットがあります。
  • Private Link は、仮想ネットワークから Azure サービスへのプライベート接続を可能にします。 Private Link は、ネットワーク アーキテクチャを簡素化し、パブリック インターネットへの露出をなくして Azure エンドポイント間の接続をセキュリティで保護します。
  • Azure Storage は、すべてのデータ、アプリケーション、およびワークロード用のスケーラブルで安全なクラウド ストレージです。
    • Azure Disk Storage は、ビジネスクリティカルなアプリケーション向けのハイパフォーマンスな永続ブロック ストレージです。 Azure マネージド ディスクは、Azure によって VM 上で管理されるブロックレベルのストレージ ボリュームです。 使用可能なディスクの種類は、Ultra Disk Storage、Premium SSD、Standard SSD、Azure Standard HDD です。 このアーキテクチャでは、Premium SSD または Ultra Disk Storage を使用します。
    • Azure Files は、業界標準のサーバー メッセージ ブロック (SMB) プロトコルを介してアクセスされるフル マネージド ファイル共有をクラウドで提供します。 クラウドおよびオンプレミスの Windows、Linux、macOS デプロイでは、ファイル共有を同時にマウントしてアクセスを共有します。
    • Azure NetApp Files は、NetApp を利用したエンタープライズレベルの Azure ファイル共有を提供します。 NetApp Files を使用すると、企業はコードを変更することなくファイルベースの複雑なアプリケーションを簡単に移行して実行できます。
    • Blob Storage は、アーカイブ、データ レイク、ハイパフォーマンス コンピューティング、機械学習、クラウドネイティブ ワークロード向けのスケーラブルで安全なオブジェクト ストレージです。
  • Azure には、現在のアプリケーション ニーズに合わせてフル マネージドのリレーショナル データベース、NoSQL データベース、メモリ内データベースがあります。 自動化されたインフラストラクチャ管理によって、スケーラビリティ、可用性、セキュリティが実現します。 データベースの種類の概要については、「Azure 上のデータベースの種類」を参照してください。
    • SQL Database は、フル マネージド データベース エンジンです。 SQL Database は、常に、最新の安定したバージョンの SQL Server と、パッチ適用済みの高可用性の OS で実行されます。 組み込みのデータベース管理機能には、アップグレード、パッチ適用、バックアップ、監視があります。 これらのタスクを処理することで、ドメイン固有のビジネスクリティカルなデータベース管理および最適化に集中できます。
    • Azure Database for PostgreSQL は、オープンソースの Postgres リレーショナル データベース エンジンに基づいたフル マネージドのデータベースです。 より大きなスケールとパフォーマンスを必要とするアプリケーションの場合、Hyperscale (Citus) デプロイ オプションでは、シャーディングによって複数のマシンにわたってクエリをスケーリングします。
    • Azure Cosmos DB は、あらゆる規模に対応するオープン API を備えたフル マネージドの高速 NoSQL データベースです。
  • Site Recovery は、Azure データセンターに障害が発生した場合にフェールオーバーとディザスター リカバリーを速やかに実行するために、VM をセカンダリ Azure リージョンにミラーリングします。
  • Data Factory は、スケールアウト サーバーレス データ統合とデータ変換のための抽出、転送、読み込み (ETL) サービスです。 直感的な作成が可能なコード不要の UI を備えているほか、単一のペインで監視と管理を行えます。

シナリオの詳細

企業が COBOL システムとメインフレーム システムを置き換える重要な理由は次のとおりです。

  • ドメイン エクスペリエンスの不足: COBOL とメインフレームのテクノロジを理解している開発者が退職し、彼らに代わるトレーニングを受けている開発者がほとんどいません。 人材プールは確実に小さくなり、COBOL に依存するコストとリスクが増加します。
  • 限られた柔軟性: COBOL とそれをサポートする基になるシステムは、最新のクラウドベースのアプリケーション用に設計されていませんでした。 柔軟性がなく、統合は容易ではありません。
  • 過剰なコスト: IBM メインフレームのハードウェアとソフトウェアのコストは高くなります。 補助的なメインフレーム アプリケーションとデータベースのライセンスとメンテナンスの料金も上昇しています。

COBOL システムとメインフレーム システムには、今後の新しい方法が "あります"。 Astadia の Automated COBOL Refactoring ソリューションでは、従来のものと同じ操作を行うクラウド対応のアプリケーションとデータベースを提供します。 リファクタリングされたアプリケーションは、Azure Virtual Machines によって提供される仮想マシンで Azure アプリケーションとして実行されます。 Azure ExpressRoute は、それらのアプリケーションがユーザーから使用できるようにし、Azure Load Balancer は負荷を分散します。

リファクタリングにより、コストが削減され、より緊密な統合や、ビジネス要件を満たすカスタマイズが可能になります。 COBOL とメインフレームの手間とコストにより、次のような新しい品質とスケーラビリティの世界に移行します。

  • 自動テストと品質保証。
  • コンテナー化されたデプロイとオーケストレーション用の Docker と Kubernetes。

リファクタリング ソリューションで作成されるアプリケーションは次のとおりです。

  • 機能的に元のアプリケーションと同等です。
  • 選択した Java または C# で記述されます。
  • オブジェクト指向の概念とパラダイムに従います。
  • 保守が簡単です。
  • パフォーマンスが、置き換えるアプリケーション以上です。
  • クラウド対応です。
  • 標準の DevOps ツールチェーンとベスト プラクティスを使用して配信されます。

リファクタリング プロセスには、フローの正規化、コードの再構築、データ レイヤーの抽出、データの再モデル化、および再構築のためのパッケージ化が含まれます。 複製されたコードを特定し、共有オブジェクトに置き換えて、保守と管理を簡単にします。 また、このプロセスでは、データと制御の依存関係を分析することによって、実行されないコードを特定して削除します。

Java および C# 開発者は、標準の DevOps ツールと継続的インテグレーションと継続的デリバリー (CI/CD) の概念を使用して、リファクタリングされたアプリケーションをクラウド最適化用に適応させます。 このようなツールと方法は、メインフレーム アプリケーションでは使用できません。 最適化により、効率性とともに、弾力性、詳細なサービス定義、クラウド ネイティブ サービスとの簡単な統合などのビジネス上の利点が得られます。

考えられるユース ケース

自動リファクタリングは、ほとんどの COBOL 言語およびプラットフォーム (z/OS、OpenVMS、VME など) に対応しています。 これを使用する候補には、次のことを求める組織が含まれます。

  • インフラストラクチャを最新化して、メインフレーム システムの高コスト、制限、柔軟性不足を回避する。
  • COBOL およびメインフレーム開発者の不足のリスクを回避する。
  • 運用コストと資本支出を削減する。
  • 長期にわたる手作業での書き換えのコストとリスクなしに、メインフレーム ワークロードをクラウドに移動する。
  • 他のオンプレミス アプリケーションで継続性を維持しながら、ミッション クリティカルなアプリケーションをクラウドに移行する。
  • システムを水平および垂直方向にスケーラブルにする。
  • ディザスター リカバリー手法を実装する。

考慮事項

Microsoft Well-Architected Framework に基づくこのセクションの考慮事項が、このソリューションに適用されます。

DevOps

リファクターは、迅速なクラウド導入をサポートするだけでなく、DevOps およびアジャイル開発原則の導入を促進します。 お客様は開発および運用デプロイを自在に選択できます。

[信頼性]

  • このアーキテクチャでは、Azure データセンターで障害が発生した場合の迅速なフェールオーバーおよびディザスター リカバリーのために、Site Recovery を使用して VM をセカンダリ Azure リージョンにミラー化します。
  • SQL Database の自動フェールオーバー グループ機能により、セカンダリ リージョンへのデータベースのレプリケーションおよびフェールオーバーを管理することで、データ保護を実現できます。 詳細については、「自動フェールオーバー グループの概要およびベスト プラクティス (Azure SQL Database)」を参照してください。
  • 回復性は、ロード バランサーを使用してこのソリューションに組み込まれています。 1 つのプレゼンテーションまたはトランザクション サーバーで障害が発生した場合、他のサーバーがワークロードを実行します。
  • 可用性を向上させるために、VM の可用性セットを作成することをお勧めします。 詳細については、「可用性セットの概要」を参照してください。
  • 信頼性を高めるために geo レプリケーションを使用することをお勧めします。 詳細については、「Azure Storage の冗長性」を参照してください。

スケーラビリティ

このソリューションでは、コンテナー、VM、または Virtual Machine Scale Sets でのデプロイがサポートされています。 コンテナーと Virtual Machine Scale Sets は、VM とは異なり、迅速にスケールアウトおよびスケールインします。 スケーリングの単位をコンテナーにシフトすると、インフラストラクチャの使用率が最適化されます。

セキュリティ

  • このソリューションでは、Azure ネットワーク セキュリティ グループを使用して、Azure リソース間のトラフィックが管理されます。 詳細については、「ネットワーク セキュリティ グループ」を参照してください。
  • Azure SQL Database 用 Private Link は、Azure ネットワーク バックボーンに分離され、VM と SQL Database 間で実行されるプライベートな直接接続を提供します。
  • Azure Bastion は、開いているポートを最小化することで、管理者アクセス セキュリティを最大化します。 Bastion は、TLS 経由で Azure portal から直接、仮想ネットワーク VM に安全かつシームレスに RDP/SSH 接続できます。

コスト最適化

  • Azure では、リソースの種類の適切な数を特定し、時間の経過に伴う支出を分析し、超過出費のないようビジネス ニーズに合わせて事前にスケーリングして、不要なコストを抑えます。
  • Azure では、VM で実行することでコストを最小限に抑えます。 使用されていない VM をオフにし、既知の使用パターンのスケジュールを指定できます。 VM のコスト最適化の詳細については、「仮想マシン」を参照してください。
  • このアーキテクチャの VM では、Premium SSD または Ultra Disk Storage を使用します。 ディスク オプションと価格の詳細については、「Managed Disks の価格」を参照してください。
  • SQL Database は、自動的にスケーリングするサーバーレス コンピューティングおよび Hyperscale ストレージ リソースを使用してコストを最適化します。 SQL Database のオプションと価格の詳細については、「Azure SQL Database の価格」を参照してください。
  • このソリューションの実装のコストを見積もるには、料金計算ツールを使用します。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

その他の共同作成者:

次のステップ

  • 詳細については、legacy2azure@microsoft.com にお問い合わせください。

Azure

Astadia の Web サイト

その他