Skip to main content Skip to Footer

LATEST THINKING


日本の基幹システムの未来を見据えたIT戦略

マイクロサービスの活用と残存するモノリシックシステムへの対応

現実的なアプローチとトライアル&エラー

前ページで説明したように、レガシー化したシステムをモダナイゼーションするには十分な現状分析に基づく、現実的な計画立案が必要です。とはいえ長期間にわたって作り込まれたシステムは、管理者にも全容が把握できないほど複雑化していたり、ブラックボックス化している部分があったりするため、完全に棚卸しすることは困難です。そのため、ある程度のトライアル&エラーを覚悟しなければなりません。具体的な「現実的アプローチ」として、下記のようなパターンが挙げられます。

  • 仮説に基づくリライトとリビルドを試行し、技術的問題を解消する
  • トライアル&エラーを重ね、段階的に手法をブラッシュアップさせて適用する
  • 試行錯誤を前提とする全体計画を立案する

アクセンチュア株式会社
テクノロジー・コンサルティング本部
マネジング・ディレクター
田畑 紀和

モダナイゼーション計画の2つのステップ

アクセンチュアは数々のモダナイゼーション・プロジェクトに携わった経験から得た知見として、モダナイゼーションの全体計画を2つのステップで構成することを推奨しています。


1 オープン化(現行機能の担保)
2 最適化(リファクタリング)


第1ステップではモダナイゼーションにおいて必須である「現行機能を担保したオープン化」を行います。続く第2ステップは追加要件に該当し、予算や期間に応じて対応範囲を決定します。このように第2ステップをオプション作業として切り分けることで、必須対応を十分に施したうえで、さらなる最適化の実現を目指すことが可能になります。


また、第1ステップと第2ステップでは必要となるスキルやツールが異なります。この点も、プロジェクトのフェーズを分割する方が適していると言える根拠です。この2段階ステップ方式には、次のようなメリットもあります。

  • 最適化作業がうまく適合できないケースに直面しても、現行機能のオープン化は担保できる
  • オープン化と最適化を同時進行すると、現新比較の根拠がなくなりバグ発生時の原因特定が困難になるが、そうした事態を回避できる

モダナイゼーション計画の2つのステップ
モダナイゼーション計画の2つのステップ


1 オープン化(現行機能の担保)
オープン化は次の手順で行われることが一般的です。


1 現行機能の担保のためにJavaなどへの言語変換(リライト)を実施
2 リバースエンジニアリングとフォワードエンジニアリングを組み合わせ、UMLへ落とし込む
3 現新比較のテストを実施し、現行機能が担保されていることを確認する


手順1のリライトでは、「1行ずつの言語変換」を可能な限り避けるべきでしょう。Javaのコードが可読性の悪いCOBOLに近いものとなってしまうからです。ただし「最適化」へのニーズが高くない場合は、コスト面やスピード面ですぐれる1行ずつの言語変換も有効なリライト手法となりえます。ニーズに合わせた適切な手法を選択すべきであるといえます。


手順2のリライトでは、「汚いプログラムがそのままJavaに変換されてしまう」おそれを排除することがポイントです。ターゲトットとなるJavaのアーキテクチャーに則するようにUML上のモデルを修正し、Javaソースコードをフォワードエンジニアリングします。これにより、狙ったJavaアーキテクチャーで適切にクラス分けされたプログラムを実現できます。


オープン化の作業では、移行工数のおよそ半分が手順3の現新比較テストに費やされます。そのため、このステップの作業の効率化と生産性向上がオープン化における従来からの課題でした。近年では「テストの自動化」を実現する、様々な自動化手法やツールが開発されています。たとえばメインフレームのDevOps、RPAによるオンラインテスト自動化、バッチテストツールによる繰り返しなどが有効な手法として活用段階に入っています。テストのプロセスを自動化・効率化することによって、「最適化」に向けた最初のステップである費用削減、期間短縮、品質向上を実現することも可能です。


2 最適化(リファクタリング)
最適化のステップでは主に次のような作業が実施されます。

  • 重複機能の共通化
  • パフォーマスのチューニング
  • データモデルの見直し
  • 新規要件に基づく機能の修正・追加
  • クラウドなどオープン系仮想基盤への移行

このようにして、全体を2つのステップに分けて移行することにより、現行保証をしたうえでの新規要件の取り込みや、機能最適・統合、リファクタリングを実現できます。また、リスク低減にもつながります。


これがアクセンチュアの提唱する最新のモダナイゼーション手法であり、日本企業の基幹システムの移行を成功させるためのアプローチです。アクセンチュアでは蓄積してきた知見に基づき、お客様に最適なシステム移行手法をご提案し、実施のご支援をいたしております。

先を見据えた「次の一手」のために

レガシーシステムのオープン化と最適化を達成しても、企業のIT戦略はそれで終わりではありません。アクセンチュアはエンタープライズITに携わる者として、多くの経営者が抱える問いである「この先もコストをかけて基幹システムを保守し、数年に一度システム刷新を繰り返さないといけないのか。そこから脱却する解は何か」に対する答えを持っています。その答えとして、アクセンチュアは「ソフトウェア主導の高速ビジネス」を実現する、3つのアプリケーション戦略を公開しています。

3つのアプリケーション戦略

  • リキッド(Liquid)戦略
  • インテリジェント(Intelligent)戦略
  • コネクテッド(Connected)戦略

アクセンチュア株式会社
テクノロジー・コンサルティング本部
シニア・プリンシパル
福垣内 孝造


リキッド(Liquid)戦略
リキッドとは、モノリシック(複雑に絡み合う一体化した構造)に対極にある考え方です。アプリケーション機能をモジュール化し、各モジュールを疎結合した軽量な仕組みでAPI連携することで、単一の機能のように実現させます。これは再利用可能なコンポーネントやクラウド上のサービスを積極利用することが前提となっている考え方であると言えます。


インテリジェント(Intelligent)戦略
アクセス可能な社内外のビッグデータを分析し、その結果に基づいてシステムの高度な自動化を実現させるアプローチがインテリジェント戦略です。ルーチン作業やタスクを削減、除去し、抜本的な効率化を図ります。その際、システムに自律性を持たせることで、自動化をさらに推進します。


コネクテッド(Connected)戦略
IoTなどで接続しつつ、ビジネスパートナーやエンドユーザーを巻き込んだエコシステムを構築する戦略です。組織の垣根を超えてアプリケーションの相互接続性を向上させます。


これらのアプリケーション戦略を実行するうえで有効な手法といえるのが「マイクロサービス」です。


マイクロサービスとは
マイクロサービスとは、システム機能をポータビリティーに優れた小さいサービス単位に分割して利用するアーキテクチャーです。ユーザーニーズや市場動向の変化が激しいビジネス環境においても、強い柔軟性と対応スピードを実現できるため、先進的なIT関連企業での採用が進んでいます。


昨今、マイクロサービスを基幹システムへ適用する動きが日本企業でも出始めています。レガシーシステムのような巨大化・複雑化したシステムにマイクロサービスを適用し、変化への対応力を高めることが目的です。



先を見据えた「次の一手」のために
先を見据えた「次の一手」のために

マイクロサービスの特徴
マイクロサービスは次のような特徴を持っています。


  • 小さなサービスを組み合わせてアプリケーションを構築するため、各サービスは独自のプロセス上で動作する
  • シンプルで軽量なプロトコルを利用できる(HTTP上でのREST-JSON方式など)
  • 個々のサービスは自動化されたDevOpsの機能により、独立して本番環境にデプロイ可能
  • 個々のサービスは異なるプログラミング言語で記述可能
  • 個々のサービスは異なるデータストレージ技術を利用可能

マイクロサービスとSOAの違い
機能をサービス単位として切り出し、標準的な連携方式によって呼び出す点でマイクロサービスはSOAと共通しています。しかし従来のモジュール化は「システム機能の類似性」にフォーカスしていました。「サービス化されるシステムそのものに対する改善」という観点も、SOAにはないものでした。


マイクロサービスのメリット

  • 初期構築においては、サービス間の機能連携箇所が増えるため構築の難易度が上がる。しかし機能が集約されているため、改修時の影響範囲特定が容易
  • リグレッションテストも範囲が限定される
  • 各マイクロサービスで最適な技術要素を採用し、実装できる
  • API基盤を導入することで、他のマイクロサービスと相互連携するアーキテクチャーへ移行できる
  • サービスのプロビジョニングを個別に独立させ、迅速かつ正確に実施できる

メリットの多いマイクロサービスですが、モノリシックなシステムから一足飛びにマイクロサービスでの構築へと飛躍することには無理があります。有効な移行は段階的なものであるべきでしょう。その際は「それぞれの観点で切り出し単位を決める」ことが重要です。たとえば「どのような機能を」、「どのような粒度で切り出すのか」といった業務の観点やシステム運用の観点、機能とデータの類似性の観点、トランザクション単位などが設計上のポイント(観点)となります。


先を見据えた「次の一手」のために
先を見据えた「次の一手」のために

マイクロサービスの弱点と対策
多くのメリットがあるマイクロサービスですが、その特徴ゆえの弱点もあります。機能をサービス単位で切り出し、その集合体がシステムとなる場合、次のような課題点が考えられます。

  • 全体的な整合性の確保が困難になる
  • 運用上の複雑性が増す
  • 複数のマイクロサービスを呼び出して1つの大きい処理を実現しようとする場合に、パフォーマンスの劣化が予想される

しかし、こうした弱点に対する対策も研究が進んでおり、十分に克服されています。


DevOpsの仕組みを活用することで、「資源管理・デプロイ作業の自動化」や「開発環境の管理や運用作業の効率化」が可能になるほか、サービス仮想化ツールを利用することで、サービス間連携のテストが容易になります。これらのことにより、多数のマイクロサービスの同時開発が行えるようになります。

残存するモノリシックシステムへの対応


モノリシックなレガシーシステムから一部の機能を切り出してマイクロサービス化した後、残存しているモノリシックシステムの機能の保守運用をどのように効率化していくべきでしょうか。

近年では、メインフレーム上で動作するアプリケーションにDevOpsの仕組みを導入することが可能になりました。新プラットフォームとメインフレームの両方にハイブリッドなDevOpsの仕組みを構築することができるのです。その仕組みは以下のような構造となっています。

  • メインフレーム上で動作するアプリケーションのエミュレーターをクラウド上に構築
  • このテストクラウド環境を使うことで、メインフレーム固有の文字コード(EBCDIC)や、メインフレームのアプリケーション固有の動きをエミュレート可能

これにより、各機能がどこに配置されているか、いつ更新されたのか、いつ配置されたのかを統合的かつ、一元的に管理できるようになります。メインフレームと新プラットフォーム双方の開発工程を可能な限り自動化し、システム全体のライフサイクルを早めることができます。

アクセンチュア株式会社
テクノロジー・コンサルティング本部
シニア・マネジャー
中野 泰秀
残存するモノリシックシステムへの対応
残存するモノリシックシステムへの対応

モダナイゼーションと将来構想


モダナイゼーション計画においては、プラットフォームのクラウドへの移行も検討すべきテーマです。クラウドを活用することで以下のようなメリットを享受できます。

  • インフラコストの削減
  • 環境のクイックな立ち上げ
  • 様々な環境を試行した上での最適なソリューションの見極め
  • 柔軟な拡張性

本記事作成時点(2017年7月)ではメインフレーム上で稼働中のアプリケーションを、クラウド上の仮想化環境へダイレクトに移行する手段は確立されていません。そのためリビルドの手法を採用することになります。とはいえ、OSやミドルウェア、アプリケーション層の要素をクラウドベンダーに一任することで移行作業の対象を削減できる可能性があるほか、コンテナ技術を使うことでインフラ層との結合度が低下し、ポータビリティーも向上します。


もちろんレガシーシステムのあらゆる機能をクラウドへ移行できるわけではありません。クラウドベンダーのサービス内容と自社システムの構成要素を見極めることが必要です。下記の要素は特に検討が必要とされる事項の一例です。


  • ソフトウェアにおける制約
  • セキュリティ上の制約
  • 法的、コンプライアンス面からの制約
  • 非機能要件の順守
  • 運用ツールの利用可否

提言・将来のレガシー化を回避するために


本記事では主にレガシー化している基幹システムを中心に、効果的なモダナイゼーションを実現する手法を検討してきました。最後に「モダナイゼーション後のシステムの再レガシー化」を回避するための提言を述べたいと思います。

マイクロサービスのような新テクノロジーを採用したとしても、日々の業務と運用によってシステムの肥大化や属人化が起こるリスクは小さくありません。クラウドを利用する場合でも予期しないサービス変更の影響を受ける可能性があります。そうした事態によって、新たなレガシー化が起こることが懸念されます。

再レガシー化を予防するためには、次のような取り組みが有効です。

  • システム全体や各機能が適切に入れ替わり、新陳代謝を促すリキッドな手法を取り入れる
  • インフラの結合度を下げたアプリケーションを構築する

お客様の経営とITの課題を解決し、ビジネス環境の変化に柔軟に対応できるパワフルな基幹システムの構築をアクセンチュアはご支援いたします。モダナイゼーションに関するお悩み、疑問についてはぜひアクセンチュアへお問い合わせください。



 

関連コンテンツ