BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Docker Inc.が'Docker Datacenter'をリリース,オンプレミスの'CaaS(Container as a Service)'をサポート

Docker Inc.が'Docker Datacenter'をリリース,オンプレミスの'CaaS(Container as a Service)'をサポート

原文(投稿日:2016/02/28)へのリンク

Docker Inc. がDocker Datacenter (DDC)をリリースした。コンテナ化されたアプリケーションやインフラストラクチャの構築,デプロイ,管理を行なう,Dockerを基盤としたCaaS(Container as a Service)の運用を可能にする,サブスクリプションベースのプラットフォームとサポートサービスだ。DDCはDocker Universal Control Plane (UCP)とDocker Trusted Registry (DTR)で構成され,EngineSwarmComposeなど,オープンソースのDockerプロジェクトを組み込みでサポートしている。

Docker DDCのプレスリリースには,この新プラットフォームはあらゆる規模の企業に対応して,オンプレミスないし仮想パブリック/プライベートクラウド内でのCaaS(Container as a Service)デプロイを可能にする,と述べられている。‘CaaS‘という用語は同社の創作ではなく,KubernetesApache Mesos/Mesosphere MarathonAmazon Web ServiceのECSといったコンテナオーケストレーションプラットフォームでも用いられてきたものだ。クラウドベースモデルにおけるCaaSは,PaaS(Platform as a Service)の下位プラットフォームとして,PaaSほどの独自設計プリミティブや’アウト・オブ・ボックス’の機能を持たないのが一般的だ。ただしIaaSよりは上位にあり,一般的なアプリケーションデプロイメントのユースケースにおいて,集約および構成が必要なインフラストラクチャコンポーネントを提供する。

Dockerのブログには,CaaSを利用することで,アプリケーションの開発とデプロイメントの定義の明確化に伴う関心事の分離(separation of concern)が,開発担当者と運用担当者との効率的な共同作業を可能にする,と説明されている。一般的なCaaSのワークフローは,下図に示すようなものだ。左側の開発者(“build”)は,信頼できるベースイメージのライブラリから,アプリケーション関心事のプッシュおよびプルを実行する。右側の運用チーム(“run”)は,デプロイされたアプリケーションやインフラストラクチャの監視と管理を行なう。レジストリ管理(“ship”)にガバナンスを集中して厳格に運用することも,逆に柔軟性を重視して個々の部署やアプリケーションチームに分散することも可能だ。

DDCのイメージレジストリ(DTR)とコントロールプレーン(UCP)コンポーネントは,いずれもコンテナとしてパッケージ化されて動作するので,Dockerコンテナの実行をサポートするホスト環境(現在のLinuxカーネルの大部分)であればすぐにデプロイできる。同じようなデプロイ機構としてはPuppet Labsも,対応するdocker_ucp(v0.1.0)を公開している。DDCはまた,ストレージとネットワーキング,およびセキュリティ証明書の構成を可能にするWebベースの管理ユーザーインターフェイス(UI)も提供する。アプリケーションやリポジトリ,ネットワーク,ボリュームの管理が可能な汎用UIも提供されている。既存のLDAP/ADサービスと統合して,ユーザアカウントにロールベースのセキュリティ管理を適用することも可能だ。

DDCはDocker APIをサポートしているので,Docker EngineやDocker Swarmなどのオープンソースプロジェクトを直接プラットフォームに埋め込むことができる。Dockerのブログには,Docker Composeを使用してアプリケーション構成を定義したり,同じくDocker Toolboxなどのツーリングやコマンドラインアプリケーションを使ってUCPで直接作業することも可能だ,と説明されている。下の図は,アプリケーション開発およびデプロイメントツールチェーンの範囲の中で,DDCコンポーネントを青色で示したものだ。

Docker Datacenter Toolchain

Dockerブログには,DDCに’高可用性が組み込まれて’いること,対障害性の向上のためにUCPを複数のホストにデプロイ可能であることなどの説明がある。ホストが停止,または障害が発生した場合,システムはUCPの設定やアカウント,権限とともにSwarmクラスタの状態を保存する。Docker環境内のセキュアな通信を確保するため,クラスタに参加するDockerホストにはTLS(Transport Layer Security)が自動的に設定される。

DDCでは,Docker Content TrustとDTRの統合によって,ソフトウェア開発ライフサイクル全般を対象とした‘統合コンテンツセキュリティ’が実現されている。Content Trustはディジタル鍵によるイメージへのサインと,それらイメージのシグネチャの検証を可能にする。例えば,中央のITチームがベースイメージを作成して,それらにサインした上でDTRにアップロードすることが可能だ。Content Trustが実行されているセキュアな環境では,Docker Engineがサインのないイメージにアクセスしたり,実行したりすることはできない。

セキュリティに関しては,最新リリースのDocker Engine 1.10でも,Seccompプロファイルのサポートやユーザネームスペース,認証処理プラグインなど,いくつかの低レベルのセキュリティ向上策が施されている。ただし,Dockerデーモンの実行にroot権限が必要なことには変わりないので注意が必要だ。対照的に,先日一般向けにリリースされた(rkt v1.0)CoreOS rktコンテナのランタイムは,rootで実行する必要はなく,特別な権限なしで運用することができる。

InfoQは今回のDDCのリリースについて,Docker Inc.エンタープライズマーケティング担当副社長のDavid Messina氏と話す機会を持ち,同社の目指すのがコンテナインフラストラクチャ管理に限定したサポートなのか,コンテナアプリケーション開発支援をも視野に入れているのかを聞いた。

[DDCを]使うことで,IT運用チームはインフラストラクチャリソースと基本アプリケーションコンテンツの両方を保護,プロビジョン,管理することが可能になり,開発チームはアプリケーション開発とデプロイをセルフサービス的に行なえるようになります。

集中型ITモデルの開発を例に取るならば,開発チームがテンプレートを使って開発し,デプロイしたマイクロサービスコンテンツやインフラストラクチャを,IT部門が開発チームと共有して管理することが可能になるのです。

さらに,同社の‘データセンタのCaaS’というビジョンと,先日発表されたMicrosoft Azure Stakなど現代的なハイブリッドITアプローチとの違いについても質問した。

DockerとそのCaaSソリューションは,そういったタイプのハイブリッドアプローチとはよく整合しています。複数のデータセンタを所有しているのであっても,ハイブリッドクラウドや複数のクラウドプロバイダを使って運用するのであっても,重要なのはアプリケーションに問題を起こさずに,ワークロードをひとつの環境から他の環境へ移動できることなのです。

Docker DatacenterとCaaSを採用することで,アプリケーションに対してインフラストラクチャを抽象化することが可能になります。アプリケーションコンテナがどこでも実行可能になると同時に,オンプレミスのデータセンタからパブリッククラウドまで,さまざまなネットワークとプロバイダにわたって,あらゆるインフラストラクチャに対するポータビリティを持つことができるのです。

Docker Datacenterに関する詳細情報はDockerブログで,サブスクリプションサービスの詳細についてはDocker製品のWebサイトで,それぞれ確認することができる。

 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

BT