クラウドネイティブ
en : Cloud Native
『Kubernetes 実践ガイド』 におけるクラウドとは、NIST によるクラウドコンピューティングの定義に沿うものを想定
クラウドネイティブとは、クラウドの特性を活用し、ビジネス価値を提供する考え方
ビジネス価値を提供する、というのが重要で、単にパブリッククラウドなどのクラウドリソースを使うという話ではない
Cloud Native Computing Foundation (CNCF) によるクラウドネイティブの定義 :
回復性、管理力、および可観測性のある疎結合システムと、堅牢な自動化を組み合わせることにより、システム変更を最小限の労力で、頻繁かつ予測通りに行う設計思想
クラウドネイティブを支える構成要素
クラウドネイティブアプリケーションは、アーキテクチャのモジュール性、疎結合、サービス独立性に主眼を置く
マイクロサービスや API といった概念が重要
サービスベースアーキテクチャ
どのような環境に対してもアプリケーションを移植でき、オンデマンドなインフラストラクチャが必要
この実践がコンテナオーケストレーションであり、実装として Kubernetes がある
クラウドネイティブアプリケーションの方法論
The Twelve-Factor App
アプリケーションモダナイゼーション
組織改革も重要
リリースまでに多くのレビューや印鑑承認があるとアジリティが下がるし開発のモチベーションも下がる
Conway の法則
参考文献
Kubernetes 実践ガイド