メインコンテンツまでスキップ

03 - クラウド & クラウドネイティブコンピューティング

クラウドコンピューティング

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > クラウドインフラ活用

コンピューティング & ストレージ (IaaS)

  • Amazon EC2 - クラウド上で安全かつ拡張可能なコンピューティングキャパシティを提供するウェブサービス
  • Amazon EBS - Amazon Elastic Compute Cloud との使用に設計された、使いやすく高パフォーマンスなブロックストレージサービス
  • Azure Virtual Machines - Windows および Linux 仮想マシンを数秒でプロビジョニングするサービス
  • Azure Disk Storage - Azure 仮想マシン向けの高パフォーマンスで耐久性のあるブロックストレージ
  • Google Cloud Compute Engine - Google のインフラストラクチャ上で仮想マシンを作成・実行できるカスタマイズ可能なコンピューティングサービス

ネットワーキング

  • Amazon VPC - 自分で定義した論理的に分離された仮想ネットワーク内で AWS リソースを起動できるサービス
  • Amazon ELB - 受信するアプリケーショントラフィックを Amazon EC2 インスタンス、コンテナ、IP アドレス、Lambda 関数などの複数のターゲットに自動的に分散するサービス
  • Azure Virtual Network - Azure におけるプライベートネットワークの基本的な構成要素で、高パフォーマンスのネットワーキングを利用可能
  • Azure Load Balancer - バックエンドの仮想マシンにトラフィックを分散させるサービス
  • Azure Application Gateway - プラットフォームが管理する、スケーラブルで高可用性のアプリケーションデリバリーコントローラーサービス
  • Google Cloud VPC - Andromeda を使用して Google の本番ネットワーク内に実装された物理ネットワークの仮想版
  • Cloud Load Balancing - すべてのトラフィックに対応するフルマネージドの分散型ソフトウェア定義サービス

アプリケーションホスティングプラットフォーム (PaaS)

  • Azure App Service - ウェブアプリケーション、REST API、モバイルバックエンドをホストするための HTTP ベースのサービス
  • AWS Elastic Beanstalk - ウェブアプリケーションとサービスのデプロイおよびスケーリングを簡単に行えるサービス
  • Google Cloud App Engine - スケールでウェブアプリケーションを開発・ホストするためのフルマネージドのサーバーレスプラットフォーム
  • Vercel - ウェブを構築、デプロイ、スケールするための開発者体験とインフラを提供するフロントエンドクラウドプラットフォーム
  • Netlify - グローバルエッジネットワーク上でモダンなウェブ体験を構築、デプロイ、スケールできるコンポーザブルなウェブプラットフォーム
  • Coolify - Vercel、Heroku、Netlify、Railway のオープンソース & セルフホスト可能な代替手段

クラウドコマンドラインインターフェース

  • AWS CLI - AWS サービスを管理するための統合ツール
  • Azure CLI - インタラクティブなコマンドやスクリプトで Azure リソースを管理するクロスプラットフォームのコマンドラインツール
  • Azure Developer CLI (azd) - ローカル開発環境から Azure への移行を加速するオープンソースツール
  • Google Cloud CLI (gcloud) - Google Cloud のリソースとサービスを作成・管理するためのツールセット
  • Vercel CLI - Vercel プロジェクトの管理と設定、アプリのデプロイ、ローカルでのデプロイ環境の複製に使用するコマンドラインインターフェース
  • Netlify CLI - 継続的デプロイの設定、ローカル開発サーバーの実行、Netlify へのサイトデプロイを行うコマンドラインインターフェース

クラウドエミュレーター

  • LocalStack - オフラインでクラウドおよびサーバーレスアプリを開発・テストするための完全機能のローカルクラウドスタック

プライベートクラウド & オンプレミス IaaS

  • OpenStack - パブリッククラウドとプライベートクラウドの構築・管理のために Infrastructure as a Service (IaaS) を提供するオープンソースのクラウドコンピューティングプラットフォーム
  • OpenNebula - クラウドおよび仮想化管理、ハイパーバイザー運用、Kubernetes オーケストレーションにわたるエンドツーエンドのカバレッジ、ベンダー中立性、包括的なサポートを提供するエンタープライズクラウド & 仮想化プラットフォーム

クラウドアーキテクチャフレームワーク

  • AWS Well-Architected Framework - クラウドでワークロードを設計・実行するための主要な概念、設計原則、アーキテクチャのベストプラクティスを説明するフレームワーク
  • Azure Architecture Center - Azure 上で安全で高パフォーマンス、回復力があり効率的なインフラを構築するためのガイダンス、パターン、ベストプラクティスのセット
  • Azure Well-Architected Framework - ソリューションアーキテクトがワークロードの技術的基盤を構築するために設計された、品質重視のテナント、アーキテクチャの意思決定ポイント、レビューツールのセット

コードとしての設定

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > クラウドインフラ活用

Infrastructure as Code (IaC)

  • Hashicorp Terraform - インフラストラクチャを安全かつ効率的に構築、変更、バージョン管理できる Infrastructure as Code ツール
  • OpenTofu - 安定したドロップイン代替を提供する、インフラの構築と管理のためのオープンソースのコミュニティ主導の Terraform フォーク
  • Pulumi - 使い慣れたプログラミング言語とツールを使用してクラウドインフラを構築、デプロイ、管理できる Infrastructure as Code プラットフォーム

AI 駆動インフラ

  • Spacelift Intent - 自然言語を使用してクラウドインフラをプロビジョニングおよび管理できる AI 搭載ツール

構成管理 & 自動化

  • Ansible - プロビジョニング、構成管理、アプリケーションデプロイ、オーケストレーション、その他多くの IT プロセスを自動化するオープンソースの IT 自動化エンジン
  • SaltStack - イベント駆動の IT 自動化、リモートタスク実行、構成管理のための Python ベースのオープンソースソフトウェア
  • Rudder - IT インフラ自動化のためのオープンソースの継続的設定 & コンプライアンスプラットフォーム
  • cloud-init - クラウドインスタンスをカスタマイズするための標準規格

イメージビルド

  • Hashicorp Packer - 単一のソース設定から複数のプラットフォーム向けに同一のマシンイメージを作成するツール

エコシステム & ベンダーツール

  • Terraform/OpenTofu エコシステム
    • Terraform/OpenTofu Provider: Core Functions - コア関数を実行するための Terraform/OpenTofu プロバイダー
    • Terragrunt - 設定を DRY に保ち、複数の Terraform モジュールを扱い、リモート状態を管理するための追加ツールを提供するシンラッパー
    • TerraTest - インフラストラクチャのテストのためのパターンとヘルパー関数を提供する Go ライブラリ
    • Atmos - ワークフローをオーケストレーションし、インフラ管理を簡素化する DevOps とクラウドエンジニアリングのためのユニバーサルツール
    • GitLab-managed Terraform/OpenTofu state - Terraform ステートファイルを GitLab に保存できる機能
    • tf.libsonnet - Terraform コードを生成するための Jsonnet ライブラリのコレクション
    • terraform-docs - さまざまな出力フォーマットで Terraform モジュールのドキュメントを生成するユーティリティ
    • Terraformer - 既存のインフラから Terraform ファイルを生成する CLI ツール
    • Atlantis - Webhook 経由で Terraform プルリクエストイベントをリッスンするセルフホスト型の Golang アプリケーション
  • ベンダー固有のツール
    • AWS CloudFormation - Amazon Web Services リソースのモデル化とセットアップを支援するサービス
    • AWS CDK - 使い慣れたプログラミング言語でクラウドアプリケーションリソースを定義するオープンソースのソフトウェア開発フレームワーク
    • AWS SAM - サーバーレスアプリケーションを構築するためのオープンソースフレームワーク
    • SST - サーバーレスとイベント駆動アーキテクチャに特化した、AWS 上でフルスタックアプリケーションを簡単に構築できるフレームワーク
    • Azure Resource Manager - Azure のデプロイおよび管理サービス
      • Bicep language - Azure リソースをデプロイするために宣言的な構文を使用するドメイン固有言語 (DSL)
      • Azure Resource Graph - クラウドリソースを大規模にクエリ、探索、分析するための強力な管理ツール

コンテナ化

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > クラウドインフラ活用
  • Containerization - オペレーティングシステムレベルの仮想化の一形態
  • コンテナ向け Linux ディストリビューション
    • Alpine Linux - musl libc と busybox をベースにしたセキュリティ重視の軽量 Linux ディストリビューション
      • apk-tools - 元々 Alpine Linux 向けに構築されたパッケージマネージャー
    • Fedora CoreOS - コンテナ化されたワークロードを安全かつ大規模に実行するための、自動更新される最小限の OS
    • Flatcar Container Linux - コンテナ向けの不変 Linux ディストリビューション
  • コンテナ内のユーティリティ
    • busybox - 多くの一般的な UNIX ユーティリティの小型版を組み合わせた単一の小さな実行ファイル
  • 標準規格
    • The Open Container Initiative (OCI) - コンテナフォーマットとランタイムに関するオープンな業界標準を作成することを明確な目的とするオープンガバナンス構造
    • Compose Specification - クラウドおよびプラットフォームに依存しないコンテナベースアプリケーションを定義するための開発者向け標準
    • Development Containers - コンテナを開発固有の設定、ツール、構成で拡張するためのオープン仕様

エンジン & ランタイム

  • コンテナエンジン
    • Docker Engine - アプリケーションを構築・コンテナ化するためのオープンソースのコンテナ化技術
      • Docker Rootless mode - Docker デーモンとコンテナを非 root ユーザーとして実行し、潜在的な脆弱性を軽減する機能
    • podman - コンテナと Pod の構築、管理、実行のための強力なコンテナエンジン
      • podman-static - Linux 向けの Alpine ベースのコンテナイメージと静的リンク(rootless)バイナリ
  • コンテナランタイム
    • containerd - シンプルさ、堅牢性、ポータビリティを重視した業界標準のコンテナランタイム
      • nerdctl - containerd 向けの Docker 互換 CLI
      • ctr - containerd デーモンと対話するための非公式のデバッグ・管理クライアント
    • CRI-O - OCI (Open Container Initiative) 互換のランタイムを使用できるようにするための Kubernetes CRI (Container Runtime Interface) の実装
      • cri-tools - CRI 向けのツールセット
  • OCI ランタイム
    • runc - OCI 仕様に従ってコンテナを生成・実行するための CLI ツール
    • crun - コンテナを実行するための高速で軽量なフル機能の OCI ランタイムおよび C ライブラリ

イメージ管理

  • イメージビルドツール
    • Docker Build - Dockerfile とコンテキストから Docker イメージを作成するプロセスを自動化する Docker Engine の一部
    • buildah - Open Container Initiative (OCI) コンテナイメージの構築を容易にするツール
    • podman build - Containerfile または Dockerfile の指示を解釈し、Buildah を基盤として利用して OCI 互換のコンテナイメージを構築するコマンド
    • Kaniko - コンテナまたは Kubernetes クラスター内で Dockerfile からコンテナイメージを構築するツール
  • イメージ検査 & 管理ツール
    • skopeo - コンテナイメージとイメージリポジトリに対してさまざまな操作を実行するコマンドラインユーティリティ
    • dive - Docker イメージ、レイヤーの内容を探索し、Docker/OCI イメージのサイズを縮小する方法を見つけるためのツール
    • regclient - マルチプラットフォームイメージやミラーリングなどの高度な機能をサポートする、OCI レジストリとイメージの管理・検査のためのコマンドラインツールスイート(regctl、regsync、regbot)
  • コンテナレジストリ
    • GitLab Container Registry - Docker イメージのための安全なプライベートレジストリ
    • Project Quay - コンテナのビルド、整理、配布、デプロイのために設計されたオープンソースのコンテナネイティブイメージレジストリ
    • Docker Hub - 開発者やチームが Docker コンテナイメージを保存、共有、配布できるクラウドベースのレジストリサービス
    • Amazon ECR - コンテナイメージとアーティファクトの保存、管理、共有、デプロイを簡単に行えるフルマネージドのコンテナレジストリ
    • Azure Container Registry - コンテナイメージと関連アーティファクトを管理するプライベートレジストリ
    • Harbor - ポリシーとロールベースのアクセス制御でアーティファクトを保護するオープンソースレジストリ

環境 & 管理

  • コンテナ管理ツール
    • Podman Desktop - コンテナ管理の簡素化、Kubernetes ワークフローの効率化、ローカル開発から本番環境への移行を支援する、開発者がコンテナと Kubernetes を操作するための最も優れた無料のオープンソースツール
    • lazydocker - docker と docker-compose の両方に対応したターミナル UI
    • Docker Compose - マルチコンテナ Docker アプリケーションを定義・実行するためのツール
  • 開発環境プロビジョニング
    • devcontainers CLI - devcontainer.json から開発コンテナを作成・設定し、さまざまなインフラストラクチャにわたって開発コンテナの構築、実行、管理コマンドを提供する仕様のリファレンス実装
    • DevPod - オープン標準の devcontainer.json フォーマットを使用して dev-environments-as-code を実現する、ローカルマシン、Kubernetes クラスター、クラウドプロバイダーなどあらゆるインフラをサポートするクライアントのみのツール
  • ローカル環境プロビジョナー(Mac 向け)
    • Colima - macOS(および Linux)上で最小限のセットアップでコンテナランタイムを提供するツール
    • Lima - 自動ファイル共有とポートフォワードを備えた Linux 仮想マシンを起動するツール

WebAssembly

Relevant DSS-P Skills
  • 3. テクノロジー > 3.2 デジタルテクノロジー > その他先端技術
  • 標準規格

    • WebAssembly - スタックベースの仮想マシン向けのバイナリ命令フォーマット
    • WebAssembly System Interface (WASI) - WebAssembly のためのモジュラーシステムインターフェース
    • WASIX - 既存の WASI ABI の長期的な安定化とサポート、および追加の非侵略的なシステムコール拡張
    • WebAssembly Component Model - WASI Preview 2 の一部として開発された、型付きの言語非依存インターフェースを通じてモジュールが相互運用できるバイナリインターフェース標準
  • ランタイム

    • wazero - Go で記述された唯一のゼロ依存 WebAssembly ランタイム
    • Wasmtime - WebAssembly 向けの高速で安全なランタイム
    • Wasmer - 非常に軽量なコンテナをあらゆる場所で実行できる、高速で安全な WebAssembly ランタイム
    • WasmEdge - クラウドネイティブ、エッジ、分散型アプリケーション向けの軽量で高パフォーマンスかつ拡張可能なランタイム
    • WebAssembly Micro Runtime (WAMR) - 組み込み、IoT、エッジ、Trusted Execution Environment での使用向けに、小さなフットプリントと高度に設定可能な機能を備えた軽量なスタンドアロンランタイム
  • ツールチェーン & 言語

    • Emscripten - 速度、サイズ、ウェブプラットフォームに特化した、LLVM を使用した WebAssembly への完全なコンパイラツールチェーン
    • AssemblyScript - WebAssembly 向けの TypeScript に似た言語
    • TinyGo - 組み込みシステムと WebAssembly に言語をもたらす小さな場所向けの Go コンパイラ
    • Binaryen - C++ で記述された WebAssembly 向けのコンパイラとツールチェーンインフラストラクチャライブラリ
  • クラウド & エッジプラットフォーム

    • wasmCloud - クラウド、Kubernetes、エッジをまたいで再利用可能な WebAssembly コンポーネントで構成される多言語アプリケーションを構築するためのオープンソース CNCF プロジェクト
    • Fermyon Spin - WebAssembly マイクロサービスとウェブアプリケーションを構築するための開発者ツール

Kubernetes

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > クラウドインフラ活用
  • Kubernetes - コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースシステム
  • マスターノード
    • kube-apiserver - API サービスを担当
    • kube-scheduler - スケジューリングを担当
    • kube-controller-manager - コンテナオーケストレーションを担当
  • コンピュートノード
    • kubelet - そのノード上の Pod の API サーバーを監視し、それらが実行されていることを確認する
    • cAdvisor - 特定のノードで実行中の Pod に関するメトリクスを収集する
    • kube-proxy - ネットワークを最新の状態に保つために、Pod やサービスの変更について API サーバーを監視する
    • container runtime - そのノードでコンテナイメージを管理し、コンテナを実行する役割を担う
  • インターフェース標準
    • CNI (Container Networking Interface)
    • CSI (Container Storage Interface)
    • CRI (Container Runtime Interface)

コアコンセプト & コンポーネント

  • K8s の内部構造
    • Workloads - クラスター上でコンテナを管理・実行するために使用するオブジェクト
    • Pod
      • assignment - Pod が特定のノードでのみ実行されるように、または特定のノードで実行されることを優先するように制限するプロセス
      • taint and toleration - Pod が不適切なノードに配置されないようにするメカニズム
      • lifecycle - Pod のライフサイクル
      • liveness probe - kubelet がコンテナをいつ再起動するかを判断するために使用するプローブ
      • requests and limits
      • eviction
    • Deployment、ReplicaSet、StatefulSet、DaemonSet
    • Kubernetes network model - Kubernetes クラスターにおけるネットワーキングの基本的な要件と原則のセット
      • Service、Ingress、Ingress Controllers
    • Storage - ストレージの提供と消費を抽象化する API を備えた強力なボリュームサブシステム
      • PersistentVolume、PVC、StorageClass
    • Configuration - アプリケーションを実行する Pod に設定データを注入できるさまざまなメカニズム
      • Secret、ConfigMap
    • セキュリティ & ポリシー
      • Kubernetes RBAC - 企業内の個々のユーザーの役割に基づいてコンピュータまたはネットワークリソースへのアクセスを制御する方法
      • PodDisruptionBudget - アプリケーションが経験する同時中断の数を制限し、高可用性を実現するオブジェクト
      • Security context - Pod またはコンテナの権限とアクセス制御設定の定義
  • オートスケーリング
    • HPA - 観測された CPU 使用率に基づいて、レプリケーションコントローラー、デプロイメント、レプリカセット、またはステートフルセット内の Pod 数を自動的にスケールするコンポーネント
    • Cluster Autoscaler - Kubernetes クラスターのサイズを自動的に調整するツール
    • Karpenter - 柔軟で高パフォーマンスな Kubernetes クラスターオートスケーラー

運用 & 管理

  • K8s オペレーター
    • Prometheus Operator - Kubernetes 上で Prometheus クラスターを作成/設定/管理するオペレーター
      • kube-prometheus - エンドツーエンドの Kubernetes クラスター監視を簡単に操作できるよう、ドキュメントとスクリプトを組み合わせた Kubernetes マニフェスト、Grafana ダッシュボード、Prometheus ルールのコレクション
    • OpenTelemetry Operator - OpenTelemetry のための Kubernetes Operator の実装
    • Elastic Cloud on Kubernetes (ECK) - Kubernetes 上の Elastic Stack の公式オペレーター
    • Rook - Kubernetes 向けのオープンソースのクラウドネイティブストレージオーケストレーター
  • ダッシュボード
    • k9s - Kubernetes クラスターと対話するためのターミナルベース UI
    • KDash - Rust で構築されたシンプルな Kubernetes ターミナルダッシュボード
    • Seabird - Kubernetes の操作を簡素化するネイティブデスクトップアプリ
    • Headlamp - 拡張性に焦点を当てたユーザーフレンドリーな Kubernetes UI

CLI & ローカル環境

  • CLI プラグイン管理
    • Krew - kubectl コマンドラインツールのプラグインマネージャー
      • kubectl-node-shell - ノード上でルートシェルを実行するための kubectl プラグイン
      • kubectl-tree - Kubernetes オブジェクト間の所有関係を探索するための kubectl プラグイン
      • kubectl-pod-inspect - Pod とコンテナのステータスを一目で確認するための kubectl プラグイン
      • kubepug - Kubernetes API のプリフライトチェックツール
      • rakkess - すべての利用可能なリソースのアクセスマトリックスを表示する kubectl プラグイン
      • ketall - すべてのリソースを取得する kubectl プラグイン
  • ローカル K8s ツール
    • Minikube - Kubernetes をローカルで実行できるツール
    • Kind - Docker コンテナを「ノード」として使用してローカル Kubernetes クラスターを実行するツール

エコシステム & 拡張機能

  • アプリケーションパッケージング & 設定
    • Helm - Kubernetes のパッケージマネージャー
    • Kustomize - kustomization ファイルを通じて Kubernetes オブジェクトをカスタマイズするスタンドアロンツール
    • Artifact Hub - クラウドネイティブのパッケージと設定の検索、インストール、公開を容易にするウェブベースのアプリケーション
  • クラウドリソース管理
    • Crossplane - ユーザーがコントロールプレーンで独自の API とサービスを構築し、Kubernetes を拡張してどこでもリソースを管理できるプラットフォームエンジニアリング向けのクラウドネイティブフレームワーク
  • 開発者ワークフローツール
    • Skaffold - コンテナベースアプリケーションの継続的な開発を容易にするコマンドラインツール
  • プラットフォーム拡張機能
    • kube-fencing - Kubernetes においてステートフルアプリケーションのノードをフェンシングするためのソリューション
    • KubeVirt - Kubernetes 向けの仮想マシン管理アドオン
  • オペレーター & コントローラー開発
    • Kubebuilder - カスタムリソース定義 (CRD) を使用して Kubernetes API を構築するためのフレームワーク
  • リソース最適化
    • Goldilocks - リソースリクエストと制限の出発点を特定するのに役立つユーティリティ
  • ベンダー固有のツール
    • eksctl - Amazon EKS の公式 CLI

クラウドネイティブコンピューティング

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > クラウドインフラ活用
  • Serverless Computing - クラウドプロバイダーがオンデマンドでマシンリソースを割り当てるクラウドコンピューティング実行モデルで、サーバーの管理はクラウドプロバイダーが顧客に代わって行う

Container as a Service (CaaS)

  • マネージド Kubernetes
  • シンプルなコンテナホスティング
    • Amazon Elastic Container Service - コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを簡単に行えるフルマネージドのコンテナオーケストレーションサービス
    • AWS Fargate - ECS と EKS の両方で動作するコンテナ向けサーバーレスコンピューティングエンジン
    • AWS App Runner - 開発者がインフラストラクチャの事前知識なしに、コンテナ化されたウェブアプリケーションと API を大規模かつ迅速にデプロイできるフルマネージドサービス
    • Azure Container Apps - マイクロサービスとイベント駆動ワークロードのために KEDA、Dapr、Envoy を統合した、Kubernetes 上に構築されたフルマネージドのサーバーレスコンテナサービス
    • Google Cloud Run - 自動スケーリングされるコンテナを実行できるマネージドコンピューティングプラットフォーム

Function as a Service (FaaS)

  • AWS Lambda - サーバーのプロビジョニングや管理なしに、事実上あらゆる種類のアプリケーションまたはバックエンドサービスのコードを実行できるサーバーレスのイベント駆動型コンピューティングサービス
  • Azure Functions - 好みのプログラミング言語を使用してより効率的に開発できるイベント駆動型のサーバーレスコンピューティングプラットフォーム
  • Google Cloud Run Functions - クラウドサービスの構築と接続のためのサーバーレス実行環境

高度なランタイム & 分離

  • サンドボックス化されたランタイム
    • Kata Containers - コンテナのような感覚とパフォーマンスを持ちながら、仮想マシンのワークロード分離とセキュリティを提供する軽量仮想マシンの標準実装を構築するオープンソースプロジェクト
    • gVisor - Linux カーネルとそのネットワークスタックを実装し、システムコールをインターセプトしてホストをコンテナ化されたアプリケーションから保護する Linux 互換サンドボックス
    • libkrun - 仮想化ベースのプロセス分離機能を提供する動的ライブラリ
    • Cloud Hypervisor - 最小限のハードウェアエミュレーションで現代のクラウドワークロードの実行に焦点を当てた、Rust で実装されたオープンソースの仮想マシンモニター (VMM)
    • Firecracker - セキュアなマルチテナントのコンテナおよびファンクションベースのサービスの作成と管理を目的として構築されたオープンソースの仮想化技術
    • QEMU microvm - PCI や ACPI サポートのない最小限のマシンタイプで、短期ゲスト向けに設計され、起動時間とフットプリントの両方に最適化されている
    • Docker Sandboxes - セキュリティとシステム保護を強化するために、軽量なマイクロ VM 上で AI コーディングエージェントを実行するように設計された、隔離された使い捨て環境
    • Daytona - 90ミリ秒未満の作成時間で、隔離されたサンドボックス環境で AI 生成コードを実行するための安全なインフラプラットフォーム
    • Modal - エンジニアが数千の隔離されたサンドボックス上でコンピューティング集約型アプリケーションを構築・スケールするためのサーバーレスクラウドを提供する AI インフラプラットフォーム
  • 仮想化 & コンテナストレージ
    • virtiofs - 仮想マシンがホスト上のディレクトリツリーにアクセスできる共有ファイルシステム
  • イメージサービス & 配布
    • Nydus - コンテナイメージ、ソフトウェアパッケージなどのクラウドネイティブワークロード向けに高効率なイメージ配布システムを形成する強力なオープンソースのファイルシステムソリューション

クラウドネイティブインフラ

  • アプリランタイム & スケーリング
    • KEDA (Kubernetes Event-driven Autoscaling) - 任意のクラスターに追加して、環境で実行されている任意のコンテナにイベント駆動のスケールを提供できる単一目的の軽量コンポーネント
    • Dapr (Distributed Application Runtime) - クラウドとエッジで実行される回復力のあるステートレスおよびステートフルアプリケーションを任意の開発者が構築しやすくし、言語と開発者フレームワークの多様性を受け入れるポータブルなイベント駆動ランタイム
    • V8 isolates - 独自のヒープと独自のガベージコレクターを持つエンジンの独立したインスタンス
  • サーバーレスコンピューティング
    • Knative - 現代のサーバーレスワークロードを構築、デプロイ、管理するための Kubernetes ベースのプラットフォーム
  • サービスメッシュ & ディスカバリー
    • Gateway API - Kubernetes Ingress、ロードバランシング、サービスメッシュ API の次世代
    • Istio - 既存の分散アプリケーションに透過的にレイヤーされるオープンソースのサービスメッシュ
      • Kiali - Istio 向けのサービスメッシュのオブザーバビリティと設定ツール
    • Linkerd - Kubernetes 向けの超軽量でセキュリティファーストのサービスメッシュ
    • Hashicorp Consul - あらゆるランタイムプラットフォームおよびパブリック/プライベートクラウドにわたってサービスを接続・保護するサービスネットワーキングソリューション
  • エッジプロキシ & Ingress
    • Envoy Proxy - オープンソースのエッジ & サービスプロキシ
    • Traefik proxy - 主要なモダンオープンソースのリバースプロキシと Ingress コントローラー
    • Contour - Envoy エッジ & サービスプロキシのコントロールプレーンを提供する Kubernetes 向けの高パフォーマンス Ingress コントローラー
    • Apache APISIX - マイクロサービスの管理、すべての API とマイクロサービスのための究極のパフォーマンス、セキュリティ、スケーラブルなプラットフォームを提供するオープンソース API ゲートウェイ
  • クラウドネイティブネットワーキング
    • Project Calico - コンテナ、仮想マシン、ネイティブホストベースのワークロード向けに安全なネットワーク接続、ネットワークセキュリティ、オブザーバビリティを提供するオープンソースプロジェクト
    • Cilium - クラウドネイティブ環境向けのネットワーキング、セキュリティ、オブザーバビリティを提供するオープンソースプロジェクト
    • Flannel - Kubernetes 向けに設計されたレイヤー3ネットワークファブリックを設定するためのシンプルで簡単な方法

CI/CD & GitOps

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > SREプロセス

デリバリー & デプロイメント

  • 継続的デリバリーツール
    • Harness - AI と自動化を使用して CI/CD、GitOps、クラウドコスト管理を効率化するモダンなソフトウェアデリバリープラットフォーム
    • Jenkins - 世界中の開発者がソフトウェアを確実に構築、テスト、デプロイできるオープンソースの自動化サーバー
      • Blue Ocean for Jenkins Pipelines - Jenkins のユーザーエクスペリエンスを再考するプロジェクト
      • Python Jenkins - Jenkins REST API の Python ラッパー
      • JenkinsPipelineUnit - Groovy または Declarative で記述された Jenkins パイプラインをユニットテストするためのテストフレームワーク
    • GitLab CI/CD - ソースコードのビルド、統合、検証を自動化するために使用できる GitLab の一部
    • GitHub Actions - すべてのソフトウェアワークフローを自動化しやすくする機能
      • actionlint - GitHub Actions ワークフローファイルの静的チェッカー
      • act - GitHub Actions をローカルで実行するためのツール
    • Azure Pipelines - コードプロジェクトを自動的にビルド・テストし、他のユーザーが利用できるようにするクラウドサービス
  • アプリケーションデプロイ
    • Kamal - どこにでもウェブアプリをデプロイするツール

GitOps & クラウドネイティブ

  • GitOps スタイルの CD
    • ArgoCD - Kubernetes 向けの宣言的な GitOps 継続的デリバリーツール
    • FluxCD - Kubernetes クラスターを設定のソース(Git リポジトリなど)と同期させ、デプロイする新しいコードがある場合に設定の更新を自動化するツール
  • クラウドネイティブアプリケーションデリバリー
    • Open Application Model - あらゆるプラットフォームにデプロイ・管理できるようにアプリケーションを記述するための仕様
    • KubeVela - 今日のハイブリッドなマルチクラウド環境全体へのアプリケーションのデプロイと運用をより簡単、高速、信頼性高くするモダンなソフトウェアデリバリープラットフォーム
    • Flagger - Kubernetes 上で実行されるアプリケーションのリリースプロセスを自動化するプログレッシブデリバリーツール

インテグレーション & レジストリ

  • プライベートパッケージレジストリ
    • JFrog Artifactory - ソフトウェアアーティファクトとその依存関係を保存、管理、配布できるユニバーサルな DevOps リポジトリマネージャー
    • GitLab Package Registry - さまざまなサポートされているパッケージマネージャー向けにパッケージを公開・共有できる機能
    • GitHub Packages - ソフトウェアパッケージをプライベートまたはパブリックにホストできるソフトウェアパッケージホスティングサービス
    • Nexus Repository Manager 3 - 高度なリポジトリマネージャー
    • Azure Artifacts - パブリックおよびプライベートソースから Maven、npm、NuGet、Python パッケージフィードを作成・共有できるサービス

システムオブザーバビリティ

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > SREプロセス

インストゥルメンテーション & プラットフォーム

  • コンセプト
    • Observability - システムの外部出力に関する知識からシステムの内部状態がどれだけ推測できるかの尺度
  • インストゥルメンテーションライブラリ
    • OpenTelemetry - トレース、メトリクス、ログなどのテレメトリデータをインストゥルメント化、生成、収集、エクスポートするためのベンダー中立のオープンソースオブザーバビリティフレームワーク
    • Jaeger - 複雑な分散システムのワークフローを監視・トラブルシューティングするために使用するオープンソースの分散トレーシングプラットフォーム
    • Micrometer - JVM ベースアプリケーション向けのメトリクスインストゥルメンテーションライブラリ
  • モニタリングツール
    • Uptime Kuma - 使いやすいセルフホスト型モニタリングツール
  • マネージドプラットフォーム
    • Azure Monitor - クラウドおよびオンプレミス環境からのテレメトリを収集、分析、対応するための包括的なソリューション
      • Kusto Query Language - データを探索してパターンを発見し、異常や外れ値を特定し、統計モデルを作成するための強力なツール
      • App Insights - 開発者と DevOps プロフェッショナル向けの Azure Monitor の機能で、拡張可能なアプリケーションパフォーマンス管理 (APM) サービス
    • AWS CloudWatch - DevOps エンジニア、開発者、サイトリライアビリティエンジニア (SRE)、IT マネージャー向けに構築された監視・オブザーバビリティサービス
    • Datadog - 監視 & セキュリティのための統合プラットフォーム
    • Sentry - 開発者が重要なことを確認し、問題をより迅速に解決するためのエラートラッキングとパフォーマンスモニタリングを提供するアプリケーションモニタリングプラットフォーム
  • セルフホスト型(上級者向け)
    • SigNoz - ログ、メトリクス、トレース、ダッシュボード、アラートなどのためのオープンソースの Datadog または New Relic 代替
  • 可視化ツール
    • Grafana - オープンソースのデータ可視化 & モニタリングソリューション
      • Grafonnet - Grafana ダッシュボードを生成するための Jsonnet ライブラリ
    • Kibana - Elasticsearch データを可視化し、Elastic Stack を操作できる無料のオープンユーザーインターフェース

テレメトリ送信

  • データシッパー
    • Prometheus exporters - Prometheus メトリクスを公開するサービス
      • node-exporter - *NIX カーネルが公開するハードウェアと OS メトリクスのエクスポーター
      • blackbox-exporter - HTTP、HTTPS、DNS、TCP、ICMP、gRPC 経由でエンドポイントのブラックボックスプロービングを可能にするツール
    • Grafana Alloy - Prometheus パイプラインが組み込まれ、メトリクス、ログ、トレース、プロファイルをサポートするオープンソースの OpenTelemetry コレクター
    • Fluent Bit - 超高速で軽量かつ高度にスケーラブルなログ、メトリクス、トレースのプロセッサーとフォワーダー
    • Fluentd - データの収集と消費を統一してデータの活用と理解を向上させるオープンソースのデータコレクター
    • Filebeat - ログデータの転送と集中化のための軽量シッパー
    • Logstash - 多数のソースからデータを取り込み、変換してから好みの「stash」に送信するオープンソースのサーバーサイドデータ処理パイプライン
    • Telegraf - スタック、センサー、システムからメトリクスを収集するためのオープンソースのサーバーエージェント
    • Metricbeat - オペレーティングシステムとサーバー上で実行されているサービスから定期的にメトリクスを収集するためにサーバーにインストールできる軽量シッパー
    • rsyslog - ログ処理のための高速システム
  • ベンダー固有のツール
    • Azure Monitor Agent - Azure およびハイブリッド仮想マシンのゲスト OS から監視データを収集するエージェント
    • Cloudwatch Agent - Amazon EC2 インスタンスとオンプレミスサーバーからシステムレベルのメトリクスとログファイルの両方を収集するエージェント

テレメトリ収集 & ストレージ

  • データストア & アラートツール
    • Prometheus - オープンソースのシステム監視 & アラートツールキット
      • PromQL - Prometheus クエリ言語
      • promtool - Prometheus サーバーのコマンドラインユーティリティ
      • Awesome Prometheus Alerts - 90 以上のサービスとエクスポーターをカバーするコピー可能な Prometheus アラートルールのコレクション
    • Alertmanager - Prometheus サーバーなどのクライアントアプリケーションから送信されるアラートを処理するツール
      • amtool - Alertmanager API と対話するための CLI ツール
    • InfluxDB - 高い書き込みおよびクエリ負荷を処理するためにゼロから構築された時系列データベース
      • InfluxQL - InfluxDB のデータと対話するための SQL に似たクエリ言語
      • influx cli - InfluxDB 2.0 のコマンドラインインターフェース
    • Grafana Mimir - Prometheus 向けのオープンソースで水平スケーラブルかつ高可用性のマルチテナントの長期ストレージ
    • Grafana Loki - Prometheus にインスパイアされた水平スケーラブルで高可用性のマルチテナントログ集約システム
      • LogQL - Loki のクエリ言語
        • LogCLI - Loki のコマンドラインインターフェース
    • Grafana Tempo - オープンソースで使いやすく大規模な分散トレーシングバックエンド
      • TraceQL - トレースの選択のために設計されたクエリ言語
    • ElasticSearch - オープンソースの分散型 RESTful 検索 & 分析エンジン、スケーラブルなデータストア、ベクターデータベース
      • Elastic Common Schema - Elastic ユーザーコミュニティのサポートを受けて開発されたオープンソース仕様
      • Ingest pipelines - インデックス作成前にデータに対して一般的な変換を実行できる機能
      • Dissect and Grok - 単一のテキストフィールドから構造化フィールドを抽出できるプロセッサー
    • Graphite - 高度にスケーラブルなリアルタイムグラフシステム
    • Grafana Alerting - データに対するアラートを作成・管理できる機能
    • OpenObserve - モダンアプリケーション向けに設計されたオープンソースのオブザーバビリティプラットフォーム

SRE(サイトリライアビリティエンジニアリング)

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > SREプロセス
  • Site Reliability Engineering - ソフトウェアエンジニアリングの側面を取り入れ、インフラストラクチャと運用の問題に適用するディシプリン
    • Service Level Objectives (SLOs) - サービスレベルインジケーター (SLI) によって測定されるサービスレベルの目標値または値の範囲
    • Dickerson's Hierarchy of Service Reliability - 信頼性の高いサービスを構築・維持するために必要な基礎的要素を示すモデルで、ピラミッドとして可視化されることが多い
    • The Four Golden Signals - Google の SRE がユーザー向けシステムの監視に使用する4つの主要なメトリクス(レイテンシ、トラフィック、エラー、サチュレーション)
  • Ishikawa diagram - 石川馨が考案した、特定の事象の潜在的な原因を示す因果図

フリート管理 & 運用

  • フリート管理
    • AWS Systems Manager - AWS、マルチクラウド、ハイブリッド環境のリソースに対するセキュアなエンドツーエンドの管理ソリューション
    • Azure Automation - Azure および非 Azure 環境全体で一貫した管理をサポートするクラウドベースの自動化 & 設定サービス
      • Azure Update Manager - すべてのマシンの更新を管理・統制するための統合サービス
  • バックアップ
    • ベンダー固有のツール
      • AWS Backup - AWS サービス、クラウド、オンプレミス全体のデータ保護を一元化・自動化するフルマネージドサービス
      • Azure Backup - Microsoft Azure クラウドからデータをバックアップし、回復するためのシンプル、セキュア、コスト効率の高いソリューションを提供するサービス
    • K8s 固有のツール
      • Velero - Kubernetes クラスターのリソースと永続ボリュームを安全にバックアップ・リストアし、ディザスタリカバリを実行し、移行するためのオープンソースツール
    • 汎用ツール
      • Barman - オンラインホットバックアップを簡素化することでビジネス継続性を確保するように設計された PostgreSQL データベースのディザスタリカバリソリューション
      • Restic - 高速、安全、効率的なバックアッププログラム
  • ランブック自動化
    • RunDeck - データセンターやクラウド環境での日常的な運用手順の自動化を支援するオープンソースの自動化プラットフォーム
  • AIOps & 自律エージェント
    • Azure SRE Agent - 監視、診断、インシデント解決の支援によって SRE プラクティスを自動化するために設計された AI 搭載サービス
    • Mezmo Aura - SRE と本番 AI 運用のために特別に設計されたオープンソースのエージェント型ハーネス

カオスエンジニアリング

  • コンセプト
    • Chaos Engineering - 本番環境での乱流状態に耐えるシステムの能力への信頼を構築するためにシステムで実験する手法
    • Principles of chaos engineering - カオスエンジニアリングのプラクティスを定義する原則
  • カオスエンジニアリングツール
    • Litmus - Kubernetes 向けのクラウドネイティブなカオスエンジニアリングフレームワーク
    • Chaos Mesh - Kubernetes 環境でカオスをオーケストレーションするクラウドネイティブなカオスエンジニアリングプラットフォーム
    • Toxiproxy - カオスと回復力テストのためにネットワークとシステムの状態をシミュレートする TCP プロキシ
    • kubeinvaders - Kubernetes のゲーミファイされたカオスエンジニアリングツール

FinOps

  • コンセプト
    • FinOps principles - クラウドの変動費用モデルに財務的説明責任をもたらす文化的プラクティス
  • FinOps ツール
    • FinOps toolkit - 組織での FinOps 実装のためのツール、リソース、ベストプラクティスのコレクション
    • AWS Cost Explorer - コストと使用状況を表示・分析できるツール
    • Infracost - Terraform、CloudFormation、その他のインフラストラクチャアズコードプロジェクトのクラウドコスト見積もりを表示するツール
    • OpenCost - Kubernetes 支出を監視するためのオープンソースソリューション
    • Cloud Custodian - パブリッククラウドのアカウントとリソースを管理するためのルールエンジン

パフォーマンス & 負荷テスト

Relevant DSS-P Skills
  • 3. テクノロジー > 3.1 ソフトウェア開発 > SREプロセス
  • Performance Testing - 特定のワークロード下でのシステムの応答性と安定性を評価する手法

パフォーマンステストツール

  • Hyperfine - コマンドラインベンチマーキングツール
  • Locust - 使いやすい分散型のユーザー負荷テストツール
  • Grafana k6 - エンジニアリングチームのパフォーマンステストを簡単かつ生産的にするオープンソースの負荷テストツール
  • Gatling - エンジニアリングチームがパフォーマンスの懸念を左にシフトするのを助けるプログラマー向けの負荷テストツール
  • Apache Jmeter - 機能的な動作を負荷テストしパフォーマンスを測定するために設計された純粋な Java アプリケーション
  • ab - Apache HTTP サーバーをベンチマークするためのツール
  • stress-ng - 設定可能な量の CPU、メモリ、I/O、ディスクストレスをシステムに与えるツール
  • sysbench - LuaJIT に基づくスクリプト可能なマルチスレッドベンチマークツール
  • fio - ユーザーが指定した特定の種類の I/O アクションを実行するスレッドまたはプロセスを多数生成するツール
  • iPerf - TCP、UDP、SCTP の究極のスピードテストツール
  • plow - Web UI とターミナルインターフェースの両方でリアルタイムのパフォーマンスメトリクスを表示しながら並行接続で負荷テストを実施する、Golang で書かれた HTTP(S) ベンチマークツール
  • loadgen-rs - コマンドラインモードと分散モードをサポートする、HTTP/1.1、HTTP/2、HTTP/3 (QUIC) に対応した h2load 互換の Rust 製 HTTP ベンチマーククライアント