多くのメリットがあるマイクロサービス化だが、当然デメリットもある。

 例えば、ビジネス・業務観点で意味のある単位に、機能をマイクロサービスとして切り出し、その集合体としてシステムを構築すると、全体的な整合性の確保が困難になったり、運用上の複雑性が増したりすることが想定される。複数のマイクロサービスを呼び合うことで、一つの処理を実現するようなケースでは、パフォーマンス劣化が発生することも予想される。

 しかし、デメリットも多くは乗り越えられる(図8)。例えばDevOpsの仕組みを活用することで、マイクロサービスの資源管理やデプロイ作業を自動化し、開発環境の管理や運用作業を省力化できる。また、サービスバーチャライゼーション(サービス仮想化)のツールを活用することで、サービス間連携のテストが容易になり、多数のマイクロサービスを同時に開発することも可能になる。

図8●マイクロサービス化のデメリットと対策
[画像のクリックで拡大表示]

残ったモノリシックシステムへの対処

 モノリシックなシステムから一部機能をマイクロサービスとして切り出した場合、残っているモノリシックシステムの機能についても、保守・運用の効率性を高める取り組みを考える必要がある。

 昨今では、メインフレーム上のアプリケーションであってもDevOpsの仕組みを取り入れることが可能になってきた。その仕組みとは、メインフレーム上で動くアプリケーションのエミュレーターをクラウド上に構築することで、メインフレームのアプリケーションと同じ動きをするもの。メインフレーム固有の文字コード(EBCDIC)や、メインフレームのアプリケーション固有の動きもエミュレーションするため、メインフレームで動作確認する前のテストをクラウド環境で行える。

 メインフレームと新プラットフォームの両方に、ハイブリッドなDevOpsの仕組みを構築することにより、何の機能がどこに配置されているか、いつ更新され、いつ配置されたかを統合的に一元管理、トレースすることも可能になる。メインフレームと新プラットフォーム双方の開発工程をできるだけ自動化し、システム全体のライフサイクルを早められる。

次ページ以降は日経 xTECH Active会員(無料)の方のみお読みいただけます。