第3章 コンテナ コンテナ入門
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
どんなバカでもわかる。点は理解することだ。
アルバート・アインシュタイン
理由を知れば、どのようにでも生きることができる。
フリードリヒ・ニーチェ
この書き物を書いている時点では、本番環境やその他の環境でのコンテナ の使用は飛躍的に伸びており、アプリケーションのコンテナ化に関するベストプラクティスはまだ議論され定義され続けている。効率性の向上に焦点を当て、具体的なユースケースを検討するにつれ、ブログ界やプロの実務家が経験を通じて強く推奨するテクニックやパターンが進化してきた。そして、予想通り、パターンや一般的な使い方が進化してきただけでなく、この章がアンチパターンを認識し、回避するのに役立つことを願っている。
コンテナへの試行錯誤は、スズメバチの巣をかき回すようなものだった。私は紛れもなく準備不足だった。表面上のコンテナ化は、見かけによらずシンプルだ。コンテナを使って開発しデプロイする方法について、特にJavaのエコシステム内で私が今知っていることを知ることで、同じような苦痛を避けるのに役立つ形で、この知識を皆さんに伝えたいと思う。この章では、アプリケーションのコンテナ化を成功させるために必要な概念を概説し、なぜそのようなことをしたいのかについて議論する。
第4章では、マイクロサービスの全体像( )について説明するが、ここでは、マイクロサービスのデプロイの基本的な構成要素の1つで、あなたがまだ遭遇したことがなければ、間違いなく遭遇することになるであろうコンテナについて学ぶことから始める。マイクロサービスの概念は、アーキテクチャ上の問題であり、コンテナの使用を意味するものではない。
まず、なぜコンテナを使うのかを考えることから始めよう。そのための最良の方法は、そもそもなぜここにたどり着いたのか、その背景を知ることだ。忍耐は美徳である。辛抱強くこの歴史を学ぶことで、コンテナとは何かということも自然と理解できるようになるだろう。
問題を理解する
会社で「部屋の中の象」 を経験しているのは私だけではないだろう。迫り来るフレーム、耳をつんざくような騒音、無視すれば危険な引数になりかねないにもかかわらず、この象のような大きさの被写体は、異議を唱えられることなく、ただ歩き回ることを許されている。私はそれを目撃してきた。私は罪を犯している。私はその象になったことさえある。
コンテナイゼーションの文脈で、私は部屋の中の2つの象に対処する必要があるという引数を出そうと思う:コンテナとは何か」「なぜコンテナを使うのか」だ。という2つの質問だ。これらの基本的な出発点を見逃す人がいるだろうか?
マイクロサービスの動きが、これまで以上にコンテナのデプロイに関する議論につながりがちで、私たちが乗り遅れることを恐れて苦しんでいるからかもしれない。もしかしたら、非常に人気のあるKubernetesクラスタではコンテナ実装がデフォルトで期待されており、「我々のK8sクラスタ」は会話に含めるべきクールな新しいフレーズだからかもしれない。また、DevOpsエコシステムにおいて新技術やツールの猛攻撃を受けているため、開発者(Java開発者であることは言うまでもない)として、質問をするのをやめると、取り残されることを恐れているだけかもしれない。理由が何であれ、コンテナの構築と使用方法の詳細に入る前に、これらの「 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access