クラウドネイティブについて簡単に説明

クラウドネイティブについて簡単に説明

クラウド ネイティブは、新しいソフトウェア アーキテクチャ モデルとして、アプリケーションのアジャイル開発、迅速な展開、信頼性の高い運用を促進することを目的としています。この概念は長年提案されてきましたが、クラウド ネイティブが徐々に中国中部の顧客から広く注目され、認知されるようになったのは近年のことです (これは正確ではないかもしれませんが、私の感覚と経験に基づくと事実です)。

この記事では、私が収集して整理した情報と私の理解を組み合わせて、クラウド ネイティブとは何かを概観します。

コンセプト

技術を理解するには、まず概念から始めなければなりません。クラウド ネイティブの概念に関連する主な組織は、Pivo​​tal と CNCF の 2 つです。

  • Pivotal: Pivotal は、EMC、VMware、GE からの投資により 2013 年 4 月に設立されました。デジタル時代における企業の変革を支援するために必要なプラットフォーム上の PaaS クラウド コンピューティング、ビッグ データ インフラストラクチャ プラットフォーム、エクストリーム プログラミングに重点を置いています。
  • CNCF: CNCF (Cloud Native Computing Foundation) は、Linux Foundation 傘下の財団であり、2015 年 12 月 11 日に設立された非営利団体です。

2015 年、Pivo​​tal のテクニカル プロダクト マネージャーである Matt Stine 氏が初めてクラウド ネイティブの概念を提唱し、クラウド ネイティブ アーキテクチャには次の機能が含まれている必要があると主張しました。

12の要素、マイクロサービス、アジャイルインフラストラクチャ、APIベースのコラボレーション、ストレス耐性に準拠

2017 年に Matt Stine 氏は InfoQ とのインタビューでクラウド ネイティブ機能にいくつかの調整を加えました。

モジュール性、可観測性、展開可能性、テスト可能性、処理可能性、交換可能性

クラウド ネイティブに関連するキーワードの一部は次のとおりです: https://tanzu.vmware.com/cloud-native:

マイクロサービス、DevOps、コンテナ、サービスメッシュ、CI/CD、サーバーレス

クラウドネイティブの定義は常に進化しており、新しいものが継続的に追加されることがわかります。

CNCF の公式定義が最初にどのように確立されたかを見てみましょう。

クラウド ネイティブ コンピューティングでは、オープン ソース ソフトウェア スタックを使用してアプリケーションをマイクロサービスとして展開し、各部分を独自のコンテナーにパッケージ化し、それらのコンテナーを動的にオーケストレーションしてリソースの使用率を最適化します。

クラウド ネイティブは、オープン ソース ソフトウェア テクノロジー スタックを使用してマイクロサービス アプリケーションをデプロイし、各コンポーネントを独自のコンテナーにパッケージ化し、動的なオーケストレーションを通じてリソースの使用率を最適化します。

2018 年に CNCF はクラウド ネイティブ定義の v1.0 バージョンをリリースしました。アドレスは次のとおりです。

https://github.com/cncf/toc/blob/main/DEFINITION.md

クラウド ネイティブ テクノロジーにより、組織はパブリック クラウド、プライベート クラウド、ハイブリッド クラウドなどの新しい動的環境で、弾力的にスケーラブルなアプリケーションを構築および実行できるようになります。代表的なクラウドネイティブ テクノロジーには、コンテナー、サービス メッシュ、マイクロサービス、不変インフラストラクチャ、宣言型 API などがあります。

これらの技術により、フォールト トレラントで管理しやすく、監視しやすい疎結合システムの構築が可能になります。信頼性の高い自動化と組み合わせたクラウドネイティブ テクノロジーにより、エンジニアはシステムに頻繁かつ予測可能な重大な変更を加えることが容易になります。

Cloud Native Computing Foundation (CNCF) は、クラウド ネイティブ テクノロジーを促進するために、ベンダー中立のオープン ソース エコシステムを育成および維持することに取り組んでいます。私たちは最先端のモデルを民主化することで、これらのイノベーションを大衆に利用できるようにします。

クラウドコンピューティングとクラウドネイティブの関係

初期の頃は、従来のエンタープライズ ソフトウェア開発は社内の物理マシン上で展開されていました。システムが正常に動作するためには、通常、多数のマシンが必要であり、データベース、ミドルウェア、プログラムのフロントエンドとバックエンドをすべて個別に展開する必要がありました。

その後、仮想化技術が導入され、物理的な制限の制約から解放され、さまざまな物理リソース(CPU、メモリ、ネットワーク、ストレージなど)の上に論理レイヤーを構築することで、物理リソースの利用率が向上しました。最も直感的にわかるのは、1 台の物理マシン上で複数の仮想マシンをすばやく実行できることです。つまり、物理マシンの数を減らしてコストを節約できるということです。

仮想技術の成熟により、クラウド コンピューティングが登場しました。 2006 年に、Google は初めてクラウド コンピューティングの概念を提案しました。クラウド コンピューティングの登場後、XaaS が徐々に登場しました。

  • IaaS (Infrastructure as a Service) : 必要なコンピューティング、ストレージ、ネットワーク リソースを従量課金制でオンデマンドで提供するクラウド コンピューティング サービスの一種。このサービス モデルは、顧客のメンテナンス コストとハードウェア コストの削減に役立ちます。
  • PaaS (Platform as a Service) : クラウド コンピューティング サービス モデルの 1 つで、一連の開発ツール、サービス、アプリケーション プログラミング インターフェイス (API)、およびその他のリソースを含むプラットフォームを開発者に提供します。その目標は、クラウド プロバイダーが開発環境の管理と提供の責任を負い、開発者がアプリケーションをより迅速かつ効率的に構築、リリース、拡張、保守できるようにすることです。
  • aPaaS (Application Platform as a Service) : ローコード機能など、アプリケーションのより高速な構築サービスを提供することに重点を置いた特定のタイプの PaaS です。通常、視覚的な操作、効率的なデータ処理、モジュール関数の実装などを通じてネイティブ コードの使用を削減し、開発者がアプリケーションをより効率的に構築、実行、保守、拡張できるようにすることを目的としています。
  • DaaS (Data as a Service) : 静的リソースのデータをインターネット経由で取得できる即時サービスに変換します。ユーザーは、データの保存と管理の根本的な詳細を気にすることなく、データに簡単にアクセスして使用できます。データはプラットフォームを通じて集中管理され、標準化されたデータ アクセスとデータ処理プロセスが提供されます。
  • FaaS (Function as a Service) : イベント駆動型のサーバーレス実行モデルです。このモデルでは、開発者はサーバーの管理とメンテナンスを気にする必要がなく、ビジネス機能コードを記述してアップロードするだけで済みます。特定のイベントがトリガーされると、これらのコードはクラウド サービス プロバイダーによって完全に管理された環境で実行されます。
  • SaaS (Software as a Service) : 通常は Web ブラウザを通じてソフトウェアがユーザーに配信されるクラウド コンピューティング モデル。ユーザーはローカルマシンにソフトウェアをインストールしたり保守したりする必要はありません。すべてのアプリケーションとデータベースはクラウド データ センターに配置されます。これにより、ユーザーのソフトウェアとハ​​ードウェアへの投資とメンテナンス作業が削減されます。

クラウド コンピューティングの普及に伴い、一部の企業はソフトウェアを徐々にパブリック クラウドに移行しています。ネットワーク、ストレージ、サーバーなどはすべてクラウドベンダーの IaaS および PaaS 機能によって提供されるため、それらについて心配する必要がなくなります。

しかし、あくまでもアプリケーションがクラウドに移行されたとしか言えません。ソフトウェアが動作するプラットフォームと運用保守体制のみが変わり、ソフトウェアのアーキテクチャや業務形態は大きく変わっていません。クラウドに展開されたアプリケーションは、そのほとんどが柔軟性とスケーラビリティに大きな制限がある従来のモノリシック アーキテクチャであるため、クラウドの特性を発揮しません。したがって、これは真のクラウドネイティブ アプリケーションではありません。

真のクラウドネイティブアプリケーションを実現するには、プログラムをある程度変更する必要があります。コンテナ化されたデプロイメントとオーケストレーションに適応できる必要があります。マイクロサービス アプリケーションのように、迅速に応答し、動的に拡張できる必要があります。さまざまなクラウドミドルウェアなどに適応できる必要があります。

クラウド ネイティブはクラウド コンピューティングの機能を活用します。クラウド コンピューティングは強力なインフラストラクチャとコンピューティング リソースを提供し、クラウド ネイティブの開発の基盤を築きます。クラウド ネイティブは、アプリケーションのアーキテクチャと管理を最適化することで、クラウド コンピューティングの利点をより有効に活用します。それらは互いに補完し合います。

クラウドネイティブのメリット

上記の紹介から、クラウド ネイティブの最終的な目標は、開発コスト、運用保守コスト、ハードウェア コスト、メンテナンス コストなど、さまざまなコストを節約することであることもわかります。

コストを節約できる理由は、主に以下の側面の設計と実践によるものです。

  • コンテナ化:  アプリケーションをコンテナ化すると、アプリケーションとその依存関係が軽量で移植可能なコンテナにパッケージ化され、デプロイとスケーリングが容易になります。
  • コンテナオーケストレーション:   Kubernetes などの自動デプロイメントおよびコンテナ オーケストレーション ツールは、トラフィックや負荷の変化に応じてアプリケーション インスタンスの数を迅速かつ動的に調整できるため、弾力性とスケーラビリティが向上します。
  • マイクロサービス アーキテクチャ:  クラウド ネイティブ アーキテクチャでは通常、マイクロサービス アーキテクチャが採用されます。マイクロサービス アーキテクチャでは、アプリケーションを独立してデプロイされた小さなサービスのセットに分割し、各サービスを独立して拡張および調整できるため、システム全体の耐障害性が向上します。マイクロサービス アーキテクチャに関する私の理解は、必ずしも物理的な分割ではありません。論理的な分割が実現できれば、物理的には単一のボディであっても、拡張性と柔軟性が高まります。
  • 動的リソーススケジューリング:  クラウドネイティブ アーキテクチャにより、動的なリソース スケジューリングが可能になり、アプリケーション要件を満たすためにコンピューティング リソースをオンデマンドで割り当てることができるため、リソース使用率が向上し、弾力性が向上します。
  • 迅速な配信と継続的な展開: クラウドネイティブ アーキテクチャは、自動化された継続的インテグレーションと継続的デリバリー (CI/CD) プロセスをサポートし、新しい機能、更新、修正をユーザーに迅速に提供できるようにします。これにより、開発チームの効率が向上し、製品の発売サイクルが短縮され、企業は市場の変化に迅速に対応できるようになります。

やっと

クラウド ネイティブの概念を理解し、クラウド ネイティブ アプリケーションを開発すると、ビジネスの問題点を真に解決し、クラウド ネイティブのメリットを享受できるようになります。例えば、プログラムをマイクロサービスに変換する場合、変換にかかるコスト、メリット、問題点などを事前に検討し、総合的に検討した上で決定する必要があります。

<<:  レジストリ: 分散システムへの対応方法

>>:  Open NOS によるクラウドとデータセンターの再構成の習得

推薦する

データセンターにおける VxLAN テクノロジーについての簡単な説明

[[250106]]ネットワーク技術の発展に伴い、クラウドコンピューティングは、システム利用率の高さ...

SEOクライアントにウェブサイトのランキングを維持する方法を教える

SEO 初心者の友人だけでなく、Wang Shifan の最適化クライアントの多くもこの質問をするで...

VULTR: 月額 2.5 ドル、フル補充、KVM、512M メモリ、日本を含む 15 のデータセンター

Vultr は誰もがよく知っています。世界中の 15 のデータセンター (日本 VPS、シンガポール...

事例分析:中国国内の検索エンジンの類似点と相違点を探る

オンラインプロモーションは多くのレベルに分かれており、ウェブサイト最適化ランキングは最も一般的なウェ...

美しいか醜いか? AdSenseはアカウントを閉鎖し、パブリッシャーの収入を差し押さえたと報じられた

AdSense は、Google がパブリッシャー (ウェブサイト所有者) 向けに開始したインターネ...

Android Mは月餅ですか?

5年前、Googleは中国本土市場から断固として撤退し、AndroidのアプリストアであるGoogl...

どこへ行くんですか?ボウルに入ってください。

初心者であっても、ウェブサイトの最適化に長年携わってきた実践者であっても。外部リンクは、すべての人の...

SUSE、ローカリゼーション向けRancher Enterprise Edition 2.6をリリース

Rancher Enterprise Edition は、「Rancher China」の時代に初め...

CIOがクラウドコンピューティングプロバイダーに求めるもの

Industry Media は最近、2022 年のオハイオ州 CIO オブ ザ イヤー賞を受賞した...

クラウドコンピューティングの未来は大きく変わる

2 年前、Wired 誌に非常に目を引く記事が掲載されました。「クラウド コンピューティングの時代は...

Sina.com の改訂された CMS ウェブサイトに関する私の意見

Sina.com がデザインを一新しました。かつては中国のウェブサイトの中で最も尊敬されていたこの「...

Baidu のオリジナル Spark Project 検索エンジンが重複コンテンツを識別する方法

百度検索エンジンは、インターネットの情報内容を是正するために、「百度オリジナルスパーク計画」を大規模...

ガートナーは、世界のパブリッククラウドのエンドユーザーの支出が2021年に23%増加すると予測している。

情報技術調査・コンサルティング会社であるガートナーは、2020年のパブリッククラウドIaaSの市場デ...

ステージの設定方法とマイクロブログマーケティングの実行方法

私の周りの友人たちもどんどんインターネット起業家軍団に加わり、その多くがWeiboマーケティングの機...