2014年は「Docker」にとって重要な1年になった。Dockerはたったの12カ月間で、シンプルなオープンソースのコンテナ管理プロジェクトから強力なプラットフォームへと進化した。
Dockerの他にも小さなオープンソースプロジェクトが何百とあり、米Amazon Web Services(AWS)、米Google、米IBM、米Microsoft、米Red Hat、米VMwareといった大手プラットフォーム企業がこれらのサポートを約束している。Googleはコンテナのホスティングサービスを公式に提供した初のパブリッククラウド企業の1つだった。数十億個のコンテナを管理した確かな経験に支えられ、同社は開発者への社内ツール公開にすぐに乗り出した。
同社はまず、オープンソースのコンテナオーケストレーションおよびクラスタ管理ツール「Kubernetes」を発表した。その後、Kubernetes「Google Container Engine」(GKE)をリリースした。GKEは、同社のIaaSプラットフォーム「Google Compute Engine」(GCE)の能力とDockerを融合したものだ。まだα版(Googleの定義ではアーリーアクセス/テクニカルプレビュー版)だが、GKEはコンテナ管理の主要なビルディングブロックを全て備えた初のツールの1つになる。
GKEの目的は、開発チームや運用チームがコンテナベースのワークロードを効率良く管理できるようにすることだ。どんな複雑さも、ありふれた管理タスクも、シンプルなユーザーエクスペリエンスと使いやすいコマンドラインツールがカバーしてくれる。
KubernetesはGKEの基盤となるものだ。知らなくても開発者がGKEを使用するのに支障はないが、その概念を理解することは役に立つ。コンテナ化されたアプリケーションは、基盤となるインフラに依存しない。必要なOS、ランタイム、ライブラリ、フレームワーク、依存関係を1つのユニットとしてパッケージ化するので、複数のコンテナを単一のホストに展開したり、複数のホストに分散することが可能だ。
依存関係がある別のコンテナを特定できれば、コンテナはどこに展開されても問題ない。コンテナが持つこの特性は、インフラの複雑さを緩和する。仮想マシン(VM)一式がプロビジョニングされると、単一の計算ユニットとしてまとめて扱えるようになり、コンテナのクラスタを実行することが可能になる。
Dockerは各コンテナのライフサイクルを効果的に管理するが、開発者にはコンテナのクラスタ全体を管理するツールが必要だ。コンテナ化されたアプリケーションは、動的に接続し合うために検出メカニズムを必要とする。例えば、Webサーバコンテナはデータベースコンテナを検出して接続しなくてはならない。Kubernetesは、クラスタで実行しているコンテナ化されたアプリケーションを検出して、そのライフサイクルを管理するツールだ。DevOpsの観点からいうと、Kubernetesは数個のコンテナの実行から何万個ものコンテナに対処する大規模な導入まで、クラスタの構成と管理を扱うリモコンとして機能する。
技術的には、KubernetesはGoogleのクラウドと結び付いていない。ベアメタル、ハイパーバイザー、パブリッククラウドまで、さまざまなインフラプロバイダーと連携するように調整することが可能だ。MicrosoftはKubernetesをMicrosoft Azure VMと統合した。VMwareは、KubernetesがvSphereとvCloud Airに対応するよう取り組んでいる。Red HatのOpenShiftは既にKubernetesと連携するようになっている。
PaaSに精通している人もKubernetesに馴染めるだろう。
続きを読むには、[続きを読む]ボタンを押して
会員登録あるいはログインしてください。
メディア総接触時間、「携帯電話/スマートフォン」が「テレビ」を上回り首位に
博報堂DYメディアパートナーズによる、生活者のメディア接触の現状を捉える年次調査の結...
「運用型クリエイティブ」とは何か?
マーケティング施策としてのクリエイティブ改善に取り組むべき理由とは何か。クリエイテ...
「コロナ禍が収束しても現在の生活を維持したい」 前年比5.2ポイント増加し61.5%に――博報堂調査
コロナ禍も約2年が経過し、マスク生活やテレワークなど新しい暮らしや仕事のスタイルがす...