HCL Software は全面的にコンテナ技術に対応する方向で着実に進んでいます。HCL Digital Experience も例外ではなく、対応済みです。これについての記事 What Are Kubernetes and Docker ? And Why Should They Be Part of Your Digital Solution? の翻訳版です。
Kubernetes と Docker とは?なぜ HCL Digital Solutions の一部にする必要があるのか?
2020年9月2日
著者: HCL Digital Experience Team
開発者の間では、Kubernetes と Docker という名前を耳にする機会が増えてきています。どちらもコンテナ(コードやシステムライブラリなど、アプリを実行するために必要なすべてのパーツを含むソフトウェアパッケージ)に関連する技術ですが、よくある誤解は、両者が競合するソリューションであるということです。開発者は Kubernetes vs. Docker いう議論に慣れ親しんでいるかもしれませんが、実際には、Kubernetes と Docker を併用することはコンテナ化されたアプリケーションを実行するための優れた方法です。しかし、それが何を意味するのかを理解するためには、まずそれぞれのプラットフォームが何をするのかを個別に見る必要があります。
Docker は何をするのか?
Docker は現在、最もポピュラーなコンテナプラットフォームです。開発者は自分のマシン上では完璧に動作するコードを書いても、それをプログラムに実装しようとすると失敗してしまうことがよくあります。開発者は自分のコードを一つのまとまりのあるコンテナイメージにパッケージ化し、コンテナプラットフォームをホストしているコンピュータ上で実行することができます。
企業の 30% が Docker を使用しており、その数は着実に増加しています。開発者がコンテナ化の恩恵を受けられるのであれば、そのソリューションに Docker を採用する可能性が高いでしょう。
では、Kubernetes は何をしているのか、そしてそれらはどのように関連しているのでしょうか?
Docker が何をするのか、なぜ Docker が重要なツールであるのかを理解したところで、Docker と Kubernetes の関係を理解する上で最初に重要なことは、2つの技術は根本的に異なる目的を果たしているということです。Container Journal がうまく表現しているように、" Kubernetes はコンテナ化技術を......11倍にした "ということです。
Kubernetes は、コンテナ化に伴う次の難問の解決策として登場しました。コンテナが存在している今、コンテナをどのように整理することができるでしょうか? Docker がアプリケーションのパッケージングと配布を担当しているとすれば、Kubernetes はそれらのアプリケーションのスケーリングと監視を担当しています。このテックソリューションでは、アプリケーションを構成するコンテナを直感的なグループにまとめ、管理や検索が容易になるようにしています。
Kubernetes アーキテクチャは、急速に進化するデジタルの世界において、開発チームが俊敏性と柔軟性を維持することを可能にします。
Kubernetes を使わずに Docker を使うことも可能ですが、アプリをスケールアップして、できるだけ多くのユーザーが簡単に利用できるようにしたいと考えている組織にはお勧めできません。逆に、Kubernetes を別のコンテナ化ソリューションと併用することも可能ですが、Docker はアプリコンテナソリューションの最高峰としての地位を確立しているので、Docker と Kubernetes のコンボは市場での最高の統合であることに変わりはありません。
Docker と Kubernetes のペアリングを利用したソリューションは、アプリを数日ではなく数分でクラウドや構内にインストールできるため、開発チームの時間を節約できます。
詳細はこちらをご覧ください。ウェビナー「コンテナの入門」に参加するか、オンデマンドで視聴してください。