بازگشت به کتابخانهکتابخانه6.4استقرار امن و زیرساخت مدرن
طراحی سیستم نرم‌افزاریSYSTEM DESIGNاز صفر تا تسلط
v1.0.0
01مبانی و تصویر بزرگ
02Scalability و ظرفیت
03لایه داده
04Cache، Queue و جریان
05معماری نرم‌افزار
06قابلیت اطمینان و عملیات
07متد طراحی
08Case Study های واقعی
09سیستم‌های توزیع‌شده عمیق
10مهندسی تولید: داده، امنیت و کارایی
11تمرین پیشرفته و کیس‌استادی‌های مکمل
12زیر کاپوت دیتابیس و معماری داده
13وب بلادرنگ و پروتکل‌های مدرن
14سیستم‌های توزیع‌شده پیشرفته
15SaaS ،SRE ،امنیت و شبکه پیشرفته
16طراحی سیستم در عصر AI
17Case Study های تکمیلی
LESSON 6.4فصل ۶قابلیت اطمینان و عملیات

استقرار امن و زیرساخت مدرن

  • ~۱۰ دقیقه
  • ۴ پرسش
  • متن را انتخاب کن تا هایلایت شود

بهترین معماری با استقرارِ ترسناک بی‌ارزش است. هدف: انتشارِ کوچک، مکرر، خودکار و قابل‌برگشت — طوری که دیپلوی جمعه عصر هم ترس نداشته باشد.

ContainerDocker
اپ + وابستگی‌ها در بسته‌ای قابل حمل؛ «روی سیستم من کار می‌کرد» را حذف می‌کند.
Kubernetes
ارکستراتور: تعداد نسخه‌ها، جای اجرا، health check، ری‌استارت، auto-scale — declarative: تو «وضعیت مطلوب» را می‌گویی، او نگه می‌دارد.
CI/CD
هر commit: تست و build خودکار (CI) و استقرار خودکار/نیمه‌خودکار (CD). خط لوله = دروازه کیفیت.
IaC
زیرساخت به‌صورت کد (Terraform): بازتولیدپذیر، قابل review، بدون «سرور دست‌ساز مقدس».

استراتژی‌های انتشار

استراتژیروشنکته
Rollingتعویض تدریجی نسخه‌هاپیش‌فرض K8s؛ دو نسخه موقتاً همزیست‌اند
Blue-Greenمحیط جدید کامل بالا، سوییچ یکجابرگشتِ فوری؛ هزینه دوبرابر لحظه‌ای
Canaryاول ۱٪ ترافیک به نسخه جدید، پایش، بعد رشدکشف مشکل با کمترین آسیب
Feature Flagقابلیت در کد هست ولی با سوییچ روشن می‌شودجداکردن «دیپلوی» از «انتشار»؛ خاموشی فوری بدون دیپلوی
  • قانون همزیستی: در Rolling/Canary دو نسخه همزمان زنده‌اند → تغییرات DB باید backward-compatible باشند (اول ستون اضافه کن، بعد کد، بعد حذفِ قدیمی).
  • Rollback باید یک دکمه باشد، نه یک پروژه.
  • محیط staging شبیهِ production + دیتای مصنوعی؛ تستِ فقط-لوکال دروغ می‌گوید.

به زبان ساده

انتشار امن یعنی تغییر کوچک را اول روی بخش کمی از کاربران امتحان کنیم و راه برگشت داشته باشیم.

مثال واقعی

نسخه جدید را ابتدا برای ۱٪ کاربران می‌فرستیم؛ اگر خطا یا p99 بدتر شد، canary را خودکار برمی‌گردانیم.

دانش‌سنجی

آزمون درس

۴ Q
01
Canary Release چیست؟
02
چرا حین Rolling Update حذفِ یک ستون DB خطرناک است؟
03
Feature Flag چه چیزی را از هم جدا می‌کند؟
04
مزیت اصلی IaC؟