SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

レッドハットに学ぶ、レガシーモダナイゼーション戦略──ドメイン駆動設計から始める業界横断の成功手法とは?

【15-D-6】レガシーモダナイゼーションに効く!オススメのモダン化手法3選

  • このエントリーをはてなブックマークに追加

 レッドハットは幅広い業種や業界に渡り、顧客のレガシーモダナイゼーションを支援している。実績を重ねることで確立してきたモダン化手法のなかでも、特におすすめの手法が「ドメイン駆動設計」「アジャイルアプローチ」「アプリケーションシンプリファイ(旧ルール駆動開発)」だ。アプリケーション開発企業のエンジニア出身で、現在はレッドハットにてテクニカルセールスとして活躍している暮林達也氏が解説する。

  • このエントリーをはてなブックマークに追加

モダンなアプリケーション開発へ、移行戦略の「6R」とは?

 レッドハットではモダナイゼーションの移行戦略を「6R」と分類している。アプリケーションを廃棄する「Retire」、維持(塩漬け)する「Retain」、新しい筐体へアプリケーションを移行する「Rehost」、アーキテクチャの変更やコードの大幅な変更を必要とせず最適化する「Replatform」、開発方法やアーキテクチャを変更しクラウドネイティブ化する「Refactor」、SaaSへの移行やアプリケーションの一部をサービス(as a Service)に置き換える「Repurchase」の6つ戦略だ。

レッドハット株式会社 テクニカルセールス本部アプリケーションサービスソリューションアーキテクト部 ソリューションアーキテクト OpenShift Japan User Group 暮林 達也氏
レッドハット株式会社 テクニカルセールス本部アプリケーションサービスソリューションアーキテクト部 ソリューションアーキテクト 暮林 達也氏

 「Retain」や「Rehost」なら、少ない労力で移行が可能だ。一方、大胆に作り替える「Refactor」では、大仕事になる分効果も大きい。レッドハットでは、これら「6R」を学ぶことができる実践的なハンズオンのワークショップ「Modern App Development(MAD)Roadshow」を提供している。ここで得られる知識を活かせば、モダナイズの成功が見えてくるだろう。しかし、現実はそう簡単ではない。その理由について、暮林氏は「複雑で混沌とした状況を踏まえて交通整理するのがモダナイゼーション」と説明する。

モダナイゼーションの移行戦略:6R
モダナイゼーションの移行戦略:6R

 モダナイゼーションのプロジェクトは「ほぼジオゲッサー」と暮林氏は言う。ジオゲッサーとは、ブラウザゲームの1つだ。プレイヤーはランダムにGoogleマップ上のどこかの地点に落とされ、周囲に見えるGoogleストリートビューの景色から現在地を当てるルールになっている。モダナイゼーションも、ジオゲッサーのように現在地を探すことから始める。

 モダナイゼーションの方向性を定めていくとき、モダナイズ対象を4象限に分けて現状を整理する。下図のように、対象領域が曖昧であると図の上部に、既存領域に強く依存していると左側に分類される。

3つのモダン化手法の使いどころ
3つのモダン化手法の使いどころ

 図の左上は既存かつ曖昧な領域で、範囲が広くてどこから手を付けたらいいか分からないという状態にあたる。ここでは「ドメイン駆動設計(戦略的DDD)」と呼ばれる手法が使われる。図の左下は、既存で対象が明確なので「アプリケーションシンプリファイ」という手法を利用する。図の右上は曖昧で新規寄りの領域で「アジャイルアプローチ」を使う。また、図の右下は新規システム開発になるので、モダナイゼーションからは対象外となる。順序としては左上のドメイン駆動設計から始めて、アジャイルアプローチかアプリケーションシンプリファイに移ることが多い。

次のページ
現在地の把握に必要な「戦略的ドメイン駆動設計」とは?

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山出 高士(ヤマデ タカシ)

雑誌や広告写真で活動。東京書籍刊「くらべるシリーズ」でも写真を担当。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:レッドハット株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19192 2024/03/29 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング