برنامه نویسی

درک AWS بدون سرور: چه ، چرا و چگونه شروع می شود

در دنیای دیجیتال امروز ، Cloud Computing در اطراف ما است. بیش از 90 ٪ از شرکت های Fortune 100 به خدمات وب آمازون (AWS) تکیه می کنند تا برنامه های خود را از Netflix پخش کنند و میلیاردها ساعت محتوا را به Airbnb با استفاده از میلیون ها رزرو منتقل کنند. اما فراتر از این شرکت های بزرگ فناوری ، AWS ابزارهای قدرتمندی را برای توسعه دهندگان در تمام سطوح برای ساخت و استقرار برنامه ها به سرعت و به راحتی ارائه می دهد.

اگر تا به حال یک برنامه وب را به صورت محلی ساخته اید یا آن را در یک ماشین مجازی سنتی مستقر کرده اید ، ممکن است با چالش هایی مانند مدیریت سرورها ، رسیدگی به سنبله های ناگهانی ترافیکی یا برخورد با خرابی زیرساخت ها روبرو شوید. محاسبات بدون سرور همه این نگرانی ها را از بین می برد و به شما امکان می دهد کاملاً روی نوشتن و استقرار کد بدون سربار عملیاتی تمرکز کنید. به عبارت ساده ، AWS راه حل های بدون سرور را پیشگام کرده است ، که به توسعه دهندگان اجازه می دهد تا برنامه عملکرد خود را به سرعت در وب جهانی مستقر کنند در حالی که AWS از هر چیز دیگری از تأمین مقیاس و نگهداری مراقبت می کند.

در اینجا ما به اصول معماری بدون سرور می پردازیم ، خدمات کلیدی را کشف می کنیم و یک راهنمای گام به گام برای شروع کار ارائه می دهیم.

  • مقیاس خودکار: برنامه های کاربردی بر اساس تقاضا بدون مداخله دستی مقیاس بالا یا پایین
  • مقرون به صرفه بودن: شما فقط آنچه را که استفاده می کنید پرداخت می کنید ، مانند زمان اجرای عملکرد و درخواست های API ، کاهش هزینه های زیرساخت
  • کاهش پیچیدگی عملیاتی: نیازی به پیکربندی ، نگهداری یا نظارت بر سرورها ، آزاد کردن زمان برای توسعه ویژگی ها نیست
  • در دسترس بودن بالا و تحمل گسل: برنامه ها همیشه در دسترس و مقاومت در برابر خرابی های غیر منتظره هستند

AWS چندین سرویس را ارائه می دهد که برنامه های بدون سرور را برق می دهند. اصلی ترین موارد عبارتند از:

  1. AWS Lambda: بدون مدیریت سرورها ، کد را در پاسخ به رویدادها (به عنوان مثال درخواست HTTP ، بارگذاری پرونده) اجرا می کند
  2. Amazon API Gateway: یک سرویس کاملاً مدیریت شده برای ایجاد ، استقرار و مدیریت API
  3. Amazon DynamoDB: یک پایگاه داده NOSQL که برای کارایی بالا و مقیاس پذیری طراحی شده است
  4. آمازون S3: ذخیره شیء مورد استفاده برای ذخیره + بازیابی پرونده ها
  5. توابع مرحله AWS: گردش کار ارکستر برای برنامه های بدون سرور
  6. آمازون Eventbridge & SQS: خدمات پیام رسانی محور رویداد برای جدا کردن قسمت های مختلف یک پروژه

هنگام انتخاب نحوه استقرار برنامه ها ، توسعه دهندگان به طور معمول از این دو روش اصلی استفاده می کنند. در اینجا نحوه مقایسه آنها آورده شده است:

معماری بدون سرور در مقابل سرور

توجه: علی رغم نام آن ، محاسبات بدون سرور واقعاً بدون سرور نیست. این سرویس هنوز بر روی سرورهای فیزیکی اداره می شود که توسط ارائه دهندگان ابر اداره می شوند ، اما فقط مدیریت زیرساخت ها را به دور از توسعه دهندگان خلاصه می کند.

  • برنامه های وب: استفاده از برنامه های کامل پشته بدون مدیریت سرورهای باطن ، امکان مقیاس گذاری خودکار و مقیاس گذاری در هر کاربرد.
  • خطوط لوله پردازش داده ها: با استفاده از توابع LambDA برای پردازش حجم زیادی از داده ها در زمان واقعی برای برنامه هایی مانند تجزیه و تحلیل ورود به سیستم و گردش کار رویداد.
  • Backends IoT: مدیریت جریان داده های گسترده در زمان واقعی از دستگاه های IoT بدون استفاده از زیرساخت های دستی.
  • اتوماسیون CI/CD: اجرای خطوط لوله ادغام و استقرار مداوم با استفاده از AWS CodePipeline و Lambda.
  • پردازش رسانه ها: از خدمات بدون سرور AWS برای رمزگذاری ویدیویی ، تحولات تصویر و تحویل محتوا استفاده کنید

برای شروع کار با خدمات بدون سرور AWS ، این مراحل را دنبال کنید. در پایان این بخش ، شما یک محیط AWS آماده برای استقرار + برنامه های خود را بدون زحمت اجرا خواهید کرد.

مرحله 1: یک حساب AWS ایجاد کنید

  • با استفاده از آدرس ایمیل در کنسول AWS ثبت نام کنید (در صورت لزوم از ردیف رایگان استفاده کنید)

ایجاد حساب AWS

مرحله 2: نقش ها و سیاست های IAM را تنظیم کنید

قبل از استقرار هر عملکرد بدون سرور ، تنظیم کاربران و نقش های هویت و مدیریت (IAM) مهم است. خدمات AWS تحت سیاست های دقیق کنترل دسترسی (به دلایل خوب) فعالیت می کنند و بدون مجوز مناسب ، کارکردهای شما قادر به تعامل با سایر منابع AWS نخواهد بود. ما برای امنیت ، کنترل دسترسی خاص و احراز هویت خدمات به سرویس به این سیاستهای IAM احتیاج داریم. کاربران IAM نمایانگر افراد/برنامه هایی هستند که نیاز به دسترسی به AWS دارند ، و نقش IAM به خدمات AWS داده می شود تا به آنها اجازه دهد بدون نیاز به اعتبار طولانی مدت اقدامات را ایمن انجام دهند.

بنابراین برای شروع ، یک کاربر IAM با مجوز برای AWS Lambda ، API Gateway ، DynamoDB و S3 ایجاد کنید (خط مشی دسترسی مدیر را برای سادگی ضمیمه کنید یا از سیاست های کم ارزش برای امنیت استفاده کنید)

ایجاد کاربر IAM

در مرحله بعد ، بسته به اینکه خدمات در تعامل هستند ، هرگونه نقش IAM لازم را با مجوز ایجاد کنید.

مثال لامبدا:

ایجاد نقش IAM

در این مرحله ، شما با موفقیت حساب AWS خود را ایجاد کرده اید ، کاربران و نقشهای IAM را پیکربندی کرده اید و مجوزهای لازم را برای عملکردهای بدون سرور خود تعریف کرده اید. با استفاده از این محیط ، اکنون می توانید از توابع AWS Lambda ، تنظیم نقاط پایانی API Gateway و ادغام راه حل های ذخیره سازی مانند DynamoDB و S3 به همراه میزبانی برنامه های وب در خدماتی مانند Amplify استفاده کنید.

این همه چیز واقعاً شروع کار با AWS Serverless است! اکنون که محیط AWS خود را تنظیم کرده اید و خدمات اصلی را درک کرده اید ، آماده استقرار ، مقیاس و بهینه سازی برنامه خود با سهولت هستید. از اینجا ، می توانید با تمام ویژگی های مختلف آزمایش کنید تا ببینید که چگونه می توانید به بهترین شکل می توانید برنامه خود را بسازید و پالایش کنید تا از حداکثر استفاده از رونق ابر استفاده کنید.

دنیای سرور بدون در حال تحول و رواج بیشتر در دنیای فناوری است. من به دلیل پیامدهای مداوم و آینده که محاسبات ابری برای شکل دادن به توسعه نرم افزار دارد ، یادگیری و تجربه تجربه با AWS را توصیه می کنم. بنابراین پیش بروید و اولین برنامه بدون سرور خود را راه اندازی کنید و مزایای جادویی ابر را تجربه کنید. به هر حال ، از خواندن متشکرم و دوست دارم نظرات شما را در نظرات زیر بشنوم!

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا