長年利用してきたWindows環境を、クラウドネイティブやオープンソースの環境へ移行する「モダナイゼーション」。コストや拡張性、サポート終了などの課題を抱える中、企業はどのように既存システムを変えていけばよいのか。移行のポイントを探る。
現場業務を長年支えてきた「Windows ServerやSQL Server」や「.NET Framework」などのMicrosoft製品から、最新のクラウドネイティブかつオープンソース環境へ移行する企業が増えている。一方で、既存のアプリケーションやデータベースを新たな環境へ移行するにはさまざまな課題があり、モダナイゼーションを断念するケースも珍しくない。では、こうした既存のシステム環境をどのようにモダナイズし、移行に伴う負担を抑えながら新たな環境へ移行していけばよいのか。
「モダナイゼーション」は、単に古い機器やシステムを新しくしたり、クラウドへ移行したりするだけではない。市場やビジネス環境の変化にスピーディーに対応できるようIT環境そのものを見直し、企業の柔軟性や対応力を高める取り組みを含めて、モダナイゼーションと呼ぶことが多くなっている。
アマゾン ウェブ サービス ジャパンでソリューション・アーキテクトを務める古屋 楓氏によると、最近、顧客から「Windowsのワークロードを最新のクラウド環境やオープンソース環境へ移行したい」という相談が増えているという。その背景には、Windows環境を使い続けることで生じる、主に4つの課題がある。
まず、無視できないのが「コスト」の問題だ。Windows環境ではライセンス費用が継続的に発生し、システムの規模が大きくなるほど、その負担も増していく。加えて、「スケーラビリティ」の確保にも課題がある。システムの利用状況に応じてサーバを柔軟に増減させたい場合でも、ライセンスの制約や「Active Directory」の運用・管理が壁となり、必要に応じた拡張が難しいケースがある。
さらに頭を悩ませるのが、「サポート終了」への対応だ。「SQL Server 2014」や「Windows Server 2012」など、既にサポートが終了した製品を使い続ければ、セキュリティやコンプライアンスへの対応が難しくなる。サポート終了のたびにアップグレードやシステム移行を迫られ、IT部門の負担も大きくなる。
そして、こうした課題が積み重なることで、「イノベーションの停滞」も起こりやすくなる。既存システムの維持や管理に多くの人員と時間を取られると、新しい技術やサービスの導入に十分なリソースを割けなくなる。その結果、変化するビジネス環境への対応が遅れ、企業の競争力にも影響しかねない。
Windows環境のクラウドネイティブ化やオープンソース化を進める上で、現実的な選択肢となるのが「WindowsをLinux化すること」だと古屋氏は説明する。
実際にLinuxへの移行を実現した顧客の事例(Windowsの利用を70%以上削減し、Linuxを採用したケース)を基に、その効果を整理すると、主に3つのメリットがある。
(1)Windowsのライセンス費用が不要になることで、コストを約40%削減
(3)同一のアプリケーションを実行した場合、パフォーマンスが1.5〜2倍に向上
(3)負荷に応じた柔軟なリソース拡張が可能となり、50%以上のスケーラビリティを確保
さらに、Linux化によって、「AWS Graviton」などのARM64プロセッサにも対応しやすくなり、よりコストパフォーマンスに優れた選択肢を取り入れられるようになる。また、コンテナを利用する場合は、コンテナ自体を軽量化できるほか、コンテナの管理をクラウド側に委ねるサーバレスアーキテクチャへの移行も容易になる。
例えば、「AWS Fargate」のようなサービスを活用すれば、サーバのプロビジョニングや管理にかかる運用負荷を抑えながら、よりクラウドネイティブなアーキテクチャへと段階的に再構成できる。つまり、Linux化は単なるOSの置き換えにとどまらず、コストや性能、拡張性の改善に加え、その先のクラウドネイティブ化を進めるための土台にもなる。
もっとも、Windows環境をLinux化するには、幾つかの課題もある。特に悩ましいのが、「コードの移行」と「データベースの移行」だ。
コードの移行では、まず対象となるアプリケーションのソースコードを分析し、Linux環境でそのまま使える部分と、修正が必要な部分を洗い出す。続いてコードを変換し、動作テストで問題がないかを確認。エラーを修正した上で、検証済みのコードをデプロイするという工程を、アプリケーションごとに繰り返していく。こうした作業には多くの工数がかかる上、アプリケーションやデータベース、インフラなど、それぞれを担当する開発チーム間の連携も欠かせない。
データベースの移行も、単にデータを別の環境へ移せば終わるわけではない。まずデータベースとアプリケーションの依存関係を分析し、データベースのスキーマを変換する。さらに、それに合わせてアプリケーション側のコードを修正・デプロイし、正常に動作するかを検証する。この一連の作業をデータベースごとに繰り返すため、手作業が多くなるほど時間と労力がかかり、ミスも起こりやすくなる。
中でもSQL Serverの移行は、特に複雑になりやすいという。「複数のツールを使い分けながら、多くの作業を手作業で進める必要がある」と古屋氏は、自身の経験を踏まえ、移行作業の難しさを指摘する。
モダナイゼーションの効果を引き出すには、こうした移行作業に伴う課題への対応が欠かせない。コード変換やデータベーススキーマの変換を支援するツールは数多くあるが、組織全体で足並みをそろえ、統一したルールで移行を進めるには、個々のアプリケーションやデータベースに対応するだけでは十分とは言えない。複数のワークロードをまたいでプロジェクト全体を管理し、一元的に移行を進める仕組みが必要になる。
そこで古屋氏が推奨するのが「AWS Transform」だ。これは.NETやSQL Serverをはじめ、UIフレームワークやデプロイメントまで、フルスタックのWindowsアプリケーションとデータベースのモダナイゼーションを支援するサービスだ。
AWS Transformの特徴は、AIエージェントを活用して、コードやデータベーススキーマの変換だけでなく、開発・移行に関わるさまざまな作業を自律的に進められることだ。さらに、単一のアプリケーションにとどまらず、数百に及ぶアプリケーション群をまとめて扱えるため、大規模な移行プロジェクトにも対応できる。
古屋氏は「モダナイゼーションを最大5倍に加速し、運用コストを70%削減可能にする、初のエージェント型AIサービス」と、その効果を強調する。
AWS Transformは、Windowsアプリケーションに限らず、さまざまなワークロードの移行を支援する。ここでは、その中でも「.NET Framework 3.5」以降のアプリケーションを対象に、クロスプラットフォーム化、つまりLinux環境への移行を支援する「AWS Transform for .NET」に焦点を当てる。
AWS Transform for .NETでは、「.NET Framework 3.5」以降のアプリケーションを、クロスプラットフォームに対応した「.NET 8」などへ移行できる。さらに、データベースを「SQL Server」から「Amazon Aurora PostgreSQL」へ、Windowsサーバや仮想マシンを「Amazon Elastic Container Service(Amazon ECS)」「Amazon Elastic Compute Cloud(Amazon EC2)」「Amazon Linux」などへ移行することも可能だ。
このようにAIエージェントを移行作業に組み込むことで、個々の作業を効率化するだけでなく、複数のアプリケーションやデータベースを含む大規模なモダナイゼーションを、より効率的かつ一貫性のある形で進められる。
移行作業では、プロジェクトの開発メンバーが使い慣れた「Visual Studio」の拡張機能や、コード作成を支援する各種AIコードコンパニオンからAWS Transformを利用できる。一方、IT部門向けには専用のWebコンソールを用意している。リポジトリ単位での大規模な移行を一元的に管理できるほか、チーム間の連携も容易にする。
移行プロセスには、AIエージェントが一連の作業を自律的に進める「自律モード」と、プロセスの途中で人間がAIの提案をレビュー・修正しながら進める「対話モード」の2つがある。自律モードは長時間にわたるジョブや夜間バッチなど、人手を介さずに処理を進めたいケースに適している。一方、対話モードは人間によるレビューを随所に挟めるため、個別要件に応じた柔軟なカスタマイズが可能だ。
.NETアプリケーションの移行は、「分析」「変換」「検証」という3つのフェーズを基本に進める。まず分析フェーズでは、AIがアプリケーションのコードを解析し、移行における互換性・非互換性を洗い出した上で、具体的な移行プランを作成する。続いて、そのプランに基づいてコードを変換し、変換後のアプリケーションが想定通り動作するかを検証。検証結果の出力までを一連のプロセスとして自動的に実行できる。
さらに、変換・検証の各フェーズでは、既存のAIコードコンパニオンやAWSのネイティブ機能とも連携できる。これにより、AIによる自動化を活用しながら、企業固有の要件に応じたきめ細かな調整も可能になる。
Visual Studioから実行する場合、分析が完了すると、AIが自動生成した移行プランを確認できる。そこには、変換対象となるコードや実行順序などが整理されており、詳細なレポートとして出力することも可能だ。ユーザーはこのプランを確認した上で、必要に応じてAIに修正を指示できる。
例えば「既に互換性のある.NET Standardはスキップする」といった指示を自然言語で入力すれば、AIエージェントがその意図を理解し、移行プランを自動的に修正する。専門的な設定を一つ一つ手作業で変更することなく、自然言語によって移行方針を柔軟に調整できる点が特徴だ。
全ての変換が完了すると、「トランスフォーメーションレポート」と呼ばれるHTMLファイルが生成される。レポートには、移行の概要や実施した変更内容に加え、変換できなかった項目とその理由などが詳細に記録される。これにより、AIに任せきりにするのではなく、移行結果を人間が確認しながら次の対応を判断できる。
また、これらの情報はWebコンソールからも確認できる。そのため、開発者は「Visual Studio」で移行作業を継続する一方、IT部門や管理チームはWebコンソールから全体の進捗(しんちょく)や結果を把握するといった、役割に応じた協業が可能になる。開発現場の生産性を維持しながら、組織全体で移行プロジェクトを管理できる点も、AWS Transformの特徴だ。
ただし、.NET 8への移行が完了しただけでは、Linux化が完了したことにはならない。Linux環境で動作させるためには、アプリケーションのアーキテクチャそのものを見直す必要がある。
そこで活用するのが、詳細な移行レポートとともに生成される「NextSteps.md」だ。このファイルには、アーキテクチャ変更に必要な残タスクと、その具体的な対応方法が整理されている。開発者はその内容を基にAIコードコンパニオンへ指示を出し、必要な修正を加えながら、Linux環境で動作するアプリケーションへと仕上げていく。
SQL Serverの移行には「AWS Transform for SQL Server」を利用できる。移行先となるのは、オープンソースのPostgreSQL互換データベース「Amazon Aurora PostgreSQL」だ。さらに、移行先の環境と互換性のあるアプリケーションコードへ書き換える機能も備えている。
AWS Transform for SQL Serverでは、分析から変換、検証、デプロイまでの一連の移行プロセスをAIエージェントに任せられる。Webコンソールから移行を指示すると、AIエージェントが対象となるデータベースとアプリケーションコードを分析する。両者の依存関係に基づいて「テーブル」と呼ばれる単位に整理し、データベースの変換、アプリケーションコードの変換、動作検証までを自動的に進める。
一部には、データベースやリポジトリへのアクセス設定など、人が手動で対応する必要のある工程も残る。ただし、その場合もAWS Transformが必要な手順を提示するため、移行担当者はガイダンスに沿って作業を進められる。
なお、データベースの移行処理では、AWSのデータベース移行サービスである「AWS Database Migration Service」(AWS DMS)がバックグラウンドで稼働する。AIによる分析、変換、検証と、AWSの既存の移行サービスを組み合わせることで、複雑になりがちなSQL Serverの移行を効率化できる。
一方、複雑なストアドプロシージャなど、AIだけでは変換が難しい部分については、対象箇所を明示して開発者に引き継ぐ仕組みも用意されている。開発者はAIコードコンパニオンを活用しながら、必要な修正を加えていく。
このように、大規模で定型的な作業はAIエージェントに任せ、個別の判断や専門的な知識が必要な部分は人が対応する。AIによる自動化と人の判断を適切に組み合わせることで、移行作業の効率と品質を両立させる。これがAWS Transformの基本的な考え方だ。
ここまで、AWS Transformを活用したモダナイゼーションの進め方を見てきた。古屋氏は、その効果を示す実際のユーザー事例として、海外企業2社の取り組みを紹介した。
1社目は米国のThe Hartfordだ。同社は.NETアプリケーションをLinux環境へ移行し、.NET 8へモダナイズした。当初は数カ月を見込んでいた移行期間を数週間に短縮したほか、Windowsのライセンス費用をなくすことで、TCO(総保有コスト)の大幅な削減にもつながったという。
もう1社は、グローバル企業のThomson Reutersだ。同社では、.NETアプリケーションをLinux化することで、従来の環境で発生していたメンテナンスの負担を軽減した。こちらも当初数カ月を予定していた移行を2週間に短縮し、約30%のコスト削減を実現したという。
こうした事例を踏まえ、古屋氏は「.NETモダナイゼーションによって、開発時間の短縮、クラウドコストの最適化、モダナイゼーション対象の拡大を実現できる。さらに、その先にある最終的な目的は、ビジネスの俊敏性を高めることだ」と総括した。
レガシーシステムを新しい環境へ置き換えるだけでなく、AIによって移行作業そのものを効率化し、IT環境をビジネスの変化に対応しやすいものへ変えていく。AWS Transformは、こうしたモダナイゼーションを支援するサービスと言える。
本稿は「AWS Summit Japan 2026」における講演内容を編集部で再構成したもの。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。