まだ技術負債で悩んでいる? 数千のコードを“数ドル”で直すAIはどうすごい?:技術的負債の積み上げに終止符
レガシーなシステムの移行やモダナイゼーションを自然言語で効率的に実施したい――。この期待に応えるのがAWSの「AWS Transform Custom」だ。同サービスで実際に成果を出した事例を紹介する。
レガシーなフレームワークの更新、サポート終了への対応、ライブラリの管理――。こうした「技術的負債」への対応は、情報システム部門(情シス)にとって避けて通れないものだ。一つ一つは小さな作業でも、対象が数十、数百のシステムに広がれば、その負担は確実に積み上がる。気付けば、本来取り組むべき改善や新規施策に手が回らない――そんな状況に陥っている現場も少なくない。この“終わらない対応”を抜け出すための選択肢が、AWSの「AWS Transform Custom」だ。本稿は、AWS Transform Customを使うメリットや、実際に使って成果を挙げた企業の事例を紹介する。
AWS Transform Customであの会社はどう成果を挙げた?
AWSのプロダクトシニアマネジャー、エリオ・ダマッジオ氏によると、技術的負債は、単なる保守作業にとどまらず、企業のイノベーションを阻害する要因にもなっている。IT予算の20%が技術的負債の解消に費やされており、米国では年間2.4兆ドルの損失が発生しているという推計もある。
その背景には、技術的負債の対応が単純なアップデートでは済まないという構造的な難しさがある。セキュリティやコンプライアンスへの対応、サポート終了への対処、レガシー環境の維持など、複数の課題が複雑に絡み合うためだ。さらに、企業の合併や買収によって技術スタックが分断され、組織内でバージョンが乱立するケースも少なくない。
こうした状況に対して、従来はルールベースの自動化ツールや、AIチャットbotを用いた半自動的な対応が試みられてきた。しかし前者は柔軟性に欠け、後者は人手に依存するため、大規模なモダナイゼーションには適用しにくいという課題があった。
この限界を踏まえて登場したのがAWS Transform Customだ。AIエージェントがコード生成だけでなく、ビルドやテスト、エラー修正までを自律的に繰り返し、モダナイゼーションを完遂する。ダマッジオ氏は「モダナイゼーションに人間が関与する時間を減らし、完全に自動化することが目的だ」と述べる。
中央で定義し、一括で適用する
大規模な組織において、数百、数千のリポジトリをモダナイゼーションするには何をすればいいのか。AWSのシニアプロダクトマネジャー、モーガン・ルント氏は、中央のプラットフォームチームが変換ルールを定義し、全社に展開する「キャンペーン管理機能」が重要だと説明する。
キャンペーン管理機能では、中央のプラットフォームチームが変換の要件を定義するファイルを作成する。これは、「一度教えれば永続的に適用可能」だとルント氏は話す。コマンドラインインタフェース(CLI)上で自然言語で指示でき、移行ガイドのドキュメントや、変換前後のコードサンプルを含めることができる。「中央で定義することで、組織全体のコーディング規約を一貫して適用でき、知見のサイロ化を防ぐことができる」(ルント氏)
AIエージェントが実行ごとに開発者のフィードバックや修正パターンを学習する「継続的学習」機能により、使えば使うほど組織特有の環境に最適化されていく点も特徴だ。
1リポジトリ数ドルから始める、リスクのないモダナイゼーション
導入の障壁を下げるため、AWS Transform Customは完全従量課金制を採用している。AIエージェントの稼働1分当たり0.035ドルで、ユーザーの待機時間やクライアント側の処理は課金されない。
ダマッジオ氏の試算によれば、約9000行のNode.jsのアップグレードは約0.7ドル。1万1000行程度のJavaのバージョンアップは約2.52ドルで完了する。「まずはドキュメント化や標準的なランタイムのアップグレードから始め、徐々に組織固有の複雑なフレームワーク移行へとステップアップする」というスモールスタートが可能だ。
「後回しにした技術的負債は、いずれ“予定外対応の連鎖”となって跳ね返ってくる」。ダマッジオ氏はこう警鐘を鳴らす。AWS Transform Customは、この課題をAIエージェントに任せ、人間が「イノベーションの創出」に注力できるようにするためのツールという位置付けだ。
実証された効果は
講演では、AWS Transform Customを先行導入した企業の成果が紹介された。
Air Canada(AWS Lambdaのアップグレード)
Air Canadaは、サポート終了が迫るNode.js 16を利用した「AWS Lambda」(サーバレスコンピューティングツール)のアップグレードを実施する必要に迫られていた。加えて、x86(IntelのCPUが起源の命令セットアーキテクチャ)から「AWS Graviton」(AWSが開発したプロセッサ)への移行も視野に入れており、セキュリティと性能の両面で対応が求められていた。しかし、移行の対象は数千規模のコードベースに及び、手作業では期限内の対応が困難な状況だった。
ここでAWS Transform Customを活用した結果、以下を達成できた。
- 約90%の変換成功率(自動化率)
- プロジェクト全体の時間とコストを約80%削減
Twitch(900以上のリポジトリのSDKを更新)
Twitchでは、900以上のリポジトリで旧バージョンのAWS SDK(Software Development Kit)を使っており、新バージョンへの移行が必要だった。このような横断的かつ大規模なコード変更は、従来手法では非常に時間と工数がかかる典型的な技術的負債だ。
しかし、AWS Transform Customを使った自動変換を適用した結果、同社は以下を達成できる見込みだ。
- 各アプリケーションの移行作業時間を約70%短縮
- リポジトリ全913個で約11人年(開発年数)分の工数を削減
QAD(独自プラグインの移行)
製造業向けのERPソフトウェアを提供するQADは、顧客ごとに異なるカスタムプラグインを、旧プラットフォームから新プラットフォームへ移行する計画だった。移行は、独自DSL(ドメイン固有言語)への変換を伴う高度にカスタマイズされたものだ。
AWS Transform Customを使った自動変換を適用した結果、以下を達成することができた。
- 2週間かかっていたプロジェクトを約3日に短縮
- 生産性を60〜70%向上
- 年間約7500時間の開発工数削減
MongoDB(SDKの移行支援)
非定型データを扱うドキュメントデータベース「MongoDB」を提供するMongoDBは、ユーザーが古いMongoDB SDKから新バージョンへ移行し、最新機能を活用できるよう支援した。この結果、JavaアプリケーションのモダナイゼーションとSDK移行を効率化できた。さらに、新機能の活用が可能となり、将来的な技術的負債の発生を抑制することにもつながった。
Copyright © ITmedia, Inc. All Rights Reserved.