カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-2

クラウドネイティブアーキテクチャを理解しよう

クラウドネイティブとは

Cloud Native Computing Foundation (CNCF) によって、公式の定義が提供されています。

クラウドネイティブ テクノロジは、パブリック、プライベート、ハイブリッド クラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例には、コンテナー、サービス メッシュ、マイクロサービス、イミュータブル インフラストラクチャ、宣言型 API があります。

クラウドネイティブでは、"スピード" と "機敏性" が重要なファクターです。
ビジネスのスピードと成長を加速させるため、すぐに市場に投入できる新しいアイデアを得ることが不可欠となります。
ビジネスの成功を実現するためにもクラウドネイティブは必要なものとなってきます。

どういったものがクラウドネイティブなのか

公式の定義として、コンテナーやサービスメッシュ、マイクロサービス、イミュータブル インフラストラクチャなどが挙げられていますが、それぞれを個別に導入してもクラウドネイティブとは言えません。
コンテナーやマイクロサービスを組み合わせ、様々なクラウドサービスのマネージドサービスを組み合わせることによってクラウドネイティブは実現出来ると思います。

従来の様にアプリケーションの中でDB接続定義を記載し、IaaSにアプリケーションをデプロイする。

こういったものはクラウドネイティブではなく、IaaSを使ったただの仮想化に過ぎません。

WebアプリケーションをPaaSに実装し、シークレット情報はPaaSで管理(Azure Key Vaultなど)してデータベースはマネージドサービスを利用する。

このようにマネージドサービスを複数組み合わせたアプローチがクラウドを前提としてアプリケーションを実装する。
いわゆるクラウドネイティブな考え方となるのです。

クラウドネイティブな運用監視

アプリケーションを実装するだけがクラウドネイティブではありません。
リソースやアプリケーションの死活監視やセキュリティの監視・管理もクラウドネイティブの考え方には必要となります。

CNCF のTrailMapにも紹介されていますが、以下のファクターがあると言われておりそれぞれを考慮した構成を組んでいく必要があります。

  • CONTAINERIZATION
  • CI/CD
  • ORCHESTRATION & APPLICATION DEFINITION
  • OBSERVABILITY & ANALYSIS
  • SERVICE PROXY, DISCOVERY, & MESH
  • NETWORKING, POLICY & SECURITY
  • DISTRIBUTED DATABASE & STORAGE
  • STREAMING & MESSAGING
  • CONTAINER REGISTRY & RUNTIME
  • SOFTWARE DISTRIBUTION

ざっくりですが、CI/CDでインフラ・デプロイの自動化をし、監視・分析を実装、ネットワーク・セキュリティ監視を行い、サービスメッシュの実装をコンテナー技術などを駆使して管理・実装する流れを検討する。
このような考え方を持ってクラウドネイティブアーキテクチャを組み上げていく形となります。

本教材ではクラウドのマネージドサービスをいかに組み合わせ、クラウドネイティブアプリケーションを実装するかにフォーカスして解説していきます。

0章のまとめ

ここまで Microsoft Azure やクラウドネイティブに関する基礎的な解説をしてきました。
次章は Microsoft Azure をより使いやすくするために開発環境を整えることについて解説していきます。