クラウドネイティブシステムの特性

f:id:Naotsugu:20200504163127p:plain

Cloud Native DevOps with Kubernetes におけるクラウドネイティブシステムの特性


  • 自動化可能
    • アプリケーションのデプロイや管理が自動化されている


  • ユビキタスかつ柔軟
    • ディスクなどの物理リソースや、実行基盤となるコンピューティングノードに関する詳細な知識から切り離されており、ノード間、クラスタ間で容易に移動が可能


  • 弾力的かつスケーラブル
    • クラウドネイティブのアプリケー ションでは、分散による冗長性や優雅な劣化(グレースフル・デグラデーション)を通じて高度な可用性を実現することで単一障害点が回避される


  • 動的
    • コンテナのコピーを数多く実行して高可用性を実現したり、ローリングアップデートを実施してトラフィックを全く取りこ ぼすことなくサービスを円滑にアップグレードするなど、利用可能なリソースを最大限に活用できるようオーケストレートされる


  • オブザーバブル(Observable、観測可能)
    • 分散システムはその性質上、検査やデバッグが困難となるため、監視、ロギング、トレーシング、メトリクスなどのオブザーバビリティが分散システムの重要な要件である


  • 分散化
    • クラウドネイティブは、分散化および非集中化というクラウドの性質が活用されるアプリケーションを構築および実行するためのアプローチであり、協調して動作する複数の分散化されたマイクロサービス(1 つのことを実行する自己完結型のサービス)から構成される傾向がある



Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps