全1197文字
PR

 マイクロサービスアーキテクチャーを実装するには、サービス同士の独立性を高めて疎結合にする必要がある。疎結合であれば、サービス単位で変更・改修しやすくなり、変化に強いシステムを構築しやすい。

 一方、サービスを疎結合にすることで生じる弊害もある。それが共通処理の実装だ。例えばシステム監視やログ管理などの機能は多くのサービスで必須だが、それぞれのサービスに実装するのは手間がかかる。しかも共通機能の仕様変更が発生した場合、影響範囲が大きくなる。

 こうした課題を解決すべく、コニカミノルタは「サイドカーパターン」を採用した。マイクロサービスの共通処理を提供するコンテナ(サイドカーコンテナ)を構築し、主機能を実装したコンテナからAPI(アプリケーション・プログラミング・インターフェース)を介して呼び出す。

図 コニカミノルタが採用した「サイドカーパターン」
図 コニカミノルタが採用した「サイドカーパターン」
共通機能を備えたコンテナを実装する
[画像のクリックで拡大表示]

 サイドカーパターンは「INFO-Palette Cloud」という複合機向けサービスのシステムに適用した。同システムの基盤はクラウドサービスAmazon Web Services(AWS)の仮想マシンである「Amazon EC2」やコンテナ管理サービスの「Amazon ECS」、イベント駆動コード実行サービス「AWS Lambda」で構成している。顧客の複合機をインターネット経由で同システムに接続し、FAX仕分けやオンラインストレージなど様々なサービスを提供する。

 コニカミノルタの吉田宏樹IoTサービスPF開発統括部アーキテクチャ開発部第1グループグループリーダーは「サイドカーパターンによって、コンピューターリソースの細かな割り当てが可能になるのに加え、改変時の影響範囲を限定できる」と説明する。