オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com この記事を読んだら
1. クラウド ネイティブとは何ですか?クラウド ネイティブは、文字通りクラウド コンピューティングとネイティブ (クラウド コンピューティングのネイティブ) を意味します。 クラウドの観点から見ると、クラウドは安定したコンピューティングとストレージ リソースを提供するオブジェクトとして見ることができます。これを実現するために、クラウドは仮想化、柔軟な拡張、高可用性、高いフォールト トレランス、自己回復などの基本的な属性を提供します。 ネイティブをもう一度見てみると、クラウド ネイティブはクラウド上で実行される従来のアプリケーションとは異なります。従来のアプリケーションの中には、SOA (サービス指向アーキテクチャ) アーキテクチャに基づいて構築され、クラウド上に配置されるものもあります。これらの従来のアプリケーションでは、クラウドの利点を十分に活用できません。 クラウドは分散アーキテクチャであるため、そのネイティブの居住者もこの機能に準拠する必要があります。よく言われるように、ローカル環境と気候がローカルの人々を決定します。ローカル環境と気候が適切でない場合は、非常に悪いことになります。マイクロサービスには分散設計の属性があります。 第二に、PaaS(Platform as a Service)として、クラウドネイティブのライフサイクル全体をクラウドの概念に基づいて実装する必要があるため、これを実現するには自動化された開発プロセスが必要です。 これらは、クラウド ネイティブの文字通りの解体です。 Cloud Native Computing Foundation (CNCF) が提供する公式定義を見てみましょう。
公式の定義によると、クラウド ネイティブとは次のとおりです。
クラウド ネイティブはスピードと俊敏性が重要です。企業のビジネスシステムは、ビジネス能力を実現するためのツールから、ビジネスのスピードと成長を加速するための戦略的変革の武器へと進化しています。 同時に、ユーザーの要求が高まるにつれて、ビジネス システムはますます複雑になっています。顧客は、迅速な応答性、革新的な機能、ダウンタイムゼロを期待しています。 パフォーマンスの問題、繰り返し発生するバグ、迅速な反復処理ができないといった問題は、もはや許容されません。このような状況が発生すると、ユーザーは競合他社を訪問することになります。 2. クラウドネイティブの重要な要素クラウド ネイティブのスピードと俊敏性は、さまざまな要因から生まれます。 この章では、最も重要な 6 つの要素について説明します。 (1)クラウドインフラクラウド ネイティブ システムは、クラウド サービス モデルを最大限に活用します。これらのシステムは、動的な仮想化クラウド環境で動作するように設計されています。彼らは、PaaS コンピューティング インフラストラクチャと管理サービスを広範に活用しています。基盤となるインフラストラクチャは使い捨てとして扱われ、数分でプロビジョニングされ、自動化によってオンデマンドでサイズ変更、拡張、または破棄されます。 クラウド ネイティブの分野では、「Pets vs. Cattle」と呼ばれる類推概念があります。これは文字通り、ペットと牛を意味します。 ペット従来のデータ センターでは、サーバーはペットのように扱われます。つまり、意味のある名前が付けられ、ユーザーが管理する物理マシンです。同じマシンにリソースを追加することでスケールします。サーバーが病気になった場合は、正常な状態に戻す必要があります。 このモデルでは、サーバーは決してダウンすることのない重要なシステム コンポーネントと見なされます。一般的に言えば、それらは手動で作成、管理され、手動で「供給」されます。例としては、メインフレーム、スタンドアロン サーバー、HA (高可用性) ロード バランサー/ファイアウォール、マスター/スレーブ データベース システムなどが挙げられます。 牛Cattle のサービス モデルは異なります。各インスタンスを仮想マシンまたはコンテナとして構成します。これらは同一であり、システム識別子が割り当てられます。インスタンスをさらに作成することでスケールします。インスタンスが利用できなくなっても、誰も気づきません。 Cattle のモデルは不変のインフラストラクチャを使用します。サーバーは修理または変更されません。サーバーに障害が発生したり、更新が必要になったりした場合は、サーバーが破棄され、新しいサーバーがプロビジョニングされます。この作業はすべて自動化によって行われます。 2 台以上のサーバーで構成されるアレイ。通常は自動化ツールを使用して構築され、どのサーバーも置き換え不可能ではありません。通常、アレイは障害が発生したサーバーを再起動するか、トリプルレプリケーションや消去コーディングなどの戦略を通じてデータを複製することによって「障害を回避する」特性を示すため、障害イベントでは人間の介入は必要ありません。 この例には、ネットワーク サーバーの配列、Cassandra クラスターなどのマルチマスター データ ストア、および負荷分散とマルチマスターが行われたほぼすべてのものが含まれます。 (2)モダンデザインクラウドネイティブアプリケーションをどのように設計しますか?あなたの建築はどのようなものになるでしょうか?どのような原則、パターン、ベストプラクティスに従いますか?重要なインフラストラクチャと運用上の問題は何ですか? 12の要素クラウド アプリケーションを構築するにはどうすればよいでしょうか?業界で広く受け入れられている原則は 12 の要素です。 12 の要素は、クラウド ネイティブ アプリケーション アーキテクチャのパターンのコレクションです。これらのパターンは、どのようなアプリケーションがクラウド ネイティブ アプリケーションであるかを示すために使用でき、バックエンド サービスがクラウドに適しているかどうかを測定するために使用できます。 このセクションの反例は、テクノロジ自体が十分ではないことを意味するのではなく、ネイティブ機能の一部が複雑なアプリケーションの開発に十分対応していないことを意味します。 CodeBase - ベースラインコード
ベースライン コードは複数のコピーで展開し、バージョン管理を通じて追跡できます。 反例:複数の無関係なプロジェクトと数百万行のコードがすべて 1 つのウェアハウスに配置されます。異なる要件に応じて、プロジェクト倉庫を直接コピーして個別に開発し、複数の倉庫コードを同時に管理します。 依存関係 - 明示的かつ分離された依存関係
各マイクロサービスは依存関係を明示的に宣言し、相互に干渉することなく、システム全体に影響を与えることなく変更を受け入れることができます。 反例: Node.js の父である Ryan Dahl は、ゼロから始めて Deno を作成しました。 Deno のインポート リモート コードは、Node の世界では npm とは正反対であり、暗黙的な依存関係が生じます。 Golang も、1.13 より前に go モジュールがなかったときにこの原則に違反していました。言うまでもなく、サードパーティの依存関係が不明確だと簡単に「ポイズニング」につながり、コードの問題の特定、メンテナンス、引き継ぎに大きな負担がかかります。 構成 - 環境に合わせた構成の分離
構成データとビルド製品は完全に分離されており、構成データは個別に管理され、実行環境にのみ表示されます。 反例:環境関連の構成がコンテナ イメージやコード パッケージに混在しており、各環境を個別に構築してパッケージ化する必要があります。この方法は従来の開発モデルでは一般的です。 バックエンドサービス - 個別のバックエンドサービス
バックエンド サービスを追加のリソースとして扱います。バックエンド サービスとは、データベース、キャッシュ、メッセージ キューなど、ネットワーク経由で呼び出され、プログラムの動作に必要なさまざまなサービスを指します。 反例:キャッシュ サービスとアプリケーション サービスを同じコンテナー イメージにパッケージ化し、/var/redis.sock などのドメイン ソケットを介してアクセスします。または、サードパーティ アプリケーション サービスのソース コードを独自のコードに直接コピーし、1 つのプロセスで相互に呼び出します。 ビルド、リリース、実行 - ビルド、リリース、実行を分ける
各バージョンでは、ビルド、リリース、実行の各フェーズが厳密に分離されている必要があります。各バージョンには一意の ID が付けられ、ロールバック機能がサポートされている必要があります。 CI/CD システムは、この原則を実装するのに役立ちます。 反例:開発者がコードを変更した後、ローカルでパッチを作成し、運用および保守スタッフに送信します。彼は、変更内容を製品管理者に伝えるのではなく、特定のファイルを一括で置き換えるよう、運用保守担当者に直接口頭で指示します。 プロセス - ステートレス サービス プロセス
各マイクロサービスは、実行中の他のサービスから分離された独自のプロセスで実行する必要があります。状態がある場合は、データベース、キャッシュなどのバックエンド サービスに外部化する必要があります。 反例:アプリケーション サービスの複数のインスタンスが相互に通信し、一部のメモリ データを共有します。または、自律的なクラスターリーダー選出、タスク分散などの機能を開発します。 ポートバインディング
各マイクロサービスは独立しており、インターフェースと機能は独自のポート上で公開される必要があります。そうすることで、他のマイクロサービスからの分離が実現します。 反例:展開用に提供されるパッケージは、Tomcat に配置された war ファイルと IIS に配置された dll ファイルです。通信プロトコル自体を記述するものではなく、バインディング ポートを指定するものでもありません。これは Tomcat/IIS の構成に完全に依存します。 同時実行性
これはプロセス モデルを通じて拡張され、拡張にはプロセスとスレッドの 2 つの方法があります。プロセス アプローチにより、スケーラビリティが向上し、アーキテクチャが簡素化され、分離性が向上します。スレッド拡張によりプログラミングはより複雑になりますが、リソース効率は向上します。 反例:セッションをメモリに格納します。 使い捨て - 高速起動と正常な終了
高速起動と正常な終了により、堅牢性を最大限に高めることができます。高速起動と正常な終了が実現された場合にのみ、サービスはより堅牢になります。 反例:負荷の高い Java サービスの起動には 10 分以上かかります。スケールダウンは、プロセスを強制終了するために kill -9 に依存します。サービスは、SIGTERM シグナルを受信しても「レームダック状態」にならず、プロセスをシャットダウンする前に要求が処理されるのを待つこともありません。 開発/本番環境の整合性
開発環境、プレリリース環境、オンライン環境など、アプリケーションのライフサイクル全体にわたって環境を可能な限り同じに保ちます。 反例:開発環境はコンテナ化されていませんが、生産ラインはコンテナ化されています。開発環境ではMariaDBが使用され、生産ラインではMySQLが使用されます。開発環境のデータベースにはマスターとスレーブの関係はありませんが、生産ラインはマスターとスレーブの同期で構成されています。このように、MySQL の読み取りと書き込みが分離されている場合、マスターとスレーブの同期における数ミリ秒の遅延により、開発環境では決して再現されない可能性のあるさまざまな奇妙なバグが発生します。 ログ - イベント ストリームとしてログに記録
マイクロサービスによって生成されたログをイベント ストリームとして扱います。マイクロサービス アーキテクチャにおけるサービスの数が爆発的に増加しているため、呼び出しチェーンを分析して障害を迅速に特定する機能が必要です。 反例:ログ ファイルが保存されるパス、ログ ファイルのローテーション頻度、ログ ファイルが削除されるまでの保持期間など、多くの複雑な log4xx 構成がプロジェクトに書き込まれます。これは従来のソフトウェアでは必須ですが、クラウドネイティブ アプリケーションの場合は、標準出力/標準エラーへの印刷のみにしてください。アンチパターンのもう 1 つの例は、アプリケーション内のコードを通じて Kafka などのブローカーにログをスローすることです。これにより、アプリケーション サービスと Kafka が目に見えない形で結合されます。 多くの人は、クラウド ネイティブの世界におけるさまざまなログ収集および処理コンポーネントの威力を理解していないため、ログを stdout/stderr に出力するだけでは十分ではないと考えています。私たちは伝統的な慣習に慣れており、「単一責任の原則」を忘れています。 管理プロセス - 管理タスクを分離
バックグラウンド管理タスクを 1 回限りのプロセスとして実行します。運用環境での一部のツール操作は 1 回限りである可能性があるため、ローカルではなく運用環境で実行することが最適です。 反例:アプリケーション サービスの実行環境にデータベース クライアントをインストールし、運用および保守担当者が手動で一連の SQL を実行してデータベースを変更します。または、いくつかの操作および保守スクリプトをインストールし、それらをマシンの cron テーブルに配置して、いくつかのスクリプトを定期的に実行します。 3. マイクロサービス(1)マイクロサービスとは何か?マイクロサービスアーキテクチャとは、小さなサービスのグループを開発することで、独立したアプリケーションシステムを開発することです。各サービスは独立したプロセスとして実行され、他のサービスとの軽量な (通常は HTTP API) 通信メカニズムを使用します。 これらのサービスはビジネス機能を中心に構築されており、完全に自動化されたデプロイメント メカニズムを通じて個別にデプロイできます。これらのサービスは最小限の集中管理機能 (Docker など) を使用し、さまざまなプログラミング言語やデータベースを使用することもできます。 マイクロサービスの粒度をどのように決定するか、つまり「マイクロ」という言葉をどのように定義するか? この質問に対する正しい答えはビジネスや組織の状況によって異なるため、コンセンサスはありません。 サービスを小さくしすぎると、実行時のオーバーヘッドと運用の複雑さがマイクロサービスの利点を上回ってしまうため、悪い習慣と見なされます。サービスが細分化されすぎると、機能をライブラリにパッケージ化したり、機能を他のマイクロサービスに移動したりするなど、他のアプローチを検討する必要があります。 したがって、マイクロサービスの「マイクロ」は単に「小さい」という意味ではなく、「適切」という意味で理解できます。 (2)マイクロサービスの利点
次の表は、モノリシック アーキテクチャとマイクロサービス アーキテクチャの比較を示しています。 (3)マイクロサービスのデメリット全ての物事には二つの側面がある。マイクロサービスには多くの利点がありますが、マイクロサービスの使用によってもたらされる課題にも対処する必要があります。 複雑まず、サービス間の通信が複雑になる可能性があります。アプリケーションは、すべてが安全に通信する必要がある数十または数百の異なるサービスで構成されている場合があります。 第二に、マイクロサービスのデバッグはより困難になります。アプリケーションが複数のマイクロサービスで構成され、それぞれに独自のログがある場合、問題の原因を追跡することが困難になる可能性があります。 最後に、マイクロサービスの設計、開発、展開、テストはより複雑になります。 インターフェース制御各マイクロサービスには独自の API があり、アプリケーションは一貫性を保つためにそれに依存します。マイクロサービスとやり取りする外部システムに影響を与えることなく、マイクロサービスに簡単に変更を加えることができますが、API (インターフェース) を変更すると、その変更に下位互換性がない場合、マイクロサービスを使用するすべてのアプリケーションが影響を受けます。 マイクロサービス アーキテクチャ モデルでは、企業の運用に不可欠な多数の API が生成されます。したがって、インターフェース制御が重要になります。 コスト上昇企業内でマイクロサービス アーキテクチャを機能させるには、セキュリティとメンテナンスのサポートを備えた適切なホスティング インフラストラクチャが必要であり、また、すべてのサービスを理解して管理できる熟練した開発チームも必要です。 すでにこれらのものをお持ちの場合は、マイクロサービスへの移行にかかるコストが低くなる可能性があります。しかし、現在モノリシック アーキテクチャを実行しているほとんどの企業は、移行するために新しいインフラストラクチャと開発者リソースに投資する必要があります。 4. コンテナ(1)コンテナとは何か?
Cloud Native Computing Foundation は、企業がクラウド ネイティブ ブループリントを実現するための最初のステップとして、マイクロサービス コンテナ化も使用しています。 コンテナはオペレーティング システムの仮想化の一種です。単一のコンテナを使用して、小さなマイクロサービスやソフトウェア プロセスから大規模なアプリケーションまで、あらゆるものを実行できます。 コンテナには、必要なすべての実行可能ファイル、バイナリ、ライブラリ、および構成ファイルが含まれています。ただし、サーバーやコンピューターの仮想化アプローチとは異なり、コンテナーにはオペレーティング システム イメージが含まれません。したがって、オーバーヘッドが少なく、より軽量で持ち運びが容易です。 マイクロサービスをコンテナ化するのは難しくありません。ソフトウェア コードと必要なすべてのコンポーネント (ライブラリ、フレームワーク、その他の依存関係など) を 1 つのバイナリ ファイル (コンテナー イメージ) にパッケージ化するだけです。イメージはコンテナ レジストリに保存されます。コンテナ レジストリは、コンピューター、データ センター、またはパブリック クラウド上に配置できます。 アプリケーションが起動またはスケーリングされると、コンテナ イメージが実行中のコンテナ インスタンスに変換されます。インスタンスは、コンテナ ランタイムがインストールされている任意のコンピューター上で実行されます。コンテナ化されたサービスのインスタンスをいくつ必要とするか決定できます。 次の図は、それぞれ独自のコンテナー内にある 3 つの異なるマイクロサービスがすべて同じホスト上で実行されていることを示しています。 形。容器 各コンテナは独自の依存関係とランタイムのセットを維持しており、それらは互いに異なる場合があります。図から、異なるバージョンの製品マイクロサービスが同じホスト上で実行されていることがわかります。
(2)コンテナの利点軽量で持ち運びに便利コンテナ内で実行されるアプリケーションは、複数の異なるオペレーティング システムやハードウェア プラットフォームに簡単にデプロイできます。ホストのオペレーティング システム カーネルを共有できるため、コンテナーごとに個別のオペレーティング システムを用意する必要がなくなり、アプリケーションは仮想マシン (VM) でも、任意のインフラストラクチャ (ベア メタル、クラウド) で同じオペレーティング システムを実行できるようになります。 コスト削減コンテナーにはオペレーティング システム イメージが含まれていないため、従来の仮想マシン環境やハードウェア仮想マシン環境よりも必要なシステム リソースが少なくなります。 アプリケーション開発の改善開発者は、あるホスト環境でコンテナを操作するときに、別のホスト環境で使用するのと同じツールを使用できるため、オペレーティング システム間でコンテナ化されたアプリケーションの開発と展開が容易になります。また、コンテナはアジャイル DevOps 作業をサポートし、開発とテストを加速し、生産サイクルを短縮します。
(3)コンテナオーケストレーションDocker などのツールはイメージを作成してコンテナを実行できますが、それらを管理するためのツールも必要です。コンテナ オーケストレーション ツールを使用して、コンテナの展開、管理、拡張、ネットワーク化を完了できます。コンテナ オーケストレーションは、数百または数千のコンテナとホストを展開および管理する必要がある企業に利便性を提供します。 では、コンテナ オーケストレーションは具体的に何を行うのでしょうか?
コンテナ インスタンスを自動的に提供します。
障害を自動的に検出して修正します。
障害が発生したインスタンスを正常なマシンに自動的にリセットします。
需要に応じてコンテナ インスタンスを自動的に追加または削除します。
コンテナ通信に使用されるネットワーク層を管理します。
コンテナを相互に相対的に配置できるようにします。
ダウンタイムゼロの展開のために増分アップグレードを調整し、問題のある更新を自動的にロールバックします。 コンテナ オーケストレーションは、12 の要素の扱いやすさの原則と同時実行性の原則を体現していることがわかります。 5. バックアップサービス形。バックエンドサービス 動作中にネットワーク経由でアプリによって消費されるすべてのサービスは、バックエンド サービスと呼ばれます。従来のオペレーティング システムでは、これらのサービスには、ネットワーク経由、UNIX ソケット経由、またはサブプロセスとしてアクセスできます。例としては、以下のものが含まれますが、これらに限定されません。
独自のバックエンド サービスを管理することも、クラウド プロバイダーに管理してもらうこともできます。クラウド ベンダーは、所有する必要はなく、直接利用できる豊富なバックエンド サービスを提供します。 クラウドベンダーは大規模なリソースを運用し、パフォーマンス、セキュリティ、メンテナンスの責任を負います。クラウドネイティブ システムは、クラウド ベンダーが提供するバックエンド サービスに依存する傾向があります。この点で、多くの時間と労力を節約できます。自分でホストする場合、発生する運用上のリスクはさらに厄介なものになります。 ベストプラクティスは、バックエンド サービスをマイクロサービスに動的にバインドされる追加リソースとして扱い、構成情報は外部構成に保存することです。この原則は上記の 12 の要素で説明されています。
6. 自動化ご覧のとおり、クラウド ネイティブでは、マイクロサービスとコンテナ化を使用して、スピードと俊敏性を実現します。しかし、それだけでは十分ではありません。これらのシステムが実行されるクラウド環境をどのように構成しますか?アプリケーションに機能や更新を迅速に展開するにはどうすればよいでしょうか? まず、IaC (Infrastructure as Code) の概念を理解しましょう。
IaC は、データセンター内の物理ハードウェアから仮想化、コンテナー、クラウド コンピューティングへのインフラストラクチャ管理の移行を支援します。 IaC では、ネットワーク、仮想マシン、ロード バランサ、接続トポロジがすべて高級言語を使用してコーディングされ、アプリケーション開発が依存する環境が標準化されます。 一度コーディングすれば、DevOps は変動する需要に応じてインフラストラクチャを起動、解体、拡張できます。この俊敏性により、ソフトウェアの開発、テスト、展開がより迅速かつ容易になります。 (1)インフラ自動化特定のツール (Azure Bicep など) を使用して、必要なクラウド インフラストラクチャを宣言的に記述できます。リソースの名前、場所、容量はパラメーター化され、動的になります。作成したスクリプトはバージョン管理されます。このスクリプトを呼び出すことで、さまざまなシステム環境で一貫性があり繰り返し可能なインフラストラクチャを構成できます。 副作用を引き起こすことなく、同じスクリプトを繰り返し実行できます。チームがアセットを更新したい場合は、スクリプトを編集して再実行できます。
(2)導入の自動化前の 12 の要因のうちの要因 5 では、ビルド、リリース、実行の各段階で各バージョンを厳密に分離する必要があると述べられています。各バージョンには一意の ID が付けられ、ロールバック機能がサポートされている必要があります。 「ビルド、リリース、実行」の 3 つの段階を分離する必要があることを強調するのはなぜでしょうか? 利点は2つあります。 責任と関心の分離。開発およびテスト担当者は構築を重視し、製品マネージャーはリリースを重視し、運用および保守担当者は運用を重視します。 組立ライン モデルでは、各段階に専用のツールと方法論が備わっており、効率性が向上し、段階間にバッファ スペースが確保されます。 これら 3 つの段階の分離をどのように実現するのでしょうか?組立ラインの稼働は人力だけでは保証されないため、自動化システムが非常に重要です。 CI/CD システムは、この原則を実装するのに役立ちます。独立したビルドおよび配信手順を提供し、ユーザーがすぐに利用できる一貫性のある高品質のコードを確保するのに役立ちます。
これらのテクノロジーを使用することで、企業はソフトウェアのリリース方法を根本的に変えました。多くの企業は四半期ごとのリリースからオンデマンドのアップデートに移行しています。 以上がクラウドネイティブの6つの重要な要素です。 2022年のクラウドネイティブの新しいトレンドを見てみましょう。 3. クラウドネイティブのトレンド過去数年間、IT 業界ではクラウドネイティブ テクノロジーが急激に成長してきました。 2022 年に向けて、注目すべき 5 つの主要なクラウド ネイティブ トレンドをご紹介します。 1. クラウドネイティブ環境におけるWebAssemblyの台頭WebAssembly は、クラウドネイティブ ソフトウェアのコンポーネントに使用できる、高性能、クロスプラットフォーム、多言語のソフトウェア サンドボックス環境へと進化しました。コンテナ ランタイムと WebAssembly (WASM) の間には驚くべき類似点があるため、Kubernetes を使用して WASM コンポーネントをオーケストレーションできます。 WasmCloud、WasmEdge、KubeEdge、Krustlet などのプロジェクトにより、WASM はクラウド ネイティブの世界の第一級の存在になっています。 WebAssembly としてパッケージ化されたソフトウェアをコンテナ化されたソフトウェアと一緒に実行することは可能です。 Kubernetes はこれら 2 つのコンポーネントをシームレスに調整できます。 2. クラウドネイティブセキュリティサイバーセキュリティの重要性が増すにつれ、クラウドネイティブセキュリティも2022年にさらに注目されるようになるでしょう。 今後さらに注目される分野は、ソフトウェアサプライチェーンとeBPF(Extended Berkeley Packet Filter)の2つです。 ソフトウェアサプライチェーンソフトウェアのサプライ チェーンは、現実世界のビジネス サプライ チェーンに似ています。リソースは消費され、一連のステップとプロセスを経て変換され、最終的に顧客に提供されます。 現代のソフトウェア開発は、パブリック ドメインのさまざまなコンポーネントをオープン ソース プロジェクトとして組み立て、統合することから構成されます。複雑なソフトウェア サプライ チェーンでは、1 つのソフトウェアが侵害されると、複数の展開に重大な損害が発生する可能性があります。したがって、ソフトウェア サプライ チェーンのセキュリティを確保することが不可欠です。 電子BPFもう 1 つのエキサイティングなトレンドは eBPF です。これにより、クラウド ネイティブ開発者は安全なネットワーク、サービス メッシュ、および可観測性コンポーネントを構築できるようになります。 3. Kubevirtが主流にKubevirt は、Kubernetes がコンテナのように仮想マシンをオーケストレーションできるようにするオープンソース プロジェクトです。 仮想マシンとコンテナを実行することにより、従来のワークロードをマイクロサービスベースのアプリケーションと簡単に統合できます。 2022年には、KubevirtとKubernetesのアプリケーション統合が急激に増加します。 4。Gitopsは、継続的な展開の標準になりますGitopsは、おなじみのGitベースのワークフローをもたらし、クラウドネイティブワークロードの管理をリリースします。 Gitを単一の真実の源として使用して、状態を制御するために、迅速にロールバックする能力と相まって、Gitopsを強力なメカニズムにします。 2022年には、Gitopsがマルチテナントとマルチクラスターの展開をサポートするために進化し、数万のKubernetesクラスターを簡単に管理できます。おそらく、Gitopsは継続的な展開のゴールドスタンダードになるでしょう。 5。ハイブリッドおよびマルチクラウドアーキテクチャハイブリッドクラウドサービスは、すべての関係者の利点を組み合わせることができます。迅速かつ頻繁にアクセスする必要があるデータは、パブリックサーバーに維持できますが、監視されたアクセスを備えたプライベートサーバーには、より機密のデータを保持できます。よく統合されたバランスの取れたハイブリッドクラウド戦略は、両方の世界の最高を企業にもたらします。 マルチクラウドモデルは、個々のアプリケーション環境、ビジネス要件、可用性のニーズに最適なさまざまなクラウド製品を選択するのに役立ちます。今後、より多くの企業が、特定のクラウドベンダーへのアーキテクチャに依存することはほとんどなく、完全にクラウドネイティブアプリケーションを開発する必要があります。 多くの大企業はすでにハイブリッドとマルチクラウドの戦略を標準として採用していますが、2022年には、より多くの企業がこれらのモデルの利点を認識し、クラウドの弾力性と俊敏性を享受するためにそれらを受け入れます。 オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com. |
<<: VMware は、企業がクラウドとデータセンターで Kubernetes 構成を安全に保護できるよう支援します。
運用・保守業界は2019年に大きな変化を遂げました。多くの新技術の登場に加え、もともと概念段階にあっ...
[[225472]]私が初めて Kubernetes について学び始めたとき (約 1 年半前?)、...
導入Kube-downscaler は、Kubernetes でポッド リソースが自動的にスケールダ...
ほとんどのウェブマスターは、自分のウェブサイトの紆余曲折を経験したことがあるはずです。今日はウェブサ...
Justcloud は 2010 年に設立されたクラウド ストレージ ビジネスで、無制限のクラウド ...
産業部門は、比類のない精度、正確さ、品質を得るために、急速に自動化へと移行しています。高度な計測ソリ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています5月24日...
1 級都市にとって、Pinduoduo は消費の格下げを意味するかもしれないが、3 級都市と 4 級...
世界が前例のない課題に直面する中、企業にとって環境や市場の変化に迅速に対応することが特に重要になって...
通信分野のバックグラウンドを持つ技術オタクが、エンタープライズレベルの AppStore を構築して...
本日の記事では、グラフを使用して分散一貫性の実装原則を深く研究し、理解します。まず、自己を見つめ直す...
著者:顧暁波アプリがプライバシーを盗み、広告を押し付けるのは目新しいことではない。しかし、ネットユー...
Smallseotools は、キーワード ツール、外部リンク ツール、コンテンツ ツールなどを備え...
量子コンピューティングと半導体技術の進歩により、テクノロジーの世界は革命の瀬戸際に立っています。量子...
少し前、テンセントがJD.comに投資したというニュースが業界関係者の間で話題になった。しかし、この...