クラウドネイティブを語る上で「コンテナ化」は避けて通れない

クラウドネイティブを語る上で「コンテナ化」は避けて通れない

[[381346]]

この記事はWeChatの公開アカウント「Full-Stack Coder Portrait」から転載したもので、著者はXiaomajiaです。この記事を転載する場合は、Full-Stack Coder Portrait の公開アカウントにご連絡ください。

コンテナ

クラウドネイティブについて語るとき、「コンテナ」を避けることはできません。

『Cloud Native Patterns』という本の中で、著者の Cornelia Davis は次のように指摘しています。「コンテナーはクラウド ネイティブ アプリケーションの基礎です。」

Cloud Native Foundation は、クラウド ネイティブへの第一歩としてマイクロサービスのコンテナ化を推進しています。

マイクロサービスをコンテナ化することは考えやすく、プロセスもシンプルです。

コード、依存関係、ランタイムは、コンテナ イメージと呼ばれる単一のバイナリ ファイルにパッケージ化されます。画像はイメージリポジトリに保存されます。 Docker は Docker Hub イメージ リポジトリを公式に管理しています。

必要に応じて、イメージを、コンテナ ランタイム エンジンがインストールされている任意のコンピューターで実行できる実行可能なコンテナ インスタンスに変換し、オンデマンドで任意の数のコンテナ インスタンスをデプロイできます。

次の図は、単一のホスト上のコンテナで実行されている 3 つのマイクロサービスを示しています。

各コンテナは独自の依存関係とランタイムを維持しますが、それらは異なる場合があります。上の図では、同じホスト上で実行されている Product マイクロサービスの異なるバージョンがわかります。各コンテナは、基盤となるホスト オペレーティング システム、メモリ、プロセッサの一部を共有しますが、互いに分離されています。

コンテナ モデルは、「12 要素アプリ」の依存関係の原則に準拠しています。

要素 2 では、「各マイクロサービスは独自の依存関係を分離してパッケージ化し、それらを変更する (システム全体に影響を与えずに)」と規定されています。

コンテナーは Linux と Windows の両方のワークロードをサポートします。

コンテナベンダーは複数存在しますが、Dockerはクラウドネイティブアプリケーションのパッケージ化、展開、実行における事実上の標準となり、最大の市場シェアを誇り、ソフトウェアコンテナの開発を推進してきました。

コンテナの理由

  • コンテナは移植性を提供し、環境間で一貫した出力を保証します。すべてを 1 つのパッケージにカプセル化することで、マイクロサービスと依存関係をインフラストラクチャから分離できます。
  • Docker ランタイム エンジンがインストールされている任意の環境に同じコンテナーをデプロイできます。コンテナ化により、環境 (フレームワーク、ライブラリ ファイル、ランタイム) を事前に構成するための時間のオーバーヘッドが排除されます。
  • 基盤となるオペレーティング システムとホスト リソースを共有することにより、コンテナーは完全な仮想マシンよりもはるかに少ないスペースを占め、サイズが小さく高密度になり、単一のホスト上で複数のマイクロサービスを実行できます。

コンテナオーケストレーション

Docker API/ツールはイメージとコンテナを作成しますが、コンテナを管理するためのツールも必要です。

コンテナを管理するソフトウェアは「コンテナ オーケストレーター」と呼ばれ、大規模にコンテナを使用する場合に重要です。

コンテナ オーケストレーターは何をするのですか?

タスク説明する
スケジュールコンテナインスタンスを自動的に構成およびスケジュールする
親和性/反親和性コンテナを近くまたは遠くの場所にデプロイして可用性とパフォーマンスを向上させる
健康モニタリング障害を自動的に検出して修復する
フェイルオーバー障害が発生したインスタンスを正常なマシンに自動的に転送する
スケーリング予想される状態に合わせてコンテナを自動的に増減します
ネットワーキングコンテナにオーバーレイネットワークを提供する
サービス検出コンテナはお互いを発見する
ローリングアップグレードゼロダウンタイムの増分アップグレードとゼロダウンタイムの自動ロールバック

コンテナ オーケストレーターは、Twelve-Factor App の破棄可能性と同時実行性の原則に従います。

要因 9: 「サービス インスタンスは使い捨てである必要があり、これにより、高速起動 (スケーラビリティの提供) と正常なシャットダウンが可能になり、システムを正しい状態に保つことができる」ことを強調します。

要素 8: 「サービスは、利用可能な最も強力なマシン上の単一の大きなインスタンスをスケーリングするのではなく、多数の小さな同一プロセス (レプリカ) にわたってスケーリングされる」ことを強調します。

市場には複数のコンテナ オーケストレーターがありますが、Kubernetes は、コンテナを管理するためのポータブルでスケーラブルなオープン ソース プラットフォームであり、クラウド ネイティブの世界では事実上の標準となっています。

独自の k8s クラスターを構築し、k8s リソースを自分でプロビジョニングおよび管理することもできますが、これは複雑になる可能性があります。

Azure クラウドは、K8s をマネージド サービス (AKS) として提供します。 K8s クラスターをメンテナンスせずに、K8s 関数のみを使用する必要があります。

Azure Kubernetes Services については、第 2 章「クラウドネイティブ アプリケーションのスケーリング」で詳しく説明します。

参照

https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/定義

<<:  開始から1年で、健康コードの表示累計数は240億を超え、健康コードは日常の移動に重要な電子証明書となっている。

>>:  サンフォーインダストリー大学の公式ウェブサイトが正式に開設されました

推薦する

ITコミュニティサイトCSDNがシリーズA資金調達の完了を発表

新浪科技新聞10月23日午後、ITコミュニティサイトCSDNは本日、シリーズA資金調達を完了したと発...

オンライン学習サイトUdemyが3200万ドルを調達

サンフランシスコ発のオンライン学習ウェブサイトUdemyは本日、3,200万ドルのシリーズC資金調達...

微博広告利益分配計画が社内テスト開始、中小Vが大部分を占める

Lieyun.comが4月2日に報じた。先週、Lieyun.comは、Weiboがセルフメディアユー...

SEO最適化におけるディレクトリとサブドメインの比較と選択

ウェブサイトの構築開始時およびウェブサイトの運用中に、豊富な新しいコンテンツを追加する場合、ディレク...

衰退した共有ホスティングは再び復活するチャンスがあるでしょうか?

最近では、バーチャルホストに執着している人はあまり聞かなくなったようです。たまにバーチャルホストを使...

微博でのMeizuのフラッシュセールから見るファン経済の仕組み

MeizuはWeiboを通じてフラッシュセールを開始し、最初のセールは多くのメディアの注目を集めまし...

インターネット業界ではすぐに成功できるものはありません。ウェブマスターはすぐに成功しようと焦るべきではありません。

もともとこの話題について話したくなかったし、私の友人の多くは決まり文句だと思うかもしれないが、同じこ...

BaiduはSEOを嫌っている。SEO担当者は注意してほしい

今日は2012年2月15日です。鄭州は晴れていません。私の気分は天気と同じです。キーワードのランキン...

ウェブマスターネットワークニュース:Yu'ebaoが公的資金の引き抜きを引き起こし、Aiku.comは閉鎖される

1. 紙媒体の枠を越え、電子雑誌アプリ広告からスタートそれは2009年末のことでした。しばらくモダン...

コピーから学ぶ教訓: 「中国へのコピー」モデルは中国でどれくらい続くのか?

C2Cは、李開復教授とイノベーションワークスの強力な推進により、突然人気が出ました。では、C2Cモデ...

Sogou Zhilifangの登場は検索エンジンの全体的なアップグレードを告げる

Googleがナレッジグラフを立ち上げて以来、国内の検索エンジンもそれに追随し、SogouはSogo...

タオバオのウェブサイト構築製品は全国的な権利保護に直面しており、中小の販売業者を騙す詐欺となっている。

タオバオで中小の販売業者を騙した衝撃の詐欺?全国のバイヤーが「淘宝ウェブサイト構築」製品に対する権利...

losangelesvps: ロサンゼルスで年間 25 ドルから利用できる KVM VPS、1Gbps の帯域幅、無制限のトラフィック

losangelesvps は昨日、2 つの安価な VPS プロモーションを提供するメールを送信しま...

平均30%の無駄?クラウド支出の無駄を削減するために企業は何ができるでしょうか。

パブリック クラウドの支出を最適化する理由は何ですか?その理由の一部は間違いなくコストの節約ですが、...

クラウド コンピューティングの経済的メリットを実現する 5 つの方法

ほとんどの企業はまだ、データセンターからクラウドへのワークロードの移行の過程にあります。通常、コスト...