教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
Cloud Native Computing Foundation (CNCF) によって、公式の定義が提供されています。
クラウドネイティブ テクノロジは、パブリック、プライベート、ハイブリッド クラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例には、コンテナー、サービス メッシュ、マイクロサービス、イミュータブル インフラストラクチャ、宣言型 API があります。
クラウドネイティブでは、"スピード" と "機敏性" が重要なファクターです。
ビジネスのスピードと成長を加速させるため、すぐに市場に投入できる新しいアイデアを得ることが不可欠となります。
ビジネスの成功を実現するためにもクラウドネイティブは必要なものとなってきます。
公式の定義として、コンテナーやサービスメッシュ、マイクロサービス、イミュータブル インフラストラクチャなどが挙げられていますが、それぞれを個別に導入してもクラウドネイティブとは言えません。
コンテナーやマイクロサービスを組み合わせ、様々なクラウドサービスのマネージドサービスを組み合わせることによってクラウドネイティブは実現出来ると思います。
従来の様にアプリケーションの中でDB接続定義を記載し、IaaSにアプリケーションをデプロイする。
こういったものはクラウドネイティブではなく、IaaSを使ったただの仮想化に過ぎません。
WebアプリケーションをPaaSに実装し、シークレット情報はPaaSで管理(Azure Key Vaultなど)してデータベースはマネージドサービスを利用する。
このようにマネージドサービスを複数組み合わせたアプローチがクラウドを前提としてアプリケーションを実装する。
いわゆるクラウドネイティブな考え方となるのです。
アプリケーションを実装するだけがクラウドネイティブではありません。
リソースやアプリケーションの死活監視やセキュリティの監視・管理もクラウドネイティブの考え方には必要となります。
CNCF のTrailMapにも紹介されていますが、以下のファクターがあると言われておりそれぞれを考慮した構成を組んでいく必要があります。
ざっくりですが、CI/CDでインフラ・デプロイの自動化をし、監視・分析を実装、ネットワーク・セキュリティ監視を行い、サービスメッシュの実装をコンテナー技術などを駆使して管理・実装する流れを検討する。
このような考え方を持ってクラウドネイティブアーキテクチャを組み上げていく形となります。
本教材ではクラウドのマネージドサービスをいかに組み合わせ、クラウドネイティブアプリケーションを実装するかにフォーカスして解説していきます。
ここまで Microsoft Azure やクラウドネイティブに関する基礎的な解説をしてきました。
次章は Microsoft Azure をより使いやすくするために開発環境を整えることについて解説していきます。