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

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

[[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億を超え、健康コードは日常の移動に重要な電子証明書となっている。

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

推薦する

RaidLogic.NET $24/年 128Mメモリ(ロサンゼルス)推奨

RaidLogic.NET は 2001 年から確立されたビジネスなので、逃げ出す心配はありません。...

Kubernetes PodでIPアドレスを取得する方法

Kubernetes ネットワーク モデルの主要な要件の 1 つは、各 Pod に独自の IP アド...

なぜZhihuはビデオ制作に多額の費用をかけるのでしょうか?

質疑応答コミュニティとして、 Zhihu はかつてその高品質なコンテンツで知られていました。しかし、...

「中国の声」のマーケティング手法についての簡単な説明

「中国の声」といえば、誰もが知っている番組だと思われます。この番組は中国で何億人もの人々の注目を集め...

Contabo: 英国に新データセンターがオープン、月額 8 ドル、8G メモリ/4 コア/200GSSD/32T トラフィック

2003 年に設立されたドイツのデータセンター Contabo は、英国ロンドンに 6 番目のデータ...

ユーザーエクスペリエンスとは何ですか?それは、競合他社よりも早く問題点を発見し、迅速に解決することを意味します。

今日は小さな温度計から始めましょう。先週の夜、小規模なO2Oサロンに参加した後、屈強な男性が私を呼び...

QQ(テンセント)Weiboを使ってBaiduでランクインする方法

なぜ今日は「QQ(テンセント)Weiboを使ってBaiduランキングを行う方法」というタイトルの記事...

ウェブサイトのパフォーマンスがビジネスに影響を与えないようにする

当社は、リンクリクエスト数、ダウンロードページ数、ページコンテンツという3つの側面からウェブサイトを...

DPU: 5Gエッジクラウドの新たな基盤

2021年7月24日、江蘇省未来ネットワークイノベーション研究所が主催し、SDNLABが主催した20...

すべてにインターネット思考が必要:「Roujiamo」からマイクロマーケティングを学ぶ

最近、「宇宙の中心」北京五道口に「西少葉」肉家墨という大人気の店が出現した。オープン初日に1,200...

世界のクラウド市場は第3四半期に33%成長し、365億ドルに達した。

2020 年の COVID-19 パンデミックは、ほぼすべての業界に何らかの影響を及ぼしました。ほと...

約200のAWSサービスの中で、以下の4つは著しく過小評価されている

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

iwstack の簡単な使い方チュートリアル

Host Cat は早速 iwstack クラウドを購入し、簡単な試用手順をシェアしたいと思います。...

Ctripの流出から、携帯電話で検索する場合でもネットワーク情報セキュリティを軽視してはならないことがわかります

先週末、Ctrip.comは深刻なセキュリティリスクにさらされた。ユーザーの銀行カードのデータがロー...

単純なことは簡単にできるものではありません。QQ プロモーションを最適化する必要があります。

ウェブサイトのプロモーターにとって、QQ を使用するよりも簡単な方法はありません。QQ 署名を使用し...