.NETモダナイゼーション

レガシー.NETを前へ。 事業を止めることなく

そのアプリケーションは今も事業を動かしています。だからこそ、誰も手を付けたがりません。私たちはWebForms、WCF、VB.NET、.NET Frameworkのシステムを少しずつ最新の.NETへ移行し、旧システム側に何も残らなくなるまで新旧を並行稼働させます。

こんな状況ではありませんか

  • WebFormsやWCFのアプリケーションが今も事業の重要な部分を支えているが、開発した人たちはもういない。
  • モダナイゼーションの見積もりはどれも、ロードマップを凍結する余裕のない全面書き直しだった。
  • アプリケーションが他の環境で動かないため、Windows ServerとIISから離れられない。
  • セキュリティやコンプライアンスの監査で、サポート切れのフレームワークのバージョンを毎回指摘される。

モダナイゼーションの進め方

毎回同じ形で進めます。最後までやり遂げられたのを私たちが見てきたのは、この方法だけだからです。

調査ではなく経験に基づくアセスメント

以下のリストにあるすべてのスタックで本番コードを書いてきたため、アセスメントは費用をいただく調査フェーズではなく、経験の照合で済みます。

まずビルドを解き放つ

SDKスタイルのプロジェクト、マルチターゲットの共有ライブラリ、そして自動で回るパイプライン。移行が終わる前から効果を発揮し、以降のすべてを再現可能にします。

一括刷新ではなく、ストラングラーで

新しいスタックを旧システムの横に立ち上げます。スライスは同じURLの裏側で1つずつ移行し、それぞれに切り戻しの手段を用意します。

御社チームが完遂できる状態に

各スライスはパターンとして文書化します。目指すのは、後半のスライスを御社の開発者が担い、私たちがレビューする形です。

スコープ固定の導入プラン

マネージャーが承認できる最初の一歩

どの案件も、以下のいずれかから始められます。それぞれに名前があり、着手前に書面で定めたスコープがあるため、最初の判断は小さなもので済みます。より大きな取り組みを決める前に、私たちの仕事の進め方をご確認いただけます。

2週間

モダナイゼーション・アセスメント

ソリューション内のすべてのプロジェクト、依存関係、ホスティングの前提を、移行後の姿に対応付けます。そのうえで、1フェーズずつ予算化できるストラングラー計画として費用を見積もります。

含まれる内容

  • プロジェクト、パッケージ、サードパーティ製コントロール、COM相互運用の棚卸し
  • 機械的に移植できるもの、実質的に書き直すもの、移行すべきでないものの切り分け
  • リスク順に並べた、見積もり付きの段階的な移行計画
  • 費用を負担する方々への説明セッション

得られる成果

予算申請にそのまま使える、費用見積もり付きの段階的な計画。作業を当社に依頼するかどうかにかかわらず、お手元に残ります。

このプランについて相談する
3週間

ビルド・パイプラインのモダナイゼーション

SDKスタイルのプロジェクト、最新のパッケージ管理、そして自動で回るCIパイプライン。地味ですが、以降のすべてのステップを再現可能にする工程です。

含まれる内容

  • レガシーなcsprojとpackages.configの変換
  • 移行に向けた共有ライブラリのマルチターゲット化
  • 変更のたびに実行されるCIのビルドとテスト
  • 適した場合はコンテナ化したビルドとデプロイ

得られる成果

どこでも同じようにビルドでき、移行を始める準備が整ったソリューション。移行が始まる前から効果を発揮します。

このプランについて相談する
6〜8週間

最初のスライスの移行

アプリケーションの範囲を限定した一部をモダン.NETへ移行し、同じURLの裏側で旧システムと並行稼働させ、本番環境で実証します。

含まれる内容

  • 価値と切り離しやすさで選んだスライス
  • 旧スタックの横に新スタックを構築
  • ロールバック可能な形で、スライスごとにトラフィックを切り替え
  • 御社チームが繰り返せるよう、パターンを文書化

得られる成果

お客様自身のシステムで実証されたストラングラーパターン。新しい側で実際のユーザーが利用し、残りの部分については実測に基づく見積もりが得られます。

このプランについて相談する

すべてのプランは、スコープを確認したうえで固定価格をお見積もりします。固定価格は変わりません。想定より時間がかかっても、それは私たちの責任であり、お客様の負担にはなりません。

よくあるご質問

WebFormsアプリケーションは書き直さなければなりませんか?

マークアップは、はい。ページライフサイクルとViewStateはモダン.NETに同等のものがありません。しかし、その下にあるビジネスロジックは通常その必要がなく、両者を切り離すことが作業の大部分です。だからこそ、まずアセスメントを行います。

WCFサービスは、既存の呼び出し元をそのまま維持できますか?

多くの場合、はい。呼び出し元が変更できない外部企業である場合は、CoreWCFでSOAPの契約を維持したまま、その裏側をすべてモダン.NETへ移行します。

.NET Frameworkの移行にはどれくらいかかりますか?

コードベースの規模よりも、データ層とサードパーティの依存関係に大きく左右されます。2週間のアセスメントは、まさにその問いに、推測ではなく段階的な見積もりでお答えするためのものです。

VB.NETにも対応していますか?

はい。VB.NETで本番リリースした経験があり、読み解く、移植する、ラップする、いずれにも対応します。現在のチームの誰も開きたがらない部分も含めてです。

まだ.NET Frameworkで稼働していますか?

アプリケーションの役割と、稼働している環境をお聞かせください。移行に実際に何が伴うのか、そして最初のスライスを何にすべきかをお伝えします。