deployment-patterns

Detail production deployment workflows, CI/CD pipelines, and Docker containerization for web applications.

Updated May 24, 2023
One-click install
npx skills add https://github.com/Kimjiman/basic-arch --skill deployment-patterns-kimjiman
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deployment-patterns
Source: https://github.com/Kimjiman/basic-arch/tree/main/.claude/skills/deployment-patterns
Command: npx skills add https://github.com/Kimjiman/basic-arch --skill deployment-patterns-kimjiman

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides comprehensive guidance on deploying web applications, covering everything from CI/CD pipelines and Dockerization to advanced deployment strategies and production readiness.

Core Features & Use Cases

  • Deployment Strategies: Explains Rolling, Blue-Green, and Canary deployments with pros, cons, and use cases.
  • Docker Best Practices: Offers multi-stage Dockerfile examples for Node.js, Go, and Python, along with essential best practices.
  • CI/CD: Provides a GitHub Actions example for a standard CI/CD pipeline and outlines typical pipeline stages.
  • Health Checks & Configuration: Details health check endpoints, Kubernetes probes, and environment configuration following the Twelve-Factor App pattern.
  • Rollback & Readiness: Includes rollback strategies and a thorough production readiness checklist.
  • Use Case: A team is preparing to launch a new version of their critical web service and needs to understand the safest way to deploy, including how to minimize downtime and enable quick rollbacks if issues arise.

Quick Start

Generate a multi-stage Dockerfile for a Node.js application.

Frequently Asked Questions about deployment-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best way to deploy web applications with minimal downtime?

Minimizing downtime during web application deployment requires strategies like rolling, blue-green, or canary deployments. These patterns incrementally shift traffic to new versions, ensuring continuous availability and enabling quick rollbacks if production issues arise.

How do I write a multi-stage Dockerfile for Node.js, Go, and Python?

Creating multi-stage Dockerfiles for Node.js, Go, and Python involves separating build environments from final production images. This approach compiles source code and bundles dependencies in intermediate stages, then copies only the runtime artifacts to reduce image size.

How do I set up a GitHub Actions CI/CD pipeline for Docker containerization?

Setting up a GitHub Actions CI/CD pipeline for Docker containerization involves defining workflow stages for building, testing, and pushing images. The pipeline automates continuous integration tasks before deploying the Dockerized web application to production.

How do Kubernetes health checks and probes work for production readiness?

Kubernetes health checks use liveness and readiness probes to monitor container health and route traffic. Probes automatically restart failing containers and ensure traffic only reaches healthy pods, maintaining production readiness.

When should I use rolling vs canary deployment strategies?

Choosing between rolling and canary deployment strategies depends on risk tolerance. Rolling deployments gradually replace old instances for routine updates, while canary deployments release changes to a small subset of users first to test for issues before full rollout.

How do I implement rollback strategies following the Twelve-Factor App pattern?

Implementing rollback strategies with the Twelve-Factor App pattern involves maintaining environment configuration separation and stateless processes. This allows quick reversion to previous application versions without data conflicts during production failures.