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

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

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

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

コンセプト

技術を理解するには、まず概念から始めなければなりません。クラウド ネイティブの概念に関連する主な組織は、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 によるクラウドとデータセンターの再構成の習得

推薦する

HotSpot 仮想マシンのソースコードから Java のアクセス制御修飾子を理解する

[[340301]]前回の Ribbon ソース コード分析の記事で、読者から次のような質問がありま...

有能な SEO 担当者になるにはどのような能力が必要ですか?

SEO ウェブサイト最適化業界で働きたい人はたくさんいますが、あなたは有能な SEO ウェブサイト最...

gigsgigscloud: 高セキュリティ VPS、元旦 30% オフ、Voxility+CN2 GIA、防御と速度の保証

gigsgigscloudは、元旦に米国高防御VPSの30%割引プロモーションを提供しています。米国...

Inmaise マーケティング ディレクター You Yajie との独占インタビュー: 学びを深め、自分を超えよう!

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますInmai...

B2Bウェブサイトのユーザーエクスペリエンスを4つの側面から改善する

どのような種類のウェブサイトであっても、ユーザー エクスペリエンスは重要ですが、B2B ウェブサイト...

データセンターホスティング事業はクラウドコンピューティングと競合する可能性あり

企業のデータセンターに対する需要の高まりは、クラウド コンピューティングにのみ反映されているわけでは...

スパイダー SEO: SEO で最も収益性の高いウェブサイト

最近、ウェブマスターのウェブサイトで SEO トピックについて議論する記事が、過去 2 か月に比べて...

私の国のクラウドコンピューティング市場は急速な発展期にあります

クラウド コンピューティングは、情報技術の発展とサービス モデルの革新を凝縮したものです。これは情報...

Vaicdn: 登録/実名CDNは不要、帯域幅が大きく、防御力が高く、攻撃がレイテンシに影響を与えない

vaicdn はインテリジェントな加速とセキュリティ保護サービスを提供しており、1S 内で悪意のある...

クラウドの価格設定についての真実をご存知ですか?

過去 10 年ほどの間に、クラウド コンピューティングは、実行可能で安全なコンピューティングおよびビ...

WeChatの「いいね!」の背後にあるグレーな産業チェーン:いいねは1つあたり0.1~0.4セントで販売されている

「純粋に手作りのいいね! オンデマンドのいいね! 集まったいいねは地球を2周できる。」 このスローガ...

ビッグニュース: Azure SQL Database マネージドインスタンスが中国でリリースされます

[51CTO.com からのオリジナル記事] 最近、Microsoft は今年最も重要なクラウド サ...

edgenat: 元旦 VPS 割引、月払いで 20% オフ、年払いで 30% オフ (10 か月のみ)、米国 cn2、香港 cn2、韓国 cn2

edgenat (ASN139803) は新年のプロモーションを発表しました。韓国の CN2、米国の...