راه‌اندازی حالت ECS Express در AWS برای ساده‌سازی استقرار برنامه‌های کانتینری

آمازون وب سرویسز (AWS) با معرفی ECS Express Mode، فرایند استقرار برنامه‌های وب و APIهای کانتینری را ساده‌تر کرده و امکان راه‌اندازی سرویس‌های آماده تولید را تنها با چند ورودی اولیه فراهم می‌کند.

آمازون وب سرویسز به‌تازگی از Amazon ECS Express Mode رونمایی کرده است؛ قابلیتی جدید که با هدف ساده‌سازی استقرار برنامه‌های کانتینری وب و APIها ارائه شده و به توسعه‌دهندگان اجازه می‌دهد سرویس‌های آماده بهره‌برداری را تنها در یک مرحله مستقر کنند. در این حالت، بسیاری از جزئیات زیرساختی رایج مانند پیکربندی نقش‌های IAM، لودبالانسرها و سیاست‌های مقیاس‌پذیری به‌صورت خودکار مدیریت می‌شود.

بر اساس اعلام AWS، به گفته «دانی پراکاسو» (Donnie Prakoso)، مدیر ارشد ترویج‌دهندگان توسعه‌دهندگان، کاربران برای استقرار یک سرویس آماده تولید تنها به ارائه تصویر کانتینر، یک نقش IAM برای اجرای تسک و یک نقش IAM زیرساختی نیاز دارند. پس از آن، ECS Express Mode به‌صورت خودکار تمام اجزای زیرساختی لازم را ایجاد می‌کند؛ از جمله Application Load Balancer (ALB) با پشتیبانی از HTTPS، تنظیمات مقیاس‌پذیری خودکار و حتی تخصیص نام دامنه. تمامی این منابع در حساب AWS کاربر باقی می‌مانند و شفافیت و کنترل کامل را در اختیار او قرار می‌دهند.

به گفته پراکاسو، ECS Express Mode این امکان را فراهم می‌کند که توسعه‌دهندگان معماری ابری برنامه‌های خود را ایجاد کنند، بدون آنکه کنترل منابع زیرساختی را از دست بدهند. این سرویس به‌طور خاص برای توسعه‌دهندگانی طراحی شده که نیاز به استقرار سریع دارند و نمی‌خواهند درگیر پیچیدگی‌های لایه زیرساخت شوند. با استفاده از این حالت، می‌توان برنامه‌های عمومی و خصوصی مبتنی بر HTTPS را مستقر کرد که به‌صورت خودکار و بر اساس الگوی ترافیک مقیاس‌پذیر می‌شوند. همچنین تا ۲۵ سرویس Express Mode می‌توانند در صورت سازگاری تنظیمات شبکه، از یک ALB مشترک استفاده کنند.

لودبالانسرهای ایجادشده به‌صورت پیش‌فرض با health check و سیاست‌های auto-scaling پیکربندی می‌شوند و تنظیمات شبکه و مانیتورینگ نیز کاملاً خودکار است. کاربران همچنان دسترسی کامل به تمامی منابع AWS دارند و می‌توانند آن‌ها را به‌صورت مستقیم مدیریت کنند. AWS تأکید کرده که برای استفاده از Express Mode هزینه اضافی دریافت نمی‌شود و کاربران تنها هزینه منابع AWS مصرفی خود را می‌پردازند. این قابلیت صرفاً با Fargate کار می‌کند، از ECS روی ماشین‌های EC2 پشتیبانی نمی‌کند و امکان استقرار blue-green نیز در آن وجود ندارد.

بازخورد جامعه کاربری نسبت به این سرویس مثبت بوده است. بسیاری از کاربران از امکان استقرار سریع APIها و ابزارهای داخلی استقبال کرده‌اند و برخی Express Mode را «دکمه آسان» برای ECS توصیف کرده‌اند؛ چراکه راه‌اندازی سرویس‌های کانتینری با رمزنگاری TLS، مسیریابی، مقیاس‌پذیری و پیکربندی ALB را به‌شدت ساده می‌کند.

در مقایسه با سرویس‌های مشابه سایر ارائه‌دهندگان، Google Cloud Run و Azure Container Apps به‌عنوان پلتفرم‌های PaaS شناخته می‌شوند که جزئیات زیرساختی را پنهان می‌کنند. Cloud Run با قابلیت مقیاس‌پذیری تا صفر، نیاز حداقلی به زیرساخت و فعال‌سازی خودکار HTTPS شناخته می‌شود. در مقابل، Azure Container Apps که بر بستر Azure Kubernetes Service (AKS) اجرا می‌شود، امکاناتی مانند مدیریت نسخه‌ها، تریگرهای مبتنی بر رویداد و پشتیبانی از فریم‌ورک Dapr را ارائه می‌دهد و تلاش می‌کند تعادلی میان سادگی و قابلیت‌های پیشرفته ایجاد کند.

در همین راستا، تانوشری آگاروال از AWS Community Builders پیش‌بینی کرده است که ECS Express Mode جایگزین App Runner نخواهد شد، اما برای تیم‌های کوچک که پیش‌تر از App Runner یا پیکربندی‌های ساده ECS استفاده می‌کردند، فرایند استقرار را آسان‌تر می‌کند. به گفته او، توسعه‌دهندگان باید از ابتدا به رشد آینده برنامه خود فکر کنند، چراکه در مراحل پیشرفته‌تر ممکن است به گردش‌کارهای پیچیده‌تر ECS، استراتژی‌های خاص استقرار، سرویس مش و تنظیمات شبکه دقیق‌تر نیاز پیدا کنند. هرچند کاهش کدنویسی تکراری مزیت مهمی است، اما نگرانی‌هایی درباره محدودیت قابلیت‌های پیشرفته نیز وجود دارد.

AWS تأکید می‌کند که ECS Express Mode همچنان کنترل کامل و دید جامع را حفظ کرده و امکان مهاجرت تدریجی به معماری‌های پیچیده‌تر را فراهم می‌سازد. با این حال، برخی قابلیت‌های پیشرفته عملیات سطح بالا هنوز به‌طور کامل در این حالت یکپارچه نشده‌اند و محدودیت‌های اشتراک‌گذاری ALB می‌تواند برای تیم‌هایی با چندین سرویس چالش‌برانگیز باشد. ECS Express Mode هم‌اکنون در تمامی ریجن‌های AWS که ECS پشتیبانی می‌شود در دسترس است.