図5は、IaaS、PaaS、SaaSに代表されるクラウドサービスからアプリケーションコンテナ、マイクロサービスへとプラットフォーム技術が進化する流れを示している。
前述の欧州のケースは、国家レベルで開発された自律的な接触追跡アプリケーションが、APIを軸とするフェデレーションゲートウェイサービスを介して、欧州域内をカバーする疎結合型アーキテクチャへ拡張することを想定したモデルとなっていることが分かる。
アプリケーションコンテナ/マイクロサービスに関する技術標準化で先行しているのは米国だ。以下では、米国立標準技術研究所(NIST)が公開したドキュメントより、技術トレンドとセキュリティリスクについて紹介する。
最初に、NISTが2016年2月に公開した 「SP 800-180:マイクロサービス、アプリケーションコンテナ、システム仮想マシンの定義」草案(関連情報)の中で、以下のように定義している。
次に、アプリケーションコンテナの概要とセキュリティの留意点について、NISTは2017年9月に「SP 800-190:アプリケーションコンテナ・セキュリティガイド」(関連情報)を公表している。その中で図6は、コンテナ技術のアーキテクチャ階層と構成要素、ライフサイクルの関係について示したものである。
コンテナ技術アーキテクチャは、以下の5つの要素から構成される。
また、コンテナの開発ライクサイクルは、以下の3つのフェーズから成る。
このようなコンテナ環境の開発フローを効率化、自動化するための代表的ツールが「Docker」であり、オーケストレーターが担う運用管理のための代表的ツールが「Kubernetes」である。
そして、これらのツールを利用する前提条件として、開発と運用が一体化した「DevOps」や、ライフサイクルのプロセス全体を継続的に統合化/自動化する「継続的インテグレーション(CI)/継続的デリバリー(CD)」の導入が欠かせない。医療分野にアプリケーションコンテナを導入する場合、最大の課題は、人的・組織的な開発と運用支援の仕組みづくりであろう。
表1は、NISTが、アプリケーションコンテナのコンポーネントに潜むセキュリティリスクについて挙げた項目である。
アプリケーションコンテナの場合、主要なセキュリティの対象として、基盤となる物理インフラやホストOS、イメージやリポジトリ、コンテナ内で実行されるソフトウェア、そしてオーケストレーターが想定されている。前述の「Docker」や「Kubernetes」を利用したプロセスの効率化・自動化によって、セキュリティ強化が可能となる反面、インフラ側では、オンプレミス型とクラウド型のハイブリッド環境、複数のクラウドサービス事業者にまたがったマルチクラウド環境など、複雑化が進行し、アプリケーション側では、AI(人工知能)、IoT(モノのインターネット)など、新技術機能が矢継ぎ早にリリースされているのが実情だ。
Copyright © ITmedia, Inc. All Rights Reserved.