リクエストも待ってます!)にとても関心があります。気軽に私まで連絡ください。出来る限りたくさんのカンファレンスやミートアップにも参加する予定です。よって投稿されたものの抄訳です。サービスをコンテナで運用していく中で得た経験を共有する記事をお届けしていく予定です。レボリューション」が、効率的に目的を達成するアプリケーションを構築し、それを実行する上でどう役立つのかを皆さんに理解していただくことです。それでは始めましょう!皆さん、こんにちは。新しい連載へようこそ。あるコンテナリゼーション(Containerization)についてお伝えしていきます。それぞれ何なの?これらはどう関連しているの?コンテナを使って強力なアプリケーションを構築して、プラダクションスケールで展開するにはどうしたらいいの?。この変化から、どうやってビジネス価値を見いだせるの?と、質問はもういいですね。テクノロジーを使うことにどんな意味があるのか、ということの入門編と考えてください。モデルが進化する中で、あきらかにアプローチが変わる瞬間、その後の軸が変わるような瞬間を、これまで何度か目にしてきました。年は、まるで過去を無視するかのように、仮想化という変化が起こりました。仮想化のムーブメントによって、広範囲でリソース利用が爆発的に拡大し、価値を生むまでの時間、そしてサービスを提供するまで続けられる繰り返し作業の削減にもなったのです。クラウドの到来により、その利点はさらに拡大していきます。つのコアほどのリソースが、オンデマンドで数分のうちに利用可能になったということです。は早い段階で、この問題に直面することになります。ソフトウェアを短い時間で、安価に開発し、これまでにない規模でオペレーションする必要に迫られ、もっと細かいレベルでの制御を可能にする、より高い次元で抽象化できる仕組みにが必要になったのです。隔離した実行コンテキストを作ることができるもので、その実行コンテキストがコンテナです。優れたスタッフが、このテクノロジーを活用し、コンテナ化されたアプリケーションの相互運用可能なフォーマットの開発を続けています。行でデプロイ可能なコンポーネントとしてパッケージ化することで、アプリケーションのデプロイ先を考慮することもなくなり、デプロイは劇的に簡単になります。リソースをさらに細分化できます。全体を一気に大きくスケーリングするようなときは、コンテナはシステムにとって大きなプラス要因となります。いった特徴によって、何がもたらされるのでしょう?明らかなことは、ラップトップの処理能力であっても、開発者が複数のコンテナを動かすには十分で、簡単迅速に開発を進められます。ラップトップで複数の仮想マシンを実行することはできますよ。速くもなければ、簡単でも、軽量でもないですよね。同じように、リリース管理も簡単。回コマンドを叩く、それだけです。低料金でテストもできます。度テストするだけなら、たいしたコストはかかりません。日毎に数千回のテストを自動化しているとしたら、当然コストは増えていきます。コンテナなら、コストはそのままで何千回ものテストを実施できるわけです。アプリケーションがプロダクションになるころには、かなりのコストが削減できるでしょう。システムの構成力です。ソフトウェアを利用しているアプリケーションであるなら特にそうです。これらをインストールして設定するという、面倒なシステム構築作業を考えてみてください。それが、小さなスクリプトを使って、こういったアプリケーションをコンテナに格納しておけば、はるかに簡単で、リスクも大きく軽減されるわけです。ミスしやすい特殊な作業を、このモデルによってどれほど避けられるか想像できるでしょう。ブロックの標準構成をパブリックに登録していくと、質の高いコンポーネントによるリアルなエコシステムが始まるのです。長期的な視点で、この技術の最も重要な価値は、多くのホスト環境でアプリケーションを実行できる、ポータブルで統一したフォーマットだということです。つのプラットフォームにロックインすることを避けて、ワークロードをもっとも安価で、もっとも速い環境へと簡単に移していけるようになります。アイデア」である、と言っておけば十分でしょう。言いつつも、課題がないわけではありません。コンテナによって細分化が進んできたことで、驚くほどのメリットがもたらされたものの、実行するワークロードの効率が大幅に向上するわけではなく、アプリケーションの実行に数千台のコンピューターが必要なワークロードもあるわけです。つのコンピューターで動かせるように設計されています。デザインの観点からの問いとしては、あまりに基本的なところなのですが、私が話をする大半の開発者やそのスポンサーは、ここにあるコンピューター上のこのコンテナということには関心がないのです。求めてるのは彼らのサービス、つまり、アプリケーションが起動して、動いて、価値を生み出し、それを監視して運用していくことだけなのです。どのコンピューターでどのコンテナが何をしているかといった取るに足らない(希望的観測、というやつです)細かいことは気にしません。規模でコンテナ技術の運用を可能にするためのクラスタ管理、ネットワーキング、命名システムを構築してきました。億個以上の新しいコンテナが起動しています。フォーラムでは「K8s」と短縮されることもあります)を構築し、世界に向けて公開しました。個々のコンポーネントやコンテナ、あるいはインフラのリソースといったことよりも、開発者と管理者とが、サービスの挙動の改善やパフォーマンスの改善に向けて連携して取り組める、抽象的なレイヤーを作り出します。コンテナというレベルではなく、サービスというレベルでコントロールする、そこににもう一度着目することで、サービス全体に対して知能的、自発的マネージメントを可能にします。機械学習のテクノロジーを応用し、所定のサービスが最大効率で運用されるようにしています。コーディネーションの混沌を最小化し、チームの能力を高めるものだと言えるでしょう。使うことで、多数のコンテナからなるサービスを構成し、そのコンテナが適切にオペレーションされるようにデプロイのルールに従わせられます。いったコンフリクトが系統的に回避されます。コーディネーションの改善によって、開発者の生産性とサービスのアベイラビリティが向上し、大規模環境でのアジリティを実現しています。多くのお客様や多様な企業のチームに採用されています。テクノロジーからビジネス的にも利益を生み出せるように積極的に支援しています。開発者がコンテナを使って、アプリケーションをすばやく起動させて実行できる手段、そして、デプロイして管理し、必要なときは指定された範囲までスケールできる手段を提供しています。ついては、今後の連載でさらに詳しい情報をお届けします。モデルの次の大きなシフトの始まりであると捉え、この革命の中で中心的な役割を担っていきます。コンテナについてわかったら、以下にリストしたデプロイの選択肢から、皆さんの要件に最も適合するものを探してください。