Canary Deployment

Canary Deployment یک راهبرد استقرار است که با دو محیط آغاز می‌شود: یکی با ترافیک زنده و دیگری با کد به‌روزشده بدون ترافیک زنده. ترافیک به‌صورت تدریجی از نسخه اصلی Application به نسخه به‌روزشده منتقل می‌شود. این جابه‌جایی می‌تواند با انتقال ۱٪ ترافیک زنده شروع شود، سپس ۱۰٪، ۲۵٪ و به همین ترتیب ادامه یابد تا همه ترافیک از نسخه جدید عبور کند. سازمان‌ها می‌توانند نسخه جدید نرم‌افزار را در Production آزمایش کنند، بازخورد بگیرند، خطاها را تشخیص دهند و در صورت لزوم به‌سرعت به نسخه پایدار Rollback کنند.

اصطلاح «Canary» به عمل «قناری در معدن زغال‌سنگ» اشاره دارد؛ جایی که پرندگان قناری را برای حفظ ایمنی معدن‌کاران به معدن می‌بردند. اگر گازهای مضر و بی‌بو وجود داشت، پرنده می‌مرد و معدن‌کاران می‌فهمیدند که باید سریع تخلیه کنند. مشابه همین، اگر با کد به‌روزشده مشکلی رخ دهد، ترافیک زنده دوباره به نسخه اصلی «تخلیه» می‌شود.

مسئله‌ای که حل می‌کند

فارغ از این‌که استراتژی Testing چقدر دقیق باشد، همیشه برخی Bugها در Production کشف می‌شوند. جابه‌جایی ۱۰۰٪ ترافیک از یک نسخه App به نسخه دیگر می‌تواند به شکست‌های تأثیرگذارتر منجر شود.

چگونه کمک می‌کند

Canary Deployment به سازمان‌ها اجازه می‌دهد قبل از هدایت حجم قابل توجهی از ترافیک به نسخه جدید، ببینند نرم‌افزار تازه در سناریوهای دنیای واقعی چگونه رفتار می‌کند. این راهبرد به سازمان‌ها کمک می‌کند Downtime را به حداقل برسانند و در صورت بروز مشکل در استقرار جدید، سریع Rollback کنند. همچنین امکان Testing عمیق‌تر Application در Production را بدون تأثیر چشمگیر بر تجربه کلی کاربران فراهم می‌کند.


آخرین ویرایش September 26, 2025: [fa] Add Persian to the list of localized languages (6511f5f)