Skip to content

Latest commit

 

History

History
96 lines (67 loc) · 4.42 KB

File metadata and controls

96 lines (67 loc) · 4.42 KB

Top
前: 環境セットアップ
次: 構成管理


CloudNativeの基礎

プラクティスに入る前にCloudNativeの基礎的な知識のおさらいです。

CloudNativeとは

CloudNative(クラウドネイティブ)とは、クラウドの特性を最大限に活用し、柔軟でスケーラブルかつ高可用性なシステムを構築・運用するためのアプローチや設計思想を指します。
このアプローチによりエンジニアの労力を軽減し、変更を頻繁かつ予測可能に出来ます。
従来の密結合なシステムとは異なり、疎結合な設計を採用することで、柔軟性を高めています。

参考:CNCF Cloud Native Definition

CloudNativeの要素

CloudNativeはある特定の技術要素を指すのではなく、以下のような複数の要素が組み合わさって形成されます。
本プラクティスでも以下の要素を学習していきます。

技術

  • IaC(Infrastructure as Code)
    インフラストラクチャをコードとして管理し、自動化・再現性・バージョン管理を実現します。TerraformやCloudFormationなどのツールが代表例です。

  • コンテナ
    アプリケーションやその依存関係を一つのパッケージとしてまとめ、どの環境でも一貫して動作させる技術です。Dockerなどが代表例です。

  • CI/CD(継続的インテグレーション/継続的デリバリー)
    コードの変更を自動的にビルド・テスト・デプロイする仕組みです。これにより、品質向上とリリースサイクルの短縮が可能になります。

  • オーケストレーター
    コンテナ化されたアプリケーションやサービス群を自動的に管理・運用する仕組みです。Kubernetesが代表的なオーケストレーターです。

  • マイクロサービスアーキテクチャ
    アプリケーションを小さな独立したサービス群として分割し、それぞれが独立して開発・デプロイ・スケールできる設計手法です。これにより、柔軟性や障害耐性が向上します。

組織・文化

  • アジャイル開発
    変化に柔軟に対応しながら、短いサイクルで継続的に価値を提供する開発手法です。チーム間のコミュニケーションやフィードバックを重視します。

  • DevOps
    開発(Development)と運用(Operations)が連携し、システムの品質向上やリリースの迅速化を目指す文化・プラクティスです。自動化や継続的な改善が重要な要素となります。

理解度チェック

  1. 以下の単語を使ってCloudNativeの特徴を説明する文章を作成してください。
    • クラウド
    • 柔軟
    • スケーラブル
    • 高可用性
    • 迅速
    • 予測可能
    • 疎結合
      (作成した文章をChatGPT等で確認してみましょう。)
答え例

クラウドの特性を活かし、柔軟・スケーラブル・高可用性なシステムを構築・運用するアプローチです。 変更を迅速かつ予測可能にし疎結合な設計を採用することで、柔軟性を高めています。

  1. 次のうち、CloudNativeの恩恵を最も受けないのはだれですか?
    a) プロジェクトマネージャー
    b) SRE
    c) インフラエンジニア
    d) 営業担当
答え

d) 営業担当

  • プロジェクトマネージャー(a):プロジェクトの効率化やデリバリーの迅速化を享受できます。
  • SRE(b):運用自動化や可観測性向上といった恩恵があります。
  • インフラエンジニア(c):インフラ構築・運用の自動化、柔軟なスケーリングなど多くの利点があります。

Top
前: 環境セットアップ
次: 構成管理