آمازون وب سرویسز (AWS) چیست و چه کاربردی دارد؟

معرفی

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

برای نمونه، یک تیم می‌تواند ماشین مجازی را با EC2 اجرا کند، فایل‌ها را در S3 نگه دارد، دسترسی کاربران و سرویس‌ها را با IAM و ابزارهای هویتی مرتبط کنترل کند و شاخص‌ها، لاگ‌ها و هشدارها را در CloudWatch ببیند. AWS یک محصول واحد نیست؛ مجموعه بزرگی از سرویس‌هاست و یادگیری آن بیشتر به معنای انتخاب درست سرویس، تنظیم امن آن و کنترل هزینه است.

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

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

AWS چه زمانی انتخاب مناسبی است؟

AWS برای تیمی مناسب‌تر است که به سرویس‌های مدیریت‌شده متنوع، مقیاس‌پذیری، APIهای گسترده و کنترل جزئی منابع نیاز دارد و می‌تواند هزینه، منطقه اجرا و دسترسی حساب را مدیریت کند. این انتخاب برای ساخت محیط آزمایشی، اجرای API، پردازش داده یا سامانه‌ای با اجزای متعدد مفید است. البته، به‌شرط آنکه مالکیت هزینه و امنیت هر منبع مشخص باشد.

اگر سازمان از محصولات Microsoft مانند Active Directory و .NET استفاده می‌کند، Azure ممکن است یکپارچگی عملیاتی ساده‌تری فراهم کند. Google Cloud برای تیمی که سرویس‌های داده و تحلیل آن را از پیش انتخاب کرده است، گزینه قابل‌بررسی است. ابر آروان می‌تواند برای نیازهایی با تمرکز بر خدمات و پرداخت داخلی بررسی شود. OpenStack زمانی منطقی‌تر است که سازمان زیرساخت خودمیزبان، کنترل کامل‌تر بر سخت‌افزار و توان عملیاتی نگهداری ابر خصوصی را داشته باشد.

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

این ابزار را با نام‌های دیگری نیز می‌شناسند:

  • سرویس‌های وب آمازون
  • ای‌دبلیو‌اس
  • AWS

ویژگی‌های کلیدی

موارد زیر تصویری کلی از این بخش برای این ابزار ارائه می‌کنند.

  • مجموعه گسترده سرویس‌های مدیریت‌شده

    AWS از ماشین مجازی و ذخیره‌سازی شیء تا پایگاه داده، پیام‌رسانی، کانتینر و تحلیل داده را پوشش می‌دهد. این تنوع به تیم اجازه می‌دهد اجزای سامانه را متناسب با نیاز انتخاب کند.

  • زیرساخت محاسبات و مقیاس‌پذیری

    با سرویس‌هایی مانند EC2، Lambda و Auto Scaling می‌توان بارهای کاری دائمی، رویدادمحور یا متغیر را اجرا کرد و ظرفیت را متناسب با معماری و تقاضا تغییر داد.

  • شبکه‌سازی با VPC

    Amazon VPC امکان ایجاد یک شبکه مجازی ایزوله منطقی را فراهم می‌کند. می‌توان محدوده IP، Subnet، Route Table، Gateway و Security Groupها را متناسب با معماری شبکه تنظیم کرد.

  • مدیریت هویت و دسترسی

    IAM برای تعریف Roleها و Policyهای دسترسی به منابع AWS کاربرد دارد. برای دسترسی نیروی انسانی، به‌ویژه در محیط‌های دارای چند حساب AWS، استفاده از IAM Identity Center و اعتبارنامه‌های موقت توصیه می‌شود. اصل Least Privilege نیز باید در طراحی دسترسی‌ها رعایت شود.

  • پایش، ثبت رخداد و ممیزی

    CloudWatch برای جمع‌آوری و بررسی Metrics، Logs، Traceها و تعریف Alarm کاربرد دارد. CloudTrail نیز فعالیت‌های انجام‌شده در حساب AWS را به‌صورت Event ثبت می‌کند و برای ممیزی، بررسی تغییرات و تحلیل رخدادهای امنیتی مفید است.

  • مدیریت زیرساخت از طریق API و کد

    بیشتر منابع AWS را می‌توان از طریق API، AWS CLI، SDKها و ابزارهای Infrastructure as Code مدیریت کرد. Terraform یکی از ابزارهای رایج برای تعریف و نسخه‌بندی زیرساخت است، اما خود AWS ابزارهای بومی Infrastructure as Code نیز دارد.

  • اتصال به ابزارهای پایش عملیاتی

    علاوه بر CloudWatch، تیم‌ها می‌توانند داده‌های پایش بارهای کاری AWS را با ابزارهای دیگری مانند Prometheus و Grafana جمع‌آوری و نمایش دهند. انتخاب ابزار به سرویس، معماری و سامانه مشاهده‌پذیری تیم بستگی دارد.

کاربردها

در ادامه، مهم‌ترین موارد این بخش به تفکیک معرفی شده‌اند.

  • استقرار بک‌اند و API

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

  • میزبانی فایل و محتوای استاتیک

    S3 برای نگهداری فایل‌های آپلودی، نسخه‌های پشتیبان و فایل‌های استاتیک مناسب است. معمولاً باید سیاست دسترسی، چرخه عمر فایل و هزینه انتقال داده را از ابتدا طراحی کرد.

  • ساخت محیط آزمایشی و توسعه

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

  • اجرای پردازش‌های داده و یادگیری ماشین

    تیم‌های داده می‌توانند داده را ذخیره، پردازش و برای تحلیل یا آموزش مدل آماده کنند. انتخاب سرویس به حجم داده، الگوی پردازش، نیازهای امنیتی و بودجه وابسته است.

  • پایش و پاسخ به رخدادهای عملیاتی

    با جمع‌آوری لاگ، تعریف هشدار و ثبت فعالیت‌های مدیریتی، تیم می‌تواند افت عملکرد، خطای سرویس یا تغییرات مشکوک در پیکربندی را سریع‌تر بررسی کند.

  • انتخاب میان ابر عمومی و زیرساخت خودمیزبان

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

ابزارهای جایگزین

اگر این ابزار پاسخگوی نیاز شما نبود، گزینه‌های زیر را بررسی کنید.

پرسش‌های رایج درباره آمازون وب سرویسز (AWS)

اگر درباره این ابزار پرسشی دارید، ممکن است پاسخ آن را در میان موارد زیر پیدا کنید.

آیا برای یادگیری AWS باید برنامه‌نویس باشم؟

خیر. برای شروع، مفاهیم لینوکس، شبکه، امنیت و خط فرمان اهمیت زیادی دارند. با این حال، برنامه‌نویسی یا اسکریپت‌نویسی برای خودکارسازی، کار با API و مدیریت زیرساخت به‌عنوان کد مزیت مهمی است.

از کدام سرویس‌های AWS شروع کنم؟

با یک تمرین محدود شروع کنید: در یک VPC، یک زیرشبکه و گروه امنیتی بسازید، یک EC2 کوچک اجرا کنید، برای آن نقش IAM با حداقل مجوز تعریف کنید، لاگ یا شاخص آن را در CloudWatch ببینید و سپس همه منابع را حذف کنید. پایان تمرین زمانی است که بتوانید فهرست منابع و هزینه را بررسی و محیط را بدون منبع باقی‌مانده پاک‌سازی کنید. برای فردی با آشنایی پایه با لینوکس و شبکه، این مسیر پایه معمولاً با ۶ تا ۸ ساعت مطالعه و تمرین در هفته، حدود ۴ تا ۶ هفته زمان می‌گیرد.

آیا AWS کاملاً رایگان است؟

خیر. AWS مدل قیمت‌گذاری مصرفی دارد و برخی سرویس‌ها یا سقف‌های مصرف در برنامه Free Tier قرار می‌گیرند. پیش از ساخت منبع، قیمت، منطقه، هزینه انتقال داده و تنظیمات هشدار بودجه را بررسی کنید؛ منابع فراموش‌شده هم می‌توانند هزینه ایجاد کنند.

برای تمرین AWS چگونه از هزینه ناخواسته جلوگیری کنم؟

منابع تمرینی را کوچک و موقت انتخاب کنید، AWS Budgets را برای بودجه و هشدار هزینه تنظیم کنید، پس از پایان تمرین ماشین‌ها، دیسک‌ها، IPهای عمومی و سایر منابع را حذف کنید و صورتحساب را مرتب بررسی کنید.

آیا یادگیری AWS فقط برای کار با خود AWS مفید است؟

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

آموزش‌های مرتبط در فرادرس

منابع پیشنهادی

برچسب‌ها و کلیدواژه‌ها