Continuous Delivery
-
"Swarming" をコンセプトに掲げるアジャイルチームのベストプラクティス#Agile #Team Organization #Continuous Integration #Continuous Delivery Swarmingをコンセプトに掲げたアジャイルチームのベストプラクティスについての、XP祭り2024での自身の発表 関連Scrapは以下 自己組織化 ストラングラーフィグアプリケーション トランクベース モノリスからマイクロサービスへ 関数型ドメインモデリング
-
ConfigCat#Continuous Delivery OpenFeature準拠のフィーチャーフラグ管理ツール ダッシュボードによってGUIのフラグ管理が可能 公式SDKがFeature Flag Trackingにも対応している https://configcat.com/docs/getting-started/
-
ストリームアラインドチーム#Continuous Delivery #Team Organization Team Topologiesにおける4つのチームタイプの中で中心となるチーム ビジネス価値を提供するフロー(ストリーム)に従って、クロスファンクショナルチームを形成する 要求の探索から本番環境の運用までの全ての能力を備え、他のチームを待たずにデリバリーができる
-
The BDD Books - Discovery
-
DevOps2009年に10+ Deploys Per Day: Dev and Ops Cooperation at Flickrにて初めて登場した言葉 開発とオペレーションを一つのチーム内で両立させる 広義な用語ではあるが、共通して以下のような手法が定義されることが多い #Continuous Integration #Continuous Delivery Infrastructure as Code マイクロサービス
-
Flipt#Continuous Delivery OpenFeature準拠のフィーチャーフラグ管理ツール GitOpsのユースケースで活用可能で、git上でフィーチャーフラグを管理するよう構成される https://docs.flipt.io/introduction
-
マルチステージビルド#Continuous Delivery Dockerfile内で複数のビルドステージ(FROM命令)を定義し、最終的に必要なアーティファクトのみを抽出して軽量なコンテナイメージを作成する手法 メリット イメージサイズの大幅削減: ビルドツールを含まないため、最終イメージサイズを大幅に削減(例: 729MB → 26.2MB) セキュリティ向上: ビルドツールやソースコードが実行環境に残らない 効率的なCI/CDパイプライン: ビルド環境と実行環境の明確な分離により運用がシンプル化 https://docs.docker.jp/develop/develop-images/multistage-build.html
-
クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド
-
Flagsmith#Continuous Delivery フィーチャーフラグ管理を行うOSSツール https://docs.flagsmith.com/
-
Kubernetesパターン 第2版
-
Kubernetes/Probe#Continuous Delivery Pod上で定期的に実行されるコンテナの診断、ヘルスチェック チェックの方法として以下の4つがある gRPC HTTP TCP Socket Exec 任意のコマンドを実行し、成功の返り値0を期待する Probeには戦略を示すようないくつかの種類が存在する Podのライフサイクル | Kubernetes Kubernetes
-
Kubernetes/Deployment
-
フィーチャーフラグ#Continuous Delivery ソフトウェアの機能のON/OFFを管理するフラグ、機能フラグと呼ばれることもある 簡易的な例だと環境変数を用いて管理される
-
カナリアリリースCanary Release #Continuous Delivery リリース時に旧環境と新環境を同時に稼働させ、一部のユーザーに絞って新環境を限定公開し徐々に移行していくことでパフォーマンス劣化等の問題がないかをテストするリリース手法 ブルーグリーン戦略との違いはトラフィックを徐々に切り替える点 Canary Release
-
ブルーグリーン戦略#Continuous Delivery リリース時に旧環境と新環境を同時に稼働させ、リバースプロキシ/ロードバランシング/APIゲートウェイ相当のポイントで旧環境から新環境へ完全に切り替えるリリース手法 旧環境をブルー、新環境をグリーンとする
-
GitHub Actions#Continuous Integration #Continuous Delivery
-
Rolling Update#Continuous Delivery デプロイメント戦略の一種、新バージョンのデプロイ時、徐々に新バージョンのPodを追加しながら旧バージョンを削除していく
-
Argo CD Image Updater#Cloud Native #Continuous Delivery Argo CDが管理するKubernetesワークロードのコンテナイメージを、レジストリを監視して自動更新する argoproj-labs のツール(Apache-2.0)。公式は "under active development" として critical な本番ワークロードでの利用をまだ推奨していない 更新するイメージと更新戦略(semver / newest-build / alphabetical / digest)は ImageUpdater CRD で指定する argocd — クラスタ上の Application リソースのパラメータを直接書き換える。リソースを作り直すと消える git — .argocd-source-<appName>.yaml 等をリポジトリにコミットして永続化する。GitOpsで運用するならこちら git + pullRequest — 直接 push せず head branch から PR / MR を開く。protected branch やレビューを挟みたい場合に使い、SCM API を叩くため PAT か GitHub App が必要 https://argocd-image-updater.readthedocs.io/en/stable/
-
DevOps capabilities/Continuous delivery#Continuous Delivery DevOps capabilitiesの1つ、Fast Flowに分類される https://dora.dev/capabilities/continuous-delivery/
-
BSRBuf Schema Registory #Continuous Integration #Continuous Delivery Bufが提供するProtocol Buffersツール群のうちの一つ Protobufファイル群をモジュールとしてバージョン管理することができる。 モジュールとしてのドキュメンテーションをサポートし依存関係管理も可能 Overview - Buf Docs
-
Trivy#Security #Cloud Native #Continuous Integration #Continuous Delivery Aqua Securityが開発するオープンソースの脆弱性・設定ミス・シークレットスキャナー。コンテナイメージ、Kubernetes、IaC、gitリポジトリを対象とする SASTツールの一種としてDevSecOpsのシフトレフトセキュリティを担い、CIパイプラインに統合できる DockerfileやTerraformの設定ミス検出、シークレット検出、SBOM生成にも対応する --format sarif で SARIF 出力に対応し GitHub Code Scanning に取り込める https://trivy.dev/ https://github.com/aquasecurity/trivy
-
Argo Rollouts
-
Terraform#Continuous Integration #Continuous Delivery HashiCorp 製の Infrastructure as Code ツール。API を宣言的な設定ファイルにコード化し、インフラの作成・変更・バージョン管理を安全かつ予測可能に行う provider がクラウド / SaaS の API を抽象化し、低レベル(compute / storage / network)から高レベル(DNS・SaaS 機能)まで同じ記法で扱う 設定は HCL で記述し、現状を state ファイルで追跡。write → plan → apply のワークフローで plan が適用前の差分を提示する 2023-08 にライセンスを MPL 2.0 → BUSL 1.1(source-available の非 OSS)へ変更 https://developer.hashicorp.com/terraform
-
GitOpsWeaveworks社によって提唱された、#Cloud Nativeの文脈においてgitを用いた設定管理を行うような#Continuous Delivery手法 対象は主にKubernetesとなる
-
Progressive Deliveryバージョンアップデートを段階的に行うようなデプロイメント戦略を適用した上で、デプロイ結果を分析し漸進的にデプロイの継続かまたはロールバックかを自動化するようなデリバリ手法 #Continuous Deliveryの進化系として紹介されることが多い https://argo-rollouts.readthedocs.io/en/stable/concepts/#progressive-delivery
-
Docker
-
Argo CD
-
DevSecOps#Security #Continuous Integration #Continuous Delivery DevOpsにセキュリティを統合したアプローチ ソフトウェア開発ライフサイクル(SDLC)の全段階にセキュリティを組み込む シフトレフト: 開発初期段階からセキュリティを考慮し、CI/CDパイプラインにSAST / DAST などのセキュリティテストを自動化して組み込む 開発・セキュリティ・運用チームの協働を前提とする https://www.devsecops.org/
-
OpenFeature
-
HCP Terraform#Continuous Integration #Continuous Delivery HashiCorp が提供する Terraform のマネージド SaaS(旧称 Terraform Cloud、2024 に HCP 傘下へ改称)。リモート実行(run)・共有 state・VCS 連携の plan/apply・private module registry・Sentinel/OPA による policy as code を提供する。 CLI からは cloud {} ブロックで接続(旧 remote backend 相当)。料金は managed resource 数ベースで Free 枠あり。自社環境に置く self-hosted 版は Terraform Enterprise https://developer.hashicorp.com/terraform/cloud-docs
-
Infrastructure as CodeInfrastructure as Code #Continuous Integration #Continuous Delivery インフラストラクチャとしてのプロセスや環境、設定等をコードで管理し文書化する方針 Infrastructure as Code とは - IaC の説明 - AWS
-
kpt#Cloud Native #Continuous Delivery CNCF sandboxプロジェクトのKubernetesインフラ自動化ツールチェーン KRM (Kubernetes Resource Model) ファイル(YAMLマニフェスト)をパッケージとして管理するInfrastructure as Codeツール Configuration as Data: 設定をコードではなく純粋なデータとして扱い、バージョン管理・diff・レビューを分離 WYSIWYG原則: パッケージの内容がそのままクラスタにデプロイされる(テンプレート展開等の out-of-band 変換なし) validator・mutator によるパイプラインで設定の変換・検証を自動化 Helm / Kustomize / Argo CD など既存ツールチェーンとの統合をサポート GitOps ワークフロー・マルチクラスタ・シークレット管理等を対象にv1 API安定化を目指す https://www.cncf.io/blog/2026/07/02/reintroducing-kpt-your-toolchain-for-infrastructure-automation/
-
Atlas#Data Engineering #Continuous Integration #Continuous Delivery #Documentation データベーススキーマの最新の状態をコードとして管理し、変更時の差分を元に自動でマイグレーションクエリを生成してくれるようなDevOpsツール PostgreSQLやMySQLといった代表的なデータベース管理システムに対応している Atlas CloudによってWeb上での可視化も可能 Ariga社によって開発されている https://atlasgo.io/docs