GitHubに統合されたCI/CDプラットフォーム。ワークフロー定義によりビルド、テスト、デプロイを自動化。YAML形式で設定を記述。
詳細を見る
GitHub Actionsは、GitHubリポジトリに直接統合されたCI/CDプラットフォームです。ワークフローをYAMLファイルで定義し、プッシュ、プルリクエスト、スケジュールなどのイベントをトリガーとして自動実行されます。豊富なアクションマーケットプレイスから既存のアクションを利用でき、カスタムアクションの作成も可能です。複数のランナー環境(Ubuntu、Windows、macOS)をサポートし、マトリックスビルドによる並列実行も実現できます。
例: Workflow, Actions Marketplace, Matrix Build, Secrets管理
CI/CD
自動化
GitHub
ワークフロー
GitLabに内蔵されたCI/CDシステム。.gitlab-ci.ymlファイルでパイプラインを定義し、ランナーで実行。DevOpsライフサイクル全体をカバー。
詳細を見る
GitLab CI/CDは、GitLabプラットフォームに統合されたCI/CDソリューションです。.gitlab-ci.ymlファイルでパイプラインを定義し、GitLab Runnerで実行されます。ステージ、ジョブ、アーティファクト、環境管理などの概念により、複雑なデプロイメントワークフローを構築できます。Docker、Kubernetes統合、Auto DevOps機能により、モダンなクラウドネイティブ開発をサポートします。
例: Pipeline, GitLab Runner, Auto DevOps, Environment管理
CI/CD
パイプライン
GitLab
自動化
クラウドベースのCI/CDプラットフォーム。Docker、並列実行、ワークフロー機能により高速なビルド・テスト・デプロイを実現。
詳細を見る
CircleCIは、高速で効率的なCI/CDパイプラインを提供するクラウドプラットフォームです。Dockerネイティブサポート、並列実行、キャッシュ機能により、ビルド時間を大幅に短縮できます。Orbs(再利用可能な設定パッケージ)により、複雑な設定の共有と標準化が可能です。GitHub、Bitbucketとの統合も優秀で、多くの企業で採用されています。
例: Orbs, 並列実行, Docker Layer Caching, Workflow
CI/CD
クラウド
並列実行
Docker
Microsoftが提供するDevOpsプラットフォーム。Azure Pipelines、Repos、Boards、Artifacts、Test Plansで開発ライフサイクル全体をサポート。
詳細を見る
Azure DevOpsは、Microsoftが提供する包括的なDevOpsソリューションです。Azure Pipelines(CI/CD)、Azure Repos(Git)、Azure Boards(プロジェクト管理)、Azure Artifacts(パッケージ管理)、Azure Test Plans(テスト管理)の5つのサービスで構成されます。Windows、Linux、macOSでの開発をサポートし、.NET、Java、Node.js、Python等の多様な技術スタックに対応します。
例: Azure Pipelines, Azure Repos, Azure Boards, YAML Pipeline
Microsoft
CI/CD
プロジェクト管理
包括的プラットフォーム
AWSのInfrastructure as Codeサービス。JSON/YAMLテンプレートでAWSリソースを定義し、スタック単位で管理。
詳細を見る
AWS CloudFormationは、AWSリソースをコードとして管理するサービスです。テンプレートファイルでインフラストラクチャを宣言的に定義し、スタックとして一括作成・更新・削除できます。依存関係の自動解決、ロールバック機能、変更セットによる事前確認など、安全なインフラ管理機能を提供します。Cross-stack Reference、Nested Stackにより複雑なアーキテクチャも管理可能です。
例: Template, Stack, Change Set, Cross-stack Reference
AWS
IaC
テンプレート
スタック管理
Ruby DSLで記述する構成管理ツール。Cookbook、Recipe、Node概念により大規模インフラの自動化と標準化を実現。
詳細を見る
Chefは、Ruby言語をベースとしたDSL(Domain Specific Language)で構成管理を行うツールです。Cookbook(設定書)、Recipe(手順)、Node(対象サーバー)、Role(役割)などの概念により、複雑なインフラ構成を体系的に管理します。Chef Server、Chef Client、Chef Workstationのアーキテクチャにより、大規模な分散環境での一元管理を実現します。
例: Cookbook, Recipe, Node, Chef Server, Knife
構成管理
Ruby
大規模管理
自動化
宣言的言語による構成管理ツール。Manifest、Module、Factによりシステム状態を定義し、冪等性を保証した自動設定を実行。
詳細を見る
Puppetは、宣言的なアプローチでシステム構成を管理するツールです。Manifest(設定ファイル)、Module(再利用可能な設定単位)、Fact(システム情報)、Hiera(データ分離)などの概念により、「あるべき状態」を宣言し、Puppetエージェントが自動的にその状態を実現します。冪等性、レポート機能、エンタープライズ向けの高度な機能も提供します。
例: Manifest, Module, Fact, Hiera, Puppet Master
構成管理
宣言的
冪等性
エンタープライズ
複数のDockerコンテナを定義・実行するツール。YAML形式でサービス、ネットワーク、ボリュームを記述し、アプリケーション全体を一括管理。
詳細を見る
Docker Composeは、複数のDockerコンテナからなるアプリケーションを定義・実行するためのツールです。docker-compose.ymlファイルでサービス(コンテナ)、ネットワーク、ボリュームを宣言的に定義し、single commandで全体の起動・停止・再構築を行えます。開発環境の統一、マイクロサービスアーキテクチャの管理、CI/CDパイプラインでの活用など、幅広い場面で利用されます。
例: docker-compose.yml, Service, Network, Volume, Override
Docker
マルチコンテナ
オーケストレーション
開発環境
Dockerネイティブのクラスター管理・オーケストレーションツール。複数ホストでコンテナを分散実行し、サービス管理、負荷分散、ヘルスチェックを提供。
詳細を見る
Docker Swarmは、Docker Engineに内蔵されたクラスター管理・コンテナオーケストレーション機能です。Manager NodeとWorker Nodeで構成されるクラスターを構築し、サービス、タスク、レプリカなどの概念により、複数ホスト環境でのコンテナ分散実行を管理します。内蔵ロードバランサー、サービスディスカバリー、ローリングアップデート機能を提供し、Kubernetesより軽量でシンプルな選択肢となります。
例: Manager Node, Worker Node, Service, Task, Ingress Network
Docker
オーケストレーション
クラスター
分散実行
Kubernetesのパッケージマネージャー。Chartによりアプリケーションをテンプレート化し、バージョン管理、依存関係管理、配布を効率化。
詳細を見る
Helmは、「Kubernetes for package manager」と呼ばれるパッケージ管理ツールです。Chart(パッケージ)によりKubernetesアプリケーションをテンプレート化し、values.yamlファイルで設定をカスタマイズできます。Release管理によりバージョンアップ・ロールバック、Helm Hub(現Artifact Hub)での公開Chart利用、複雑なアプリケーションの簡単なデプロイを実現します。
例: Chart, Release, Values, Template, Artifact Hub
Kubernetes
パッケージ管理
テンプレート
バージョン管理
Kubernetesクラスターを操作するコマンドラインツール。リソースの作成、更新、削除、監視をRESTful APIを通じて実行。
詳細を見る
kubectlは、Kubernetesクラスターの管理・操作を行う標準コマンドラインツールです。Pod、Service、Deployment、ConfigMapなどのKubernetesリソースの作成、更新、削除、参照を行います。YAML/JSONマニフェストファイルの適用、リアルタイムログ監視、デバッグ、トラブルシューティングなど、Kubernetes運用に必須の機能を提供します。Context、Namespaceの切り替えにより複数環境の管理も可能です。
例: kubectl apply, kubectl get, kubectl logs, Context
Kubernetes
コマンドライン
リソース管理
運用
オープンソースの監視・可視化プラットフォーム。多様なデータソースから情報を収集し、リアルタイムダッシュボードとアラート機能を提供。
詳細を見る
Grafanaは、メトリクス、ログ、トレースデータを美しいダッシュボードで可視化するオープンソースプラットフォームです。Prometheus、InfluxDB、Elasticsearch、CloudWatch、Google Analytics等の多様なデータソースに対応し、豊富なグラフ・パネルタイプでカスタマイズ可能な監視画面を構築できます。アラート機能、ユーザー管理、プラグインエコシステムにより、エンタープライズ級の監視ソリューションを提供します。
例: Dashboard, Panel, Data Source, Alert, Plugin
監視
可視化
ダッシュボード
メトリクス
Elasticsearch、Logstash、Kibanaで構成されるログ分析プラットフォーム。大量ログの収集、検索、可視化を一体的に実現。
詳細を見る
ELK StackはElasticsearch(検索・分析エンジン)、Logstash(データ処理パイプライン)、Kibana(可視化ツール)で構成されるログ分析プラットフォームです。現在はBeats(軽量データシッパー)を加えてElastic Stackと呼ばれます。アプリケーションログ、システムログ、セキュリティログなどを一元収集し、リアルタイム検索、分析、可視化を実現します。DevOps、セキュリティ監視、ビジネス分析で広く活用されています。
例: Elasticsearch, Logstash, Kibana, Beats, Index
ログ分析
検索
可視化
リアルタイム
クラウドベースの監視・分析プラットフォーム。インフラ、アプリケーション、ログを統合監視し、AI機能による異常検知とアラートを提供。
詳細を見る
Datadogは、包括的なクラウド監視プラットフォームで、インフラストラクチャモニタリング、APM(Application Performance Monitoring)、ログ管理、セキュリティ監視、RUM(Real User Monitoring)を統合提供します。500+のクラウドサービス・ツールとの統合、機械学習による異常検知、カスタムダッシュボード、インシデント管理機能により、現代的な運用監視を実現します。
例: APM, Infrastructure Monitoring, Log Management, RUM
クラウド監視
統合プラットフォーム
APM
AI機能
アプリケーション性能監視(APM)プラットフォーム。アプリケーション、インフラ、ユーザー体験を統合監視し、問題の迅速な特定と解決を支援。
詳細を見る
New Relicは、フルスタックの観測可能性プラットフォームで、アプリケーションパフォーマンス監視(APM)、インフラストラクチャ監視、ブラウザ監視、モバイル監視、合成監視を提供します。分散トレーシング、エラー分析、アラート機能により、複雑なマイクロサービス環境での問題特定を効率化します。New Relic One統合プラットフォームにより、全体的なシステム健全性の把握が可能です。
例: APM, Browser Monitoring, Infrastructure, Distributed Tracing
APM
性能監視
分散トレーシング
統合監視
Gitブランチ管理戦略の1つ。master、develop、feature、release、hotfixブランチを使い分け、体系的なリリース管理を実現。
詳細を見る
Git Flowは、Vincent Driessenが提唱したGitブランチ管理モデルです。master(本番)、develop(開発)、feature(機能開発)、release(リリース準備)、hotfix(緊急修正)の5種類のブランチを使い分け、並行開発と安定したリリースプロセスを両立します。大規模チーム開発、定期的なリリースサイクル、品質管理が重要なプロジェクトに適したワークフローです。
例: master, develop, feature, release, hotfix
Git
ブランチ戦略
チーム開発
リリース管理
GitHubが提唱する軽量なブランチ戦略。mainブランチと短期featureブランチのみを使用し、プルリクエストベースで継続的デプロイを実現。
詳細を見る
GitHub Flowは、GitHubが提唱するシンプルなワークフローです。常にデプロイ可能なmainブランチから短期間のfeatureブランチを作成し、プルリクエストでのコードレビューを経てマージします。継続的デプロイ、小さなチーム、頻繁なリリースに適しており、Git Flowよりも軽量で理解しやすい特徴があります。多くのオープンソースプロジェクトや、アジャイル開発チームで採用されています。
例: main branch, feature branch, Pull Request, Deploy
GitHub
軽量ワークフロー
継続的デプロイ
プルリクエスト
Gitでブランチを統合する2つの主要手法。Mergeは履歴を保持、Rebaseは履歴を線形化。それぞれ異なる利点と使用場面を持つ。
詳細を見る
RebaseとMergeは、Gitでブランチを統合する主要な手法です。Mergeは元のブランチ履歴を保持し、マージコミットを作成します。一方、Rebaseは既存コミットを新しいベースに移動し、線形的な履歴を作成します。Mergeは安全で履歴の透明性が高く、Rebaseはクリーンな履歴と簡潔なプロジェクト経過を提供します。Interactive Rebase、Force Push、共有ブランチでの注意点を理解することが重要です。
例: git merge, git rebase, Interactive Rebase, Fast-forward
Git
ブランチ統合
履歴管理
ワークフロー
Javaプロジェクトのビルド・依存関係管理ツール。POM(Project Object Model)でプロジェクト設定を定義し、ライフサイクル管理を自動化。
詳細を見る
Mavenは、Apache Software Foundationが開発したJavaプロジェクトの統合管理ツールです。POM(pom.xml)ファイルでプロジェクト情報、依存関係、ビルド設定を宣言的に定義し、標準的なディレクトリ構造とライフサイクル(compile、test、package、install、deploy)により一貫したビルドプロセスを提供します。中央リポジトリ、アーティファクト管理、プラグインエコシステムにより、Java開発の標準ツールとなっています。
例: POM, Dependency, Central Repository, Plugin, Lifecycle
Java
ビルドツール
依存関係管理
ライフサイクル
Groovy/Kotlin DSLベースのビルド自動化システム。Java、Android、Scala等のプロジェクトでMavenより柔軟で高速なビルドを提供。
詳細を見る
Gradleは、GroovyまたはKotlin DSLで記述できる現代的なビルド自動化システムです。宣言的・命令的アプローチの組み合わせ、増分ビルド、ビルドキャッシュ、並列実行により、Mavenより高速で柔軟なビルドを実現します。Java、Android、Scala、Kotlinなど多言語サポート、マルチプロジェクトビルド、豊富なプラグインエコシステムを特徴とします。Google AndroidやSpring Bootの標準ビルドツールとして採用されています。
例: build.gradle, Task, Plugin, Multi-project, Kotlin DSL
ビルドツール
DSL
高速ビルド
Android開発
Node.jsのパッケージマネージャー。JavaScriptライブラリの依存関係管理、スクリプト実行、パッケージ公開機能を提供。
詳細を見る
npm(Node Package Manager)は、Node.jsエコシステムの標準パッケージマネージャーです。package.jsonファイルで依存関係とプロジェクト設定を管理し、世界最大のソフトウェアレジストリからパッケージをインストールできます。scripts機能によるタスク実行、semantic versioning、lock fileによる再現可能なビルド、npx による一時的パッケージ実行など、JavaScript開発に必須の機能を提供します。
例: package.json, node_modules, npm scripts, npx, semver
Node.js
パッケージ管理
JavaScript
依存関係
JavaScriptアプリケーションのモジュールバンドラー。複数ファイルを統合し、最適化されたブラウザ用アセットを生成。開発サーバー、ホットリロード機能も提供。
詳細を見る
webpackは、モダンJavaScriptアプリケーションの静的モジュールバンドラーです。エントリーポイントから依存関係グラフを構築し、JavaScript、CSS、画像などのアセットを最適化されたバンドルファイルに変換します。Loader(ファイル変換)、Plugin(拡張機能)、Code Splitting(コード分割)、Tree Shaking(不要コード除去)などの機能により、高性能なWebアプリケーションの構築を支援します。
例: Entry Point, Loader, Plugin, Code Splitting, Hot Module Replacement
JavaScript
バンドラー
モジュール
最適化
Unix/Linuxの伝統的なビルドツール。Makefileでターゲット、依存関係、コマンドを定義し、効率的な増分ビルドを実現。
詳細を見る
makeは、Unix/Linux環境で長年使用されている伝統的なビルド自動化ツールです。Makefileでターゲット、依存関係、実行コマンドを定義し、ファイルのタイムスタンプを比較して必要な部分のみを再ビルドする増分ビルドを実現します。C/C++プロジェクトで特に多用され、GNU Make、BMake、NMakeなどの実装があります。シンプルな記法ながら強力で、現在でも多くのオープンソースプロジェクトで採用されています。
例: Makefile, Target, Dependency, GNU Make, Phony Target
ビルドツール
Unix/Linux
増分ビルド
C/C++
個別のモジュールや関数を対象とする最小単位のテスト。自動化されたテストケースにより、コードの品質向上と回帰テストを効率化。
詳細を見る
Unit Testing(単体テスト)は、ソフトウェアの個別コンポーネント(関数、メソッド、クラス)を隔離してテストする手法です。テストケース、アサーション、モック、スタブなどの概念を使用し、各単位が仕様通りに動作することを自動的に検証します。JUnit、pytest、Jest、Mocha等のフレームワークにより実装され、CI/CDパイプラインでの自動実行により継続的な品質保証を実現します。Test-Driven Development(TDD)の基盤でもあります。
例: JUnit, pytest, Jest, Assertion, Mock, Test Coverage
テスト
品質保証
自動化
TDD
複数のモジュールやサービス間の連携を検証するテスト。API連携、データベース接続、外部サービス統合の正常性を確認。
詳細を見る
Integration Testing(統合テスト)は、個別のユニットが組み合わされた際の相互作用を検証するテスト手法です。Big Bang Integration、Top-down、Bottom-up、Sandwich Testingなどのアプローチがあり、API連携、データベース接続、マイクロサービス間通信、外部システム統合などを対象とします。Docker、テストコンテナ、モックサーバーを使用した環境構築により、信頼性の高い統合テストを実現します。
例: API Testing, Database Testing, Test Containers, Mock Server
テスト
統合
API
マイクロサービス
テストファーストの開発手法。テスト作成→実装→リファクタリングのサイクルを繰り返し、高品質で保守性の高いコードを作成。
詳細を見る
TDD(Test-Driven Development)は、実装前にテストを書く開発手法です。Red(失敗するテスト作成)→Green(テストを通す最小実装)→Refactor(リファクタリング)のサイクルを繰り返します。要件の明確化、回帰テスト防止、設計改善、コード品質向上を実現し、ペアプログラミング、クリーンコード、アジャイル開発と相性が良い手法です。BDD(Behavior-Driven Development)との組み合わせも効果的です。
例: Red-Green-Refactor, Unit Test, BDD, Refactoring
開発手法
テストファースト
品質向上
リファクタリング
パスワード、APIキー、証明書等の機密情報を安全に管理する仕組み。暗号化、アクセス制御、ローテーション、監査機能を提供。
詳細を見る
Secret Managementは、アプリケーションやシステムで使用する機密情報(パスワード、APIキー、証明書、トークン)を安全に管理する重要なセキュリティ実践です。HashiCorp Vault、AWS Secrets Manager、Azure Key Vault、Kubernetes Secretsなどのツールにより、暗号化保存、アクセス制御、自動ローテーション、監査ログを実現します。DevSecOpsにおいて、機密情報のハードコーディングを防ぎ、セキュリティリスクを軽減します。
例: HashiCorp Vault, AWS Secrets Manager, Kubernetes Secrets, Key Rotation
セキュリティ
暗号化
アクセス制御
機密情報
ビルドされたソフトウェアアーティファクト(JAR、Docker Image等)を保存・管理するリポジトリ。バージョン管理、配布、依存関係解決を効率化。
詳細を見る
Artifact Repositoryは、CI/CDパイプラインで生成されたビルド成果物を一元管理するストレージシステムです。JFrog Artifactory、Sonatype Nexus、GitHub Packages、AWS CodeArtifact等のツールにより、JAR、WAR、Docker Image、npm Package、Helm Chartなどの多様なアーティファクトを管理します。バージョン管理、メタデータ、依存関係解決、アクセス制御、脆弱性スキャン機能により、安全で効率的なソフトウェア配布を実現します。
例: JFrog Artifactory, Nexus, Docker Registry, npm Registry
アーティファクト
バージョン管理
配布
依存関係
アプリケーションを開発→テスト→ステージング→本番環境へと段階的に昇格させるプロセス。品質ゲートとレビューを経て安全なデプロイを実現。
詳細を見る
Environment Promotionは、ソフトウェアリリースを複数の環境を通じて段階的に昇格させるプロセスです。開発(Development)→統合(Integration)→ステージング(Staging)→本番(Production)の各環境で、自動テスト、手動検証、承認プロセスを経て品質を保証します。Infrastructure as Code、設定管理、自動化デプロイにより、環境間の一貫性を確保し、リリースリスクを最小化します。
例: Dev→Test→Stage→Prod, Quality Gate, Approval Process
環境管理
段階的デプロイ
品質保証
リスク軽減
定義されたインフラ構成と実際の環境状態の差異。手動変更、設定ミス、時間経過により発生し、予期しない問題の原因となる。
詳細を見る
Infrastructure Drift(インフラドリフト)は、Infrastructure as Codeで定義された理想的な状態と、実際のインフラ環境の間に生じる差異です。手動での緊急変更、設定ファイルの更新漏れ、自動スケーリング、時間経過による状態変化などが原因となります。Terraform Plan、AWS Config、Azure Policy等のツールによりドリフト検出・修正を行い、環境の一貫性と予測可能性を維持します。
例: Terraform Plan, AWS Config, State Drift, Configuration Drift
インフラ管理
状態管理
一貫性
IaC
Blue-Green デプロイ環境でのテスト戦略。新バージョン(Green)で総合テストを実行後、トラフィック切り替え前の最終検証を行う。
詳細を見る
Blue-Green Testingは、Blue-Green デプロイメント戦略におけるテスト手法です。本番環境(Blue)と同等のGreen環境で、機能テスト、性能テスト、セキュリティテスト、データ整合性テストを実行します。トラフィック切り替え前の最終確認として、スモークテスト、ヘルスチェック、モニタリング検証を行い、問題がない場合のみ本番切り替えを実施します。迅速なロールバック準備も重要な要素です。
例: Smoke Test, Health Check, Performance Test, Rollback Test
デプロイ戦略
テスト
リスク軽減
本番検証