Docker と Kubernetes がアプリケーション開発をどのように変えているのか、またこれらの主要なコンテナ テクノロジーがどのように連携するのかを学びます。 ソフトウェア開発の最新動向に注目していれば、Docker と Kubernetes という 2 つの用語を何度も目にしたことがあるはずです。これらは基本的に、コンテナーとオーケストレーションの略語です。 Docker コンテナは、アプリケーションを開発およびテストから本番環境に移行するプロセスを容易にし、簡素化します。一方、Docker と Kubernetes はどちらも、アプリケーションをモノリシック スタックではなくマイクロサービスのコレクションとして構築および展開する方法を改革するのに役立っています。 Docker と Kubernetes が重要なのはなぜでしょうか。それらはソフトウェア開発をどのように変えているのでしょうか。そして、このプロセスにおいてどのような役割を果たしているのでしょうか。 Dockerとコンテナ Linux、Windows、その他の最新のオペレーティング システムでサポートされているコンテナーを使用すると、システムの他の部分から分離された小さな環境でソフトウェアを実行できます。コンテナーは VMS と比較されてきましたが、VMS ではなく、よりスリムで、起動と停止が速く、より柔軟で移植性に優れています。コンテナは数秒で起動または停止できるため、クラウドのような柔軟な環境でアプリケーションを実行しやすくなります。 Linux やその他のオペレーティング システムは長年にわたりコンテナ化されたアプリケーションをサポートしてきましたが、コンテナの使用は必ずしもユーザーフレンドリーではありませんでした。オープンソースと商用の両方を備えた Docker は、コンテナをユーザーフレンドリーかつ開発者フレンドリーな商品にするソフトウェアです。 Docker はコンテナ用の共通のツールとメタファーのセットを提供するため、アプリケーションをコンテナ イメージにパッケージ化して、組織内または他の場所で簡単に展開および再利用できます。 つまり、Docker を使用すると、コンテナ イメージの作成、バージョン管理、共有、移動、Docker 互換ホスト上で実行中のコンテナとして展開することが簡単になります。 Docker とコンテナはいつ使用すればよいですか? Docker とコンテナは、次の特性の 1 つ以上を持つワークロードに最適です。 弾力的なスケーラビリティ。需要を満たすためにアプリケーションのインスタンスをいくつ実行する必要があるかわかりません。コンテナ化されたアプリケーションまたはサービスは、より少ないまたはより多くのコンテナ インスタンスを展開することで、需要に合わせて拡張できます。分離。アプリケーションが他のアプリケーションに干渉することは望ましくありません。おそらく、API の異なるバージョンに対応するために、アプリケーションの複数のバージョンを同時に実行することになるでしょう。あるいは、基盤となるシステムをクリーンな状態に保ちたい場合もあります (これは常に良い考えです)。移植性。このアプリケーションはさまざまな環境で実行する必要があり、それぞれのセットアップは再現可能である必要があります。コンテナを使用すると、アプリケーションのランタイム環境全体をパッケージ化できるため、開発者のデスクトップ、QA テスト マシン、ローカル Iron、リモート クラウドなど、Docker 互換のホストにアプリケーションを簡単にデプロイできます。 Kubernetesとコンテナオーケストレーション コンテナは主に、プロセスまたはアプリケーションを相互に、また基盤となるシステムから分離するように設計されています。単一のコンテナの作成とデプロイは簡単です。しかし、各コンテナを個別にデプロイ、接続、管理、スケーリングすることなく、複数のコンテナ (データベース、Web フロントエンド、コンピューティング バックエンドなど) を、全体として管理できる大規模なアプリケーションに組み立てたい場合はどうすればよいでしょうか。すべての部分を機能的に統合する方法が必要です。 これが Kubernetes が行うことです。 Docker がクルーズ船の乗客だとすると、Kubernetes はクルーズディレクターです。 Kubernetes は、Google が作成したプロジェクトに基づいており、各コンテナを直接管理することなく、複数のホストにわたるマルチコンテナ アプリケーションの展開と管理を自動化する方法を提供します。開発者は、各コンテナがネットワークとストレージをどのように使用するかについての詳細を含め、複数のコンテナにわたるアプリケーションのレイアウトを説明します。 Kubernetes は実行時に残りの処理を行います。また、シークレットやアプリケーション構成などの詳細な管理も処理します。 Kubernetes は以前よりもターンキー ソリューションになりつつありますが、使いこなすにはある程度の専門知識が必要です。使いやすさのこの進歩の一部は、一般的なアプリケーション (Helm チャート) の簡単なレシピによるものです。その理由の 1 つは、有名なブランド企業 (Red Hat、Canonical、Docker) によって作成された多数の Kubernetes ディストリビューションが、一般的なアプリケーション スタックや開発フレームワークと密接に連携していることです。 Kubernetes とコンテナ オーケストレーションはいつ使用すればよいですか? 少数のユーザーにサービスを提供する単純なコンテナ化されたアプリケーションでは、Kubernetes はもちろん、オーケストレーションも通常は必要ありません。ただし、アプリケーションの機能性が高くなかったり、ユーザー数が多くなかったりする場合は、オーケストレーション システムによって提供される機能を再発明せずにはいられません。オーケストレーションをいつ適用するかを決定するための経験則をいくつか示します。アプリケーションが複雑です。 2 つ以上のコンテナーが関係するアプリケーションであれば十分です。つまり、少数のユーザーのみにサービスを提供する小規模なアプリケーションは、Kubernetes ではなく、いくつかのソリューション (Docker スウォーム モードなど) のみを使用してオーケストレーションできます。 アプリケーションには、スケーラビリティと弾力性に対する高い要件があります。 Kubernetes やその他のオーケストレーターを使用すると、変化する条件に対する反応を手動で記述するのではなく、システムの望ましい状態を記述することで、宣言的に負荷を分散し、需要を満たすためにコンテナーを起動できます。 最新の CI/CD 技術を最大限に活用したいと考えています。オーケストレーション システムは、ブルー/グリーン デプロイメントまたはローリング アップグレードを使用するアプリケーションのデプロイメント パターンをサポートします。 おそらくいつの日か、Docker と Kubernetes はより使いやすい抽象化に置き換えられ、コンテナを作成および管理するためのよりエレガントな方法に取って代わられるでしょう。しかし、Docker と Kubernetes は今のところ依然として重要です。 |
<<: コロケーションの 5 つのメリット: ハイブリッド クラウド戦略にコロケーションを取り入れるべき理由
>>: Nutanix、2019年のエンタープライズクラウドインデックスレポートを発表、企業のハイブリッドクラウドへの移行を支援するために協力
ランキング操作(自己水増し)した企業は泣き、ASOは陰で密かに笑っていた。 2時間に及ぶ2017年の...
Googleの公式セキュリティブログによると、GoogleはCNNICがGoogleドメイン名に対し...
昨日百度が発表した「サイト構文クエリの問題について」という発表を見て、多くの罪のない個人ウェブマスタ...
検索エンジンはユーザー エクスペリエンスにますます注目しています。SEO をうまく行うにはどうすれば...
「対外貿易 VPS」と「対外貿易サーバー」は、海外でビジネスを行う経営者にとって必需品です。彼らは、...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています5月26日...
gigsgigscloud は日本に新しいデータセンターを追加しました。このデータセンターの VPS...
oplink は 2006 年に登録され、AS40156 でヒューストンに独自のコンピュータ ルーム...
ユーザーがウェブサイトを離れる10の理由インターネット上には数多くのサイトが存在するため、ユーザーを...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン毎年恒例のダブル11マーケティングについ...
2018年5月15日、「中立で信頼できる、夢想家に力を与える」をテーマにしたThink in Clo...
インターネットの現在の発展により、SEO は最もホットな話題となっています。SEO 技術について話す...
[[340175]]この記事はWeChat公式アカウント「Xintai Cloud Service」...
テンセントと華中科技大学の最新の共同研究成果が、世界最高峰のデータベースカンファレンス「SIGMOD...
shockhosting(~)は、シンガポールに新しいデータセンターを追加すると発表しました。現在、...