IBM Consulting
アプリケーション・ モダナイゼーションの基本
2021年11月24日
カテゴリー IBM Consulting | アプリの開発とモダナイゼーション | クラウドサービス
記事をシェアする:
アプリケーション・モダナイゼーションとは何なのか。なぜ、いま必要とされるのか。この記事では、その基本から実現に向けたロードマップ、ソリューション、アーキテクチャーの概要までを紹介します。
“2025年の崖”克服に向けたITシステムの方向性
ここ数年、ビジネスの最前線で話題に上ってきたのが「2025年の崖」という言葉です。経済産業省は、「デジタルトランスフォーメーションレポート〜ITシステム『2025年の崖』の克服とDXの本格的な展開〜」※1を発表しました。
これによると、多くの経営者が、将来の成長、競争力強化のために、新たなデジタル技術を活用して新たなビジネスモデルを創出し、柔軟に改変するデジタル・トランスフォーメーション(以下、DX)の必要性を理解しているとされています。
ですが、既存システムの多くは、事業部門ごとに構築されて全社横断的なデータ活用ができなかったり、過剰なカスタマイズがなされていたりなどの理由で複雑化、ブラックボックス化しています。たとえ経営者がDXを望んでも、課題を解決しなくてはならず、そのためには業務自体の見直し、すなわち経営改革を求められます。一方で、現場サイドの抵抗も大きく、いかにこれを実行するかが課題となっています。
こうした課題を克服できないと、DXが実現できないだけでなく、2025年以降、年間で最大12兆円、現在の約3倍の経済損失が生じる可能性があります。それが2025年の崖です。では、2025年の崖を、逆に飛躍のきっかけにするには何が必要なのでしょうか(図1)。
※1:ITシステム「2025年の崖」の克服とDXの本格的な展開(経済産業省)
https://www.meti.go.jp/shingikai/mono_info_service/digital-transformation/20180907_report.html
図1:2025年の崖を飛躍のきっかけにするには
(出典:経済産業省デジタルトランスフォーメーションに向けた研究会2018年9月7日発行DXレポート〜ITシステム「2025年の崖」の克服とDXの本格的な展開〜)
アプリケーション・モダナイゼーションの進め方
2025年の崖を飛躍のきっかけにするために技術面で重要なのが、クラウドネイティブ・コンピューティングです。そして、クラウドネイティブなアプリケーションを実現するアプリケーション・モダナイゼーションの技術的要素が「マイクロサービス」です。DXの実現には、新たなアイデアや市場環境の変化をとらえビジネスにつなげるために、アプリケーションをいかに柔軟かつすばやく構築できるかが鍵となっています。これまでの基幹系システムが苦手としていた変化への対応力が、マイクロサービスは非常に優れており、従来型のモノリシック(一枚岩)なシステムを、いかにマイクロサービス化するかがポイントとなるのです。
マイクロサービスとは、Restful APIなどを介し、小さな複数のサービスをつなぎ、1つの大きなサービスを構築する手法のことで、Uberが配車やGPSなど細かなサービスを組み合わせて、短期間で米国のタクシー業界を震撼させる仕組みを構築したことで知られています。こうした事例が「破壊的イノベーション」として取り上げられ、その中核技術としてマイクロサービスが注目されています。
マイクロサービス化への具体的な戦略として、最も重要なのが「リフト&シフト」です(図2)。ITリソースをまずはモノリスなままクラウド型へと移行(リフト)し、そこからさらに、クラウドの長所を最大限に生かせる分散型のクラウドネイティブ・アプリへと進化(シフト)させる方法です。
クラウドネイティブ・アプリに移行できれば、クラウド基盤を最大限に活用することで、DevOpsを前提にした素早いアプリケーションの開発とリリース、柔軟なアプリケーションの変更といった自由度が格段に高まります。
図:2リフト&シフトによるクラウド導入戦略
アプリケーション・モダナイゼーションの3つのパターン
クラウドネイティブ・アプリの狙いは、アプリケーションの保守を可能にするサービス化による、柔軟なモジュラー構造の実現にあります。
従来型のモノリスな仕組みは、UI、ビジネスロジック、データベースアクセスといったライブラリー同士が密結合しているため、一度構築したアプリケーションの変更が難しいです。一方で、マイクロサービスは各サービス間が疎結合であるため、ビジネス要件の変更があっても柔軟にアプリケーションを変えられるのがメリットです(図3)。
図3:マイクロサービスのコンセプト
ここで、既存のアプリケーションをモダナイゼーションする際のパターンを見ていきましょう(図4)。
最も取り組みやすいタイプIは、統合型のデータベース上で、インフラをコンテナ・ベースに置き換えることでクラウド対応のアプリケーションにリフトするパターンです。また、タイプIIではその上のアプリケーションをマイクロサービスによって分散化させます。さらに、モダナイゼーションの最終形であるタイプIIIでは、データベースも分散設計にすることで、基盤も含めた分散化を可能にします。データベースの運用やスキーマ更新を柔軟化できるのは大きなメリットである一方、データベースの結果整合性を許容しなくてはならないなどの課題も出てきます。流れとしては、低リスクのタイプIから、アプリケーションのモダナイズであるタイプII、さらにデータベースの改革へと段階的に着手するのが一般的なパターンと言えます。
タイプIIIでは、データベースの容易な変更のため、各サービスを介して分散データベースにアクセスするアーキテクチャーとなっています。複数のサービスが1つのデータベースに直接アクセスするようなパターンを取った場合、データベース・スキーマの変更が複数のサービス実装の変更に波及してしまいます。これではデータベースの容易な変更が阻害されます。そこで、データベース・スキーマ変更によるアプリケーション・ロジックへの影響を最小化するために、各データベースにはそれぞれ特定の1つのサービスを介してアクセスするようなアーキテクチャーを取っています。
マイクロサービスでは、開発、運用の流れという観点で、ドメイン分析・設計、開発、運用という流れで組むことが多いです。ICTアーキテクト、ソフトウェアエンジニア、SRE(Site Reliability Engineering)エンジニアが担うのは従来どおりですが、ドメイン分析・設計のフェーズを、ビジネス・スペシャリストが担当する点がこれまでとの大きな違いとなっています。
注意しておきたいのは、アプリケーション・モダナイゼーションのプラットフォームは画一的なものではないということです。アプリケーションの変更が頻繁でなければ現状のままモノリスな仕組みを残し、アプリケーションの新規開発や既存アプリの作り直しのみマイクロサービス化するといった方法が適しているケースもあります。必ずしも、マイクロサービス化と分散データベースへの刷新がベストな選択というわけではないということです。
図4:アプリケーション・モダナイゼーションの3つのパターン
コンテナとKubernetes
タイプIの要であるコンテナは、アプリケーションの実行に必要なOSのライブラリーやランタイムをアプリケーションとともにパッケージ化し、開発、テスト、本番環境への簡単な移行や、高速起動、高速スケールを実現します。代表的なサービスとしてDocker、コンテナの管理ツールとしてKubernetesが知られています。
仮想サーバーごとにゲストOSの立ち上げが必要な従来型の仮想マシン(VM)よりも、コンテナの方がホスト可能なアプリケーションがずっと多いことや、処理が軽いこと、起動が非常に速いことが特徴です。モノリスとクラウドネイティブ環境の双方向への展開が容易であることが、モダナイゼーションの中核技術になっていることの理由です。
DevOpsの実現
ここまで見てきたように、超分散型ともいえるマイクロサービスのアーキテクチャーを実装しようとした際に、その開発と運用の体制を組むのに重要なキーワードがDevOpsです。
マイクロサービスでは、ドメイン分析・設計、開発、運用というプロセスを繰り返すアプローチを取ります。それを実行するのは、ビジネス、アプリ開発と基盤担当者で混成する1チーム体制です。この時、最も適している構築手法がDevOpsの実現と切り離せないアジャイル・プロセスなのです。
具体的には、継続的デリバリーや継続的インテグレーション、ドメイン駆動設計、サイト・リライアビリティ・エンジニアリング、スクラムといった方法論を用いることが、DevOpsの成功、ひいてはアプリケーション・モダナイゼーションの実現へとつながっていきます。言うまでもなく、アプリケーション・モダナイゼーションによって実現する変化対応力の高いシステム環境は、デジタル化によってめまぐるしく移り変わるビジネス要件への柔軟な対応力につながります。すなわち、DXの原動力になるのです。
プラットフォームを最適化するIBMのサービスとソリューション
2025年の崖を控え、その対応が必要となる中で、ビジネスで勝ち抜くための最新のプラットフォームが必要になります。IBMでは、「デジタルサービス・プラットフォーム」や「IBM Cloud Paks」など、ユーザー企業をサポートする効果的な仕組みを提供しています。これらを活用していくことで、アプリケーション・モダナイゼーションを効率的に進めていくことができます(図5)。
デジタルサービス・プラットフォーム (DSP) は、業界や事業特性ごとに共通して必要となるDXの共通基盤を提供するソリューションです。IBMが予め構築・テストした業界別の基盤とガイドと運用の提供により、お客様のDXシステム構築の効率化をはかると同時に、堅実な運用を支えます。
また、IBM Cloud Paksは、ビジネスにインテリジェントなワークフローを実装することで、デジタル変革を加速させる、ハイブリッドクラウド向けのAIを搭載したソフトウェアです。アプリ開発を加速させ、シームレスな統合を実現し、コラボレーションと効率の向上を支援するエンタープライズ・コンポーネントの共通の基盤を備えています。
図5:アプリケーション・モダナイゼーションのロードマップ例
関連情報
関連サービスとソリューション
【PMキャリアカフェ】プロジェクトの幸せのためにPMが取り組むこと
IBM Consulting
近年、ビジネスの現場における心理的安全性が注目されています。心理的安全性とは、組織の中で自分の考えや気持ちを誰に対しても安心して率直に発言できる状態が保たれていることを指し、心理的安全性の高い組織やチームほどパフォーマン ...続きを読む
モダナイゼーションとは
アプリの開発とモダナイゼーション, デジタル変革(DX)
モダナイゼーションとは 「モダナイゼーション」とは、レガシー・システムを最新のテクノロジーやトレンド、業界標準に合わせて最適化し、新たな価値を生み出すように変革することです。古いハードウェアやソフトウェアを最新のものに置 ...続きを読む
ハイブリッド・クラウドでコスト削減、およびアプリケーション・モダナイゼーションROI向上へ
IBM Cloud Blog, IBM Cloud チュートリアル, アプリの開発とモダナイゼーション...
IBM Z and Cloud モダナイゼーション・センターを利用すれば、かつてないほど簡単にビジネスのモダナイゼーションが実現可能です メインフレーム・アプリケーションをモダナイゼーションするにはどのようにアプローチし ...続きを読む