AI MIGRATION

AIマイグレーション

古いシステムを、同じ動きのまま新しいアーキテクチャへ

長年使ってきたシステムのソースコードをAIで解析し、今と同じ動きのまま新しいアーキテクチャへ移します。言語は Go などに書き換え、設計は移行先に合わせて組み直し、動かす環境もクラウドなどへ移せます。旧コードの動きをテストに起こして新しいコードで確かめ、セキュリティのセルフ診断を済ませてから、新しい GitHub リポジトリで納品します。

秘密保持契約を結んだうえでソースコードを GitHub で共有いただければ、すぐにお見積もりをご提示します。

こんなときにご相談ください

AIマイグレーションのご相談は、次のような理由から始まることが多くあります。

古くなったシステムを、今の動きのまま新しくしたい

業務の手順や扱うデータは変えず、言語・設計・動かす環境といった中身だけを新しくします。旧コードから作ったテストで、今と同じ結果が出ることを確かめます。

保守が難しく、引き受け手もいない

古い言語を扱える技術者は年々減っています。採用しやすい言語へ移し、仕様書と設計書も残すので、保守を引き継ぎやすくなります。

セキュリティに不安がある

サポートの終わった言語やライブラリには、脆弱性が見つかっても修正が出ません。サポートの続いている言語とライブラリへ移し、診断ツールで点検してから納めます。

機能を足したい、ほかのシステムやAIとつなぎたい

古い構成のままでは、APIの追加やAIの組み込みが難しいことがあります。移行に合わせて、ほかの仕組みとつなぎやすい構成に整えます。

サーバーや運用の費用を見直したい

Go のように少ない資源で動く言語へ移し、クラウドやコンテナで動かせる形にします。サーバーの台数や運用の手間を見直すきっかけになります。

社内で保守できるようにしたい

社内の開発者が使っている言語にそろえれば、外部に頼らず改修できます。設計書とテストも一緒にお渡しするので、引き継ぎの手間を抑えられます。

  • 設計書が残っておらず、仕様はソースコードの中にしかない
  • 移行の見積もりを頼んでも、調査に時間がかかって話が進まない

こうした状態でも始められます。ソースコードがあれば、AIで読み解いて仕様を文書に起こし、すぐにお見積もりをご提示します。

リポジトリを共有いただければ、すぐに見積もれます

言語の移行の見積もりは、ふつう今のシステムの調査から始まります。資料を集め、担当の方に話を聞き、規模をつかむまでに時間がかかります。

ミューオンは、この調査をAIで進めます。秘密保持契約を結んだうえで GitHub のリポジトリに読み取りの権限をいただければ、ソースコード全体をAIで解析し、作業の量を見積もります。打ち合わせを重ねる前に、費用と期間の目安をお伝えできます。

01

規模と構成

コードの量、画面・バッチ・APIの数、使っている言語とフレームワークを数えます。

02

データと外部との連携

データベースの構成と、ほかのシステムや外部サービスとのつなぎ方を洗い出します。

03

移しにくいところ

移行先の言語に置き換えのない機能や、書き方の古い部分など、手間のかかる箇所を見つけます。

お預かりしたソースコードの解析には、入力したデータを学習に使わない契約条件のAIサービスを使います。

進め方

  1. 秘密保持契約の締結

    ソースコードをお預かりする前に、秘密保持契約(NDA)を結びます。

  2. リポジトリの共有とお見積もり

    GitHub でソースコードを共有いただき、AIで解析して見積もります。移行先の言語や、移行に合わせて変えたいことがあれば、このときにうかがいます。

  3. 解析と仕様の書き起こし

    ソースコードをAIで読み解き、今のシステムが何をしているかを文書に起こします。画面・処理・データ・外部との連携の単位で整理します。

  4. 設計の組み直し

    書き起こした仕様をもとに、移行先の言語と、クラウドなどの動かす環境に合った構成で設計し直します。使われていない機能や重複した処理は、移すかどうかを一緒に決めます。

  5. 新しい言語での実装

    新しい設計に沿って、AIを使って実装します。書いたコードは、次の 2 つの段階で動きと安全性を確かめてから納めます。

  6. 旧コードから作ったテストでの動作確認

    旧コードの動きをテストに起こし、新しいコードが同じ結果を出すかを確かめます。結果が違うところは、原因を調べて直します。

  7. セキュリティのセルフ診断

    セキュリティの診断ツールで新しいコードを点検します。見つかった問題は直してから納めます。

  8. 新しいリポジトリで納品

    新しいコード一式を、旧システムとは別の GitHub リポジトリに入れて納品します。設計書やテスト、診断の結果も一緒にお渡しします。

コードを書き写すのではなく、設計から組み直す

AIを使えば、古いコードを一行ずつ別の言語に置き換えることはできます。ただ、それでは古い言語の書き方や、当時の制約に合わせた回避策まで一緒に移ります。言語が変わっても、改修しにくさは残ります。

ミューオンは、まずコードから仕様を取り出し、その仕様をもとに、移行先の言語と動かす環境に合わせて設計し直します。動きは今のシステムに合わせ、中身は新しい言語の書き方でそろえます。

コードを書き写すだけの移行 設計から組み直す移行
古い言語の書き方や回避策が、そのまま残る 移行先の言語の書き方と、標準的な構成で書く
使われていない機能やコードも、一緒に移る 使われていない機能を洗い出し、移すかどうかを決める
設計書は残らず、仕様はコードの中にしかないまま 解析した仕様と新しい設計を、文書にして納める
今と同じ動きをするかは、使ってみるまで分からない 旧コードから作ったテストで、同じ結果を出すことを確かめる

動きと安全性を確かめてから納める

旧コードから作ったテスト

今のシステムが、どの入力に対してどの結果を返すか。旧コードを読んでその動きをテストに起こし、まず旧システムで通ることを確かめます。同じテストを新しいコードに流し、結果が一致するかを比べます。

テストは納品物に含めます。移行したあとの改修でも、動きが変わっていないかをすぐに確かめられます。

セキュリティのセルフ診断

納品の前に、セキュリティの診断ツールで新しいコードを点検します。

  • ソースコードの静的解析で、脆弱性につながる書き方を探す
  • 使っているライブラリに、既知の脆弱性がないかを調べる
  • パスワードや API キーがコードに混ざっていないかを調べる
  • OWASP ASVS の項目に沿って、認証やアクセス制御などを点検する

結果は報告書にまとめ、見つかった問題と直した内容を記します。

納品するもの

  • 新しいコード一式(旧システムとは別の GitHub リポジトリに入れてお渡しします)
  • 旧システムの解析結果(仕様書)
  • 新しいシステムの設計書
  • 旧コードから作ったテストと、新旧の結果を比べた記録
  • セキュリティのセルフ診断の報告書
  • ビルドと起動の手順書

移行先の言語

移行先は、システムの用途と、移行後に保守する体制から選びます。ご希望の言語があれば、それに合わせます。

  • Go
  • TypeScript
  • Python
  • React・Vue(画面)
  • PostgreSQL・MySQL(データベース)

移行元の言語は問いません。まずリポジトリを拝見し、どの程度の作業になるかを見極めます。

よくあるご質問

ソースコードが GitHub にない場合も頼めますか。
はい。GitHub で共有いただくのがいちばん早く進みますが、ほかの方法での受け渡しもご相談ください。
ソースコードをAIに読ませても大丈夫ですか。
秘密保持契約を結んでからお預かりします。解析に使うAIは、入力したデータを学習に使わない契約条件のサービスを選びます。
AIが書いたコードの品質が心配です。
品質は、旧コードから作ったテストで確かめます。新旧のシステムに同じテストを流し、結果が一致することを確かめてから納めます。セキュリティの診断ツールでも点検し、見つかった問題は直します。テストは納品物に含めるので、あとから動きを確かめ直すこともできます。
移行に合わせて、機能を足したり変えたりできますか。
できます。ただ、動きを変える部分は旧システムと結果を比べられなくなるため、変える範囲を最初に決めておきます。まず今と同じ動きで移し、そのあとで変える進め方もあります。
一度に切り替えるのが不安です。
機能ごとに分けて、少しずつ新しいシステムへ移すこともできます。進め方は業務システム開発のページで紹介しています。
納品後の保守もお願いできますか。
はい。年単位の保守契約でお引き受けします。保守費用のお支払いは、月額か年額かを選べます。

AIマイグレーションの見積もりを依頼する

移行したいシステムと、移行先の言語のご希望をお知らせください。秘密保持契約を結んだうえで GitHub のリポジトリを共有いただければ、すぐにお見積もりをご提示します。

お問い合わせフォームへ