Kompira

Menu Menu

System operation glossary

クラウドネイティブ

クラウドには、オンデマンドなリソース確保による柔軟なスケールアップやスケールアウトが可能というメリットがあります。「クラウドネイティブ」とは、クラウドシステムならではの利点を徹底的に活用するシステム・方法論です。超高速な開発環境への対応や、高度な運用自動化などを実現することが目的です。

クラウドコンピューティングが登場したのは2000年代半ばでしたが、当時はシステムはオンプレミス環境で動かすことが前提でした。黎明期にはオンプレミス環境で動いていたシステムをクラウドに移行するケースが多く見られました。
単にプラットフォームにクラウドを採用したシステムは「クラウドネイティブ」とは呼ばず、最初からクラウドでの稼働を前提とした設計を持つシステムを指します。

その後、クラウド技術も進化し、最初からクラウドコンピューティングの利点を最大限に利用できるようにシステム設計が行われるようになります。このようなクラウド環境前提のアーキテクチャーを示す際に「クラウドネイティブ」と呼ばれるようになりました。もっとも、当初から明確な定義が存在していたわけではありません。

2015年にCloud Native Computing Foundation(CNCF) がLinux Foundationの下に創設され、「クラウドネイティブ」の定義が行われました。このCNCFによる定義が多くのコミュニティやベンダによって支持されています。

CNCFではクラウドネイティブを次のように定義しています。

「クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。
これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。」

引用元:https://github.com/cncf/toc/blob/master/DEFINITION.md#日本語版