HashiCorpのデベロッパーアドボケイトRosemary Wang氏はQCon Londonで、プラットフォームやアプリケーションのクラウド最適化をめざす技術者が考慮すべき5つのポイント、適応性、 オブザーバビリティ、不変性、弾力性、および変更性にフォーカスした講演を行った。
Wang氏はまず、典型的な移行プロジェクトや未開発プロジェクトの文脈で「クラウドネイティブ」を定義した。そして、当初のアーキテクチャが、予想以上のコストや未知の要件によって再構築となることが多いことを説明した。そしてクラウドネイティブアーキテクチャに向けたアプリケーションの進化は、5つの検討事項によって決まると提案し、プレゼンテーションの中でさらに詳しく説明した。
Wang氏は「適応性(adaptability)」について「複数の環境に展開できるアプリケーションの能力」と定義した。そして柔軟性を実現するためには、Kubernetesのような抽象化された技術が不可欠であることを示した。さらに、シークレットとコンフィギュレーションの分離、インジェクションによる上流と下流の依存関係の分離、抽象的なE2Eテスト、1つ前の安定バージョンの採用など、適応性のためのいくつかのベストプラクティスをとりあげた。
「オブザーバビリティ(observability)」については、クラウドネイティブワークロードのふるまいを理解するための主要な手段として、その重要性を説き、そして、クラウドネイティブのオブザーバビリティに関連するベストプラクティスとして、リソースのタグとメタデータの標準化、すべてのIDプリンシパルのアクセス監査とロギング、テレメトリデータの集約、オブザーバビリティデータのプッシュ/プル配信方法の選択などを紹介した。
3つ目のポイント、「不変性(immutability)」については、アプリケーションの変更を新しい自己完結型のリソースとして導入することであると説明した。抽象化を採用するという事前の決定によって、アプリケーションのシークレットなどすべての変更に適用できない可能性があると説明した。このセクションはインフラストラクチャーをコードとして自動化しデプロイすること、アプリケーションの状態と構成の分離、変更に対する再起動の活用、リソースプロビジョニングの最適化、データの分散といった、関連するベストプラクティスについての議論を披露した。
「弾力性(elasticity)」とは、リソースの従量課金コストを最適化することである。Wang氏は一般的に垂直方向のスケーリングに傾いていたオンプレミス環境と、クラウドベースのワークロードを比較した。当初クラウドネイティブの文脈では、水平スケーリングが弾力性の答えになると考えられていた。アイドル状態とアクティブ状態のリソースの評価、ウォームアップと実行時間の最適化、データ量と処理頻度の相対的な評価などである。
5つ目のポイントである「変更性(changeability)」は、アプリケーションが新しい技術を取りこむ能力である。新技術はしばしば新しいパラダイムを中心に展開されるため、新技術に完全に移行する前に新しいパラダイムに高いレベルで慣れるために中間的な採用ステップが必要であることが強調された。成功する変更可能性アプローチは、新技術の利点を評価して過去のパターンを見直し、適切な中間ステップを通って、それに応じてアプリケーションやインフラをリファクタリングするものと、と位置づけた。
Wang氏はクラウドネイティブは最終目的地ではなく、ダイナミックな環境下でスケーラブルなアプリケーションを目指す継続的な活動であることを来場者に伝えて、講演を締めくくった。