| 👀 خبر در یک نگاه:
آمازون LocalStack را با VS Code Toolkit ادغام کرد تا توسعه Serverless سریعتر و سادهتر شود. این ادغام امکان اتصال مستقیم به LocalStack، استقرار و تست لوکال اپلیکیشنها را بدون جابهجایی بین ابزارها فراهم میکند. توسعهدهندگان میتوانند روی منطق کسبوکار تمرکز کنند و همزمان تست در محیط واقعی AWS را انجام دهند. |
AWS از ادغام LocalStack با AWS Toolkit در Visual Studio Code خبر داد؛ اقدامی که یکی از چالشهای قدیمی توسعه Serverless را حل میکند. چالش این بود که توسعهدهندگان مجبور بودند برای تست لوکال اپلیکیشنهای ایونتمحور، بین ابزارهای مختلف و تنظیمات پیچیده جابهجا شوند.
آشنایی بیشتر با قابلیت جدید AWS Toolkit
این قابلیت در نسخه 3.74.0 از AWS Toolkit برای VS Code ارائه شده و به توسعهدهندگان اجازه میدهد مستقیما از داخل محیط IDE به LocalStack endpointها متصل شوند. به این ترتیب دیگر نیازی به پیکربندی دستی endpointها یا سوئیچ کردن بین ابزارهای مختلف برای تست اپلیکیشنهای Serverless با سرویسهایی مثل Amazon SQS، EventBridge و DynamoDB نیست.
مشکل ورژن قبل چه بود؟
در حالی که AWS SAM CLI امکان تست محلی Lambda functionها را بهخوبی فراهم کرده بود،
توسعهدهندگانی که با معماریهای رویدادمحور کار میکردند، با پیچیدگی مواجه بودند. آنها همچنین هنگام استفاده از سرویسهای مختلف AWS، کندی در چرخه توسعه را تجربه میکردند. LocalStack پیشتر شبیهسازی سرویسهای AWS را انجام میداد. این ابزار به صورت مجزا مدیریت میشد و نیازمند تنظیمات پیچیده و جابهجایی مداوم بین رابطهای مختلف بود.
ورژن جدید چطور این مشکل را حل کرد؟
ادغام جدید این تجربه را متحول کرده است؛ مدیریت LocalStack حالا مستقیما درون محیط VS Code انجام میشود. توسعهدهندگان میتوانند:
- از طریق یک راهنمای قدمبهقدم LocalStack را نصب کنند
- اپلیکیشنهای Serverless را در محیط شبیهسازیشده مستقر کنند
- Functionها را بهصورت محلی تست کنند، بدون اینکه IDE را ترک کنند.
تست چندلایه با LocalStack و AWS
ادغام LocalStack مکمل قابلیتهای جدید AWS مثل اتصال کنسول به IDE و دیباگ از راه دور است و رویکردی چندلایه برای تست فراهم میکند. در مراحل اولیه توسعه، توسعهدهندگان میتوانند با LocalStack سریعتر تکرار کنند، بدون نیاز به درگیری با IAM، تنظیمات VPC یا پیچیدگیهای مرز سرویسها. زمانی که نیاز به اعتبارسنجی در برابر رفتار واقعی سرویسهای AWS باشد، آنها میتوانند بهصورت روان به تست مبتنی بر Cloud و دیباگ از راه دور مهاجرت کنند.
تمرکز روی منطق کسبوکار
این رویکرد باعث میشود توسعهدهندگان در ابتدا روی منطق کسبوکار تمرکز کنند و در عین حال انعطافپذیری تست در محیط واقعی AWS را نیز داشته باشند. این ادغام از همان دستورات آشنای AWS SAM CLI برای استقرار پشتیبانی میکند؛ بهعنوان مثال توسعهدهندگان میتوانند با اجرای دستور زیر استکهای خود را در محیط محلی مستقر کنند:
sam deploy –guided –profile localstack
پروسه راهاندازی
فرایند راهاندازی خیلی سادهتر شده؛ از طریق Application Builder در VS Code، فقط با یک کلیک LocalStack نصب میشود، افزونه مربوطه بهطور خودکار اضافه شده و اتصالهای لازم پیکربندی میشوند. پس از راهاندازی، LocalStack بهعنوان یک پروفایل قابل انتخاب در کنار سایر پیکربندیهای AWS نمایش داده میشود و جابهجایی بین محیط محلی و Cloud را یکپارچه میکند.
دسترسی قابلیت جدید
این قابلیت در تمام مناطق تجاری AWS بهجز GovCloud (ایالات متحده) در دسترس است و هزینه اضافی از سمت AWS ندارد. توسعهدهندگان میتوانند از نسخه رایگان LocalStack برای شبیهسازی سرویسهای اصلی AWS استفاده کنند و در صورت نیاز به پوشش گستردهتر سرویسها یا قابلیتهای پیشرفته، سراغ نسخههای بالاتر بروند.
ابزارهای جایگزین LocalStack
این ادغام بخشی از استراتژی بزرگتر AWS است تا VS Code را به محیط توسعه پیشفرض برای اپلیکیشنهای Serverless تبدیل کند. در کنار قابلیتهای اخیر، مثل اتصال کنسول به IDE و دیباگ از راه دور که اوایل ۲۰۲۵ معرفی شدند، این ابزارها تجربه توسعه منسجمتری را ایجاد میکنند که نیازهای تست را در مراحل مختلف چرخه عمر اپلیکیشن پوشش میدهد.
البته جایگزینهای دیگری هم برای LocalStack وجود دارند که هر کدام متناسب با نیازهای مختلف تست و توسعه طراحی شدهاند:
- Moto: یکی از محبوبترین گزینههاست. یک کتابخانه پایتونی است که بسیاری از سرویسهای AWS را در سطح SDK شبیهسازی میکند. به جای شبیهسازی کامل محیط AWS، موتو درخواستها به AWS SDK را رهگیری میکند و پاسخهای شبیهسازیشده برمیگرداند. این پاسخها سبک و مناسب تستهای واحد و یکپارچهسازی هستند. با این حال، چون نقطه پایانی سرویسها یا شبکه را بازتولید نمیکند، برای تستهای end-to-end یا سیستم که نیاز به رفتار واقعی مشابه AWS دارند، خیلی مناسب نیست.
- AWS SAM CLI: به توسعهدهندگان اجازه میدهد اپلیکیشنهای Serverless را بهصورت محلی بسازند و تست کنند. بهویژه برای جریانهای کاری Lambda و API Gateway کاربرد دارد و راهی برای شبیهسازی استقرار و تحریک توابع با رویدادهای Mock فراهم میکند. اگرچه فقط به پشتههای Serverless محدود است و بسیاری از سرویسهای AWS را پشتیبانی نمیکند اما تقریب نزدیکی از اجرای واقعی Lambda ارائه میدهد.
- Testcontainers: برای کنترل دقیقتر، انعطافپذیری بیشتری میدهد. این ابزار به توسعهدهندگان امکان میدهد نسخههای Dockerized از سرویسهای خاص مثل DynamoDB Local یا S3-like storage را در کانتینرهای موقتی راهاندازی کنند و تستهای Integration تکرارپذیر داشته باشند.
سخن نهایی
در مجموع، این جایگزینها نشان میدهند که در حالی که LocalStack جامعترین رویکرد «AWS در یک جعبه» را ارائه میدهد، راهحلهای سبکتر و هدفمند نیز بسته به دامنه پروژه میتوانند انتخاب بهتری باشند.
منبع: infoq.com




دیدگاهتان را بنویسید