حالت Express در CloudFormation؛ استقرار زیرساخت تا ۴ برابر سریعتر
خلاصهٔ کاملتر
به گفتهٔ AWS، حالت Express یه حالت استقرار تازه برای CloudFormationه که استقرار رو برای توسعهدهندهها و ابزارهای هوش مصنوعی که روی زیرساخت تکرار میکنن سریعتر میکنه. Express با کاملکردنِ استقرار همون موقع که CloudFormation اعمال پیکربندی منابع رو تأیید میکنه (بهجای انتظار برای چکهای طولانیِ تثبیت) زمان استقرار رو تا ۴ برابر کم میکنه.
طبق مقاله، هر استقرار CloudFormation بعد از اعمال پیکربندی، چکهای تثبیت انجام میده که وقتی لازمه مطمئن بشی منابع قبل از جابهجایی بار میتونن ترافیک بگیرن مفیدن. ولی خیلی از گردشکارها به تثبیت کامل نیاز ندارن. Express به دو کاربرد اصلی کمک میکنه: گردشکارهای توسعهٔ تکراری، و سناریوهای تولیدی که با تثبیتِ نهاییِ باتأخیر مشکلی ندارن؛ مثل تست اجزای جدا یا توسعهٔ زیرساخت با کمک هوش مصنوعی که از حلقههای بازخورد زیر یک دقیقه سود میبره.
به گفتهٔ AWS، تو حالت Express منابع تو پسزمینه عملیاتی میشن و CloudFormation بهصورت خودکار منابع وابستهای که موقع provisioning دچار خطای گذرا میشن رو بدون دخالت مشتری دوباره امتحان میکنه. مهمه که Express فقط زمانِ کاملشدن استقرار رو عوض میکنه، نه نحوهٔ provisioningِ منابع رو. نمونهها گویان: ساخت یه صف SQS همراه dead letter queue تو حالت استاندارد ۶۴ ثانیه طول میکشه ولی تو Express تا ۱۰ ثانیه؛ و حذف یه تابع Lambda با network interface که تو حالت استاندارد ۲۰ تا ۳۰ دقیقهست، تو Express تا ۱۰ ثانیه تموم میشه.
برای شروع، تو کنسول میشه گزینهٔ Express رو فعال کرد، یا با AWS CLI و SDK و ابزارهای IaC مثل CDK از طریق پارامتر --deployment-config با مقدار EXPRESS هنگام ساخت، بهروزرسانی یا حذف استک. به گفتهٔ AWS، هیچ تغییری تو تمپلیت لازم نیست، ولی Express بهصورت پیشفرض rollback رو غیرفعال میکنه تا تکرار سریعتر بشه؛ برای محیط تولید میشه با ستکردن disableRollback روی false دوباره فعالش کرد.
aws cloudformation create-stack \
--stack-name my-app \
--template-body file://template.yaml \
--deployment-config '{"mode": "EXPRESS", "disableRollback": true}'برای CDK هم با cdk deploy --express فعال میشه. به گفتهٔ AWS، Express با همهٔ تمپلیتهای موجود و همهٔ قابلیتها از جمله change setها و nested stackها کار میکنه (فعالکردنش رو استک والد، همهٔ nested stackها رو هم Express میکنه). اگه لازمه منابع قبل از عبور ترافیک کاملاً عملیاتی باشن، بهتره همون رفتار پیشفرض با چکهای تثبیت رو نگه داری. این قابلیت از همین حالا تو همهٔ ریجنهای تجاری AWS و بدون هزینهٔ اضافه در دسترسه.
نکات کلیدی:
- حالت Express در CloudFormation استقرار رو تا ۴ برابر سریعتر میکنه
- استقرار همون لحظهٔ اعمال پیکربندی تموم میشه؛ منابع تو پسزمینه عملیاتی میشن
- مناسب توسعهٔ تکراری و ابزارهای هوش مصنوعی با بازخورد زیر یک دقیقه
- نمونه: SQS با DLQ از ۶۴ به ۱۰ ثانیه؛ حذف Lambda از ۲۰-۳۰ دقیقه به ۱۰ ثانیه
- rollback بهصورت پیشفرض خاموشه؛ برای تولید با disableRollback=false روشنش کن




