クラウドネイティブ(Cloud Native)

クラウドネイティブとは、クラウド環境に最適化された設計やアーキテクチャパターンを指します。クラウドの特性を最大限に活かし、クラウドインフラを活用することで高い俊敏性、スケーラビリティ、可用性を実現しようとするアプローチです。

クラウドネイティブの特長

機能単位に分割されたマイクロサービス

マイクロサービスアーキテクチャは、モノリシックではなく、機能単位に分割されたマイクロサービスで構成されています。これにより、敏捷な開発とスケーリングが可能になります。

コンテナ化

コンテナ化 アプリケーションはOSレベルの仮想化であるコンテナ上で実行されます。Dockerなどのコンテナ技術が活用されています。コンテナはポータブルでスケーリングしやすい特徴があります。

サービスメッシュ

サービスメッシュ マイクロサービス間の通信を効率的に制御するためのサービスメッシュ層があります。イーストウェストトラフィックの管理、認証、監視などの責務を担います。

ステートレスアプリケーション 

アプリケーションの状態はイミュータブルなコンテナに保持されず、外部ストア(DBやキャッシュ)に保持されます。これにより、スケーリングや復元が容易になります。

 Kubernetes

クラウドネイティブアプリケーションプラットフォーム Kubernetes、Cloud Foundryなどのアプリケーションプラットフォームを利用し、リソース調達、デプロイ、スケーリングなどを自動化します。

関連用語

Kubernetes

コンテナ

ステートレスアプリケーション