خب توی قسمت اول، یک معرفی کلی از دوره AWS Certified Cloud Practitioner داشتیم و با مفاهیم ابتدایی و اصلی AWS آشنا شدیم. توی این قسمت درباره اهمیت رایانش ابری صحبت کردیم و توضیح دادیم که AWS چطور میتونه به سازمانها کمک کنه تا هزینههاشون رو کاهش بدن و انعطافپذیری بیشتری داشته باشن. همچنین با مفاهیم اصلی مثل Region، Availability Zone، و Edge Location آشنا شدیم و به تفاوتها و کاربردهای هرکدوم اشاره کردیم. در نهایت، نگاهی به خدمات پایهای AWS مثل EC2 و S3 انداختیم و یک دید کلی از امکاناتی که این پلتفرم ارائه میده، ارائه دادیم.
تو این قسمت، به معرفی و بررسی سرویسهای محاسباتی AWS میپردازیم. ابتدا با مفاهیم Compute و EC2 آشنا میشیم، انواع نمونههای EC2 و load Balancer رو بررسی میکنیم و سپس به قابلیت Auto Scaling میپردازیم. در ادامه، کانتینرها و سرویسهای مرتبط مثل ECR، ECS و EKS رو توضیح میدیم و تفاوتهای اونها رو مرور میکنیم. بعد به سرویسهای Serverless مثل Lambda و Fargate میرسیم و کاربردها و قیمتگذاری هرکدوم رو بررسی میکنیم. در نهایت، سرویسهای پیشرفتهتر AWS مثل Outposts، Lightsail، Batch و Wavelength رو معرفی میکنیم که هرکدوم برای نیازهای خاصی طراحی شدن و به بهینهسازی منابع کمک میکنن.
میتونیم بگیم Compute به مفهوم خدمات و تکنولوژیهایی اشاره داره که برای پردازش اطلاعات و اجرای محاسبات سنگین طراحی شدن. این مفهوم شامل استفاده از واحدهای پردازش مختلف مثل CPU (واحد پردازش مرکزی) و GPU (واحد پردازش گرافیکی) میشه که وظیفهی اجرای عملیات و پردازش دادهها رو بر عهده دارن. هر وقت این مخففها رو دیدید، بدونید که دارید وارد دنیای Compute میشید، جایی که همهچیز دربارهی سرعت، قدرت پردازش و کارایی هست!
یه مثال ساده از محاسبات: رستوران پیتزا!
فرض کنید توی رستورانی به اسم World Pizza نشستید. گارسونی که سفارش شما رو میگیره، اون رو به آشپزخونه میبره و بعد پیتزای خوشمزه رو برمیگردونه به میز شما، دقیقاً مثل یک سرور کار میکنه. وظیفه سرور اینه که درخواستها رو مدیریت کنه و در نهایت پاسخ مناسبی ارائه بده. گارسون مثل یه سرور توی دنیای محاسبات، سفارشها (درخواستها) رو میگیره، اونها رو به بخش پردازش (آشپزخونه) میبره و بعد نتیجه رو به شما تحویل میده. همین مفهوم ساده، کمک میکنه تا درک بهتری از نحوه عملکرد سرورها و نقش اونها در پردازش داشته باشیم.
یکی از مهمترین اصطلاحات در دنیای محاسبات ابری AWS، چیزی به اسم EC2 هست، که مخفف "Elastic Cloud Compute" به معنی "محاسبات ابری انعطافپذیر" هست. واژه "Elastic" به این اشاره داره که این سرویس میتونه بسته به نیازهای شما، گسترش پیدا کنه یا کوچیک بشه؛ درست مثل خمیر پیتزا که باهاش اندازههای مختلفی درست میکنید!
فرض کنید اپلیکیشنی دارید که بعضی وقتها ترافیک سنگینتری داره. توی این شرایط، EC2 به شما این امکان رو میده که تعداد و ظرفیت سرورهای مجازیتون رو افزایش بدید تا بتونید فشار رو مدیریت کنید. بعد از اینکه بار کاری کاهش پیدا کرد، میتونید بهراحتی تعداد سرورها رو کم کنید تا هم در هزینهها صرفهجویی بشه و هم به اهداف پایداریتون برسید.
در واقع EC2 در اصل سرورهای مجازیای هست که توی فضای ابری اجرا میشه. هر نمونه EC2 که شما راهاندازی میکنید، روی یک سرور فیزیکی توی یه مرکز داده (datacenter) قرار داره که اون هم داخل یه Availability Zone یا AZ هست، و همه اینها در منطقهای که شما انتخاب کردید، مدیریت میشن.
میتونیم بگیم EC2 یکی از سرویسهای اصلی AWS هست که بهتون اجازه میده نمونههای مجازی (virtual instances) خودتون رو مدیریت کنید. با این سرویس میتونید با چند کلیک ساده، سرورهای مجازی رو از طریق یک قالب آماده که بهش AMI (Amazon Machine Image) میگن، ایجاد کنید. این AMI شامل اطلاعات مهمی از جمله سیستمعامل مورد استفاده و تنظیمات پایهای دیگه هست.
حتی میتونید برنامههای خودتون رو مستقیماً روی این نمونههای EC2 پیادهسازی کنید و با استفاده از چندین AZ، اپلیکیشنهایی با دسترسپذیری بالا داشته باشید. همچنین اگر بخواید کنترل کاملی روی پایگاه دادهتون داشته باشید، میتونید از EC2 بهعنوان دیتابیس استفاده کنید..
سرورهای EC2 شش خانواده از نمونهها رو ارائه میده که هر کدوم برای نیازهای خاصی طراحی شدن. این خانوادهها شامل انواع، نسلها و اندازههای مختلفی هستن که در مجموع صدها گزینه مختلف برای انتخاب وجود داره. حالا بیاید نگاهی به این خانوادهها بندازیم:
حالا بریم سراغ بحث قیمتگذاری نمونههای EC2. AWS چندین مدل مختلف قیمتگذاری ارائه میده که بسته به نیازتون میتونید یکی رو انتخاب کنید:
قابلیت Auto Scaling در EC2 بهطور خودکار نمونههای EC2 رو بر اساس تغییرات تقاضا و نیاز، اضافه یا جایگزین میکنه تا همیشه بهترین کارایی و دسترسپذیری رو داشته باشید. این ویژگی به شما کمک میکنه که با تغییر شرایط و نیازهای اپلیکیشن، بدون دخالت دستی، به تعداد مناسبی از منابع برسید.
کاربرد:
با استفاده از Auto Scaling، میتونید اپلیکیشنهاتون رو بهصورت خودکار با تغییرات تقاضا تطبیق بدید و از پرداخت هزینههای اضافی جلوگیری کنید. این قابلیت بهویژه برای اپلیکیشنهایی که در زمانهای خاصی از روز یا هفته بار کاری متغیری دارن، ایدهآل هست.
این امکان باعث میشه که شما همیشه بهینهترین استفاده رو از منابع داشته باشید و کاربرانتون تجربهی بهتری از سرویسها دریافت کنن.
حالا بریم سراغ قابلیت Compute Optimizer. این سرویس به شما کمک میکنه تا تنظیمات مناسب برای منابع مختلف مثل اینستنسها، حجمها، کانتینرها، یا تابعهای Lambda رو بر اساس دادههای واقعی مصرف انتخاب کنید. نکته باحال اینجاست که Compute Optimizer پیشنهادهایی ارائه میده تا بتونید عملکرد سیستمهاتون رو بهتر کنید و منابعی رو که بیش از حد نیاز یا کمتر از اون پیکربندی شدن، شناسایی کنید.
این سرویس به کمک دادههای تاریخی و هر متریکی که از ابزارهای نظارتی (مثل CloudWatch) جمعآوری شده، میتونه توصیههایی دقیقتر برای گروههای Auto Scaling و اینستنسها ارائه بده. به این ترتیب، شما میتونید منابع خودتون رو دقیقتر تنظیم کنید و جلوی هدر رفتن منابع و هزینهها رو بگیرید.
جالبتر اینکه، Compute Optimizer میتونه توی مهاجرت به پردازندههای Graviton هم کمکتون کنه. این پردازندهها همونهایی هستن که AWS طراحی کرده تا هم هزینهها رو پایین بیاره و هم عملکرد بهتری ارائه بده. پس اگه به فکر کاهش هزینه و افزایش کارایی هستید، این سرویس حتماً میتونه کمک بزرگی باشه.
بهطور خلاصه، Compute Optimizer همون ابزاریه که میتونید ازش برای بهینهسازی منابع استفاده کنید، از بهبود عملکرد گرفته تا صرفهجویی در هزینهها و انتخاب بهترین سایز منابع بر اساس دادههای واقعی مصرف.
تو این قسمت اول بررسی میکنیم چطور به EC2 متصل بشیم و بعدش یه سناریو داریم اینجا طبق همون میریم جلو و در آخرم میریم سراغ کنسول و باهاش کار میکنیم.
چطور به EC2 دسترسی داشته باشیم؟
قبل از اینکه وارد سناریومون بشیم، بیایید در مورد روشهای مختلف دسترسی به EC2 صحبت کنیم.
چهار راه اصلی برای این کار وجود داره:
سناریوی ما اینه که یه نمونه EC2 جدید به نام Web App ایجاد کنیم. باید این نمونه رو طوری پیکربندی کنیم که از Amazon Linux AMI استفاده کنه و در محدودهی سطح رایگان (Free Tier) باشه. همچنین یه کلید جدید به نام NewKeyPair ایجاد کنیم و بعد اتصال خودمون رو تست کنیم.
خب، توی کنسول، اولین قدم اینه که یه نمونه EC2 ایجاد کنیم. توی نوار جستجو EC2 رو تایپ میکنیم و انتخابش میکنیم.
خب، حالا از این داشبورد، میتونید از چند طریق به instance ها دسترسی داشته باشید. توی این قسمت گزینه Launch Instance رو میزنیم و اسم این Instance رو Web App میذاریم و باید از Amazon Linux AMI که در محدوده سطح رایگان هست، استفاده کنیم.
ایجاد جفت کلید (Key Pair)
ما نیاز داریم یه جفت کلید جدید ایجاد کنیم، پس اینجا روی گزینه ایجاد کلید کلیک میکنیم و اسمش رو NewKeyPair میذاریم.
وقتی این جفت کلید ایجاد میشه، بهصورت خودکار روی سیستم شما دانلود میشه.
ما برای این دمو به جفت کلید نیازی نداریم چون داریم از Instance Connect استفاده میکنیم، ولی بدونید که این تنها باریه که میتونید این جفت کلید رو ایجاد کنید.
تنظیمات شبکه (Network Settings)
معمولاً شما میخواید دسترسی به Instance تون رو فقط از IPهای مشخصی باز کنید، ولی ما اینجا گزینه Anywhere رو انتخاب میکنیم تا بتونیم از طریق Instance Connect متصل بشیم.
ذخیرهسازی (Storage)
قسمت ذخیرهسازی هم همونطور که هست بدون تغییر میزاریم. اگه بخوایم یه نمونه بزرگتر یا فضای ذخیرهسازی بیشتری اضافه کنیم، اینجا جاییه که میتونیم این کار رو انجام بدیم.
بیایید به قسمت تنظیمات پیشرفته (Advanced Details) بریم.
اگه میخواستید برای این نوع نمونه از spot instances استفاده کنید، میتونید از اینجا انتخاب کنید.
گزینههای زیادی توی این قسمت هستن که میتونید انتخاب کنید، ولی ما برای این دمو نیازی به انجام این کار نداریم، پس فقط میریم و نمونهمون رو اجرا میکنیم.
حالا بریم سراغ قسمت نمونهها تا وضعیتش رو ببینیم. در اول توی وضعیت pending هست.ممکنه چند دقیقه طول بکشه تا به وضعیت فعال (running) برسه.
خب، تا الان instance ما اجرا شده و از چکهای وضعیت (status checks) عبور کرده.
حالا Instance رو انتخاب می کنیم و بهش وصل میشیم.ما همه چیز رو همینطوری میذاریم و از Instance Connect استفاده میکنیم تا متصل بشیم.
خب، متصل شدیم و الان توی Instance هستیم. و یه بررسی میکنیم مثلا لیست فایلها رو میبینیم.
خب، بذارید کانتینرها رو مثل یه سری جعبههای پیتزا تصور کنیم! هر جعبه، یه اپلیکیشن یا سرویس جداگانه رو توی خودش داره. حالا، همونطور که جعبههای پیتزا رو میتونید روی هم بچینید و هرکدوم مستقل باقی بمونه، شما هم میتونید کانتینرها رو روی یه سرور یا حتی چند سرور مختلف قرار بدید و هر کدوم بهطور مجزا کار کنه. این کار باعث میشه هم سازماندهی و جداسازی بهتری داشته باشید و هم امنیت بالاتر بره.
مزایای کانتینرها:
کی باید از کانتینرها استفاده کنیم؟
جمعبندی: کانتینرها ابزاری هستن که به شما این امکان رو میدن تا اپلیکیشنهاتون رو سازماندهی کنید، منابع رو بهینه مصرف کنید و حتی چرخه توسعه رو سریعتر کنید. با کانتینرها، هم ثبات بیشتری دارید و هم میتونید بهراحتی از قابلیتهای ابری بهرهمند بشید. 🌟
خب AWS سه سرویس اصلی برای مدیریت کانتینرها داره که شامل: Elastic Container Registry (ECR)، Elastic Container Service (ECS)، و Elastic Kubernetes Service (EKS) میشن. این سرویسها به شما کمک میکنن تا به راحتی کانتینرها رو ذخیره، مدیریت و مستقر کنید.
حالا بیایید نگاهی بندازیم به این سرویسها:
1. Elastic Container Registry (ECR)
تصور کنید ECR مثل یک "مخزن دستورپختها" یا همون "ریسپی" برای کانتینرهاست. این سرویس در واقع به شما اجازه میده تا تصاویر کانتینر (Images) خودتون رو ذخیره، مدیریت و با اعضای تیم به اشتراک بذارید. برای مثال، فرض کنید شما چندین نسخه از اپلیکیشنتون رو دارید؛ ECR به شما کمک میکنه تا این نسخهها رو ذخیره کنید و همیشه به آخرین نسخهها دسترسی داشته باشید. با استفاده از ECR، اعضای تیم به راحتی میتونن به این تصاویر دسترسی پیدا کنن و توی پروژههای مختلف از اونها استفاده کنن.
2. Elastic Container Service (ECS)
مورد بعدی ECS هست ، که یک سرویس مدیریت کانتینر کاملاً مدیریتشده است که برای تیمهایی که با Docker کار میکنن خیلی مناسبه. میتونید ECS رو مثل سرآشپزی تصور کنید که از دستورپختهای موجود در ECR استفاده میکنه و کانتینرها رو مستقر و مدیریت میکنه. ECS به شما امکان میده تا با استفاده از EC2 یا Fargate، کانتینرهای خودتون رو به راحتی اجرا کنید. برای کسایی که آشنایی بیشتری با Docker دارن و به دنبال یک سرویس سادهتر هستن، ECS انتخاب عالیایه.
3. Elastic Kubernetes Service (EKS)
در واقع EKS، سرویس دیگهای از AWS هست که به شما اجازه میده تا با استفاده از Kubernetes، کانتینرهای خودتون رو مدیریت کنید. EKS مثل یک سرآشپز متخصص در زمینه Kubernetes عمل میکنه. اگه تیم شما بیشتر با Kubernetes راحتتره، EKS بهترین انتخابه. این سرویس به شما اجازه میده تا از ابزارها و قابلیتهای Kubernetes مثل Podها، Serviceها و Ingress استفاده کنید. EKS با EC2، Fargate و حتی Outposts کار میکنه و انعطافپذیری بیشتری رو در اختیارتون میذاره.
تفاوتهای ECS و EKS
بزرگترین تفاوت بین ECS و EKS اینه که ECS از Docker پشتیبانی میکنه و در واقع به عنوان یک سرویس مدیریت کانتینر کاملاً سازگار با Docker عمل میکنه. EKS اما، برای کار با Kubernetes طراحی شده که یک سیستم منبعباز برای مدیریت کانتینرهاست. بنابراین، انتخاب شما بین این دو سرویس به نوع معماری، تخصص تیم، و نیازمندیهای شما بستگی داره.
خلاصهی مقایسه:
خب، حالا یه سوال براتون دارم. اگه به مدیریت و استقرار کانتینرها با Docker عادت دارید و نمیخواید وارد مباحث پیچیدهی Kubernetes بشید، کدوم سرویس AWS رو انتخاب میکنید؟ ECS درسته! اما اگه قصد دارید از ابزارها و قابلیتهای منبعباز Kubernetes استفاده کنید، EKS بهترین گزینه است.
مفهوم Serverless چیه؟ Serverless، در واقع نوعی مدل Cloud Native برای توسعه و استقرار اپلیکیشنهاست. ایدهی اصلی این مدل اینه که شما بهعنوان توسعهدهنده نیازی به مدیریت مستقیم سرورها ندارید. در واقع سرورها همچنان وجود دارن، اما AWS اونها رو مدیریت میکنه و شما فقط روی کد و منطق تجاری اپلیکیشنهاتون تمرکز میکنید.
این مدل به شما این امکان رو میده که دیگه دغدغهی مدیریت، بهروزرسانی، یا نظارت مستقیم بر روی سرورها رو نداشته باشید. شما فقط فانکشنها و سرویسهای خودتون رو تعریف میکنید و باقی کارها رو AWS بهطور خودکار برای شما انجام میده. در نتیجه، مسئولیت مدیریت زیرساختها از روی دوش شما برداشته میشه و میتونید زمان بیشتری رو برای توسعه و بهبود اپلیکیشنهاتون صرف کنید.
حالا بیاین نگاهی به بعضی از سرویسهای Serverless بندازیم.
لامبدا Lambda یک سرویس محاسباتی Serverless هست که به شما اجازه میده کدتون رو بدون مدیریت سرورها اجرا کنید. کدی که مینویسید بهعنوان یک فانکشن شناخته میشه و میتونه با زبانهای مختلفی مثل Python، Rust، و Ruby نوشته بشه. یکی از ویژگیهای خوب Lambda اینه که بهصورت خودکار مقیاسپذیری داره.
چه زمانی باید از Lambda استفاده کنید؟
فارگیت Fargate یک موتور محاسباتی با قابلیت پرداخت بهازای استفاده (Pay-as-You-Go) و مقیاسپذیری خودکار هست. برای استفاده از اون، شما یک image کانتینری میسازید یا انتخاب میکنید و منابع حافظه و محاسباتی مورد نیازتون رو مشخص میکنید. سپس، کانتینرهایی که با استفاده از image و منابع تعریفشده اجرا شدن رو مدیریت میکنید.
ویژگیهای Fargate
چه زمانی باید از Fargate استفاده کنید؟
شما فقط مسئول کدی هستین که مینویسین و امنیتش، در حالی که AWS مدیریت محیط کدنویسی و نسخههای پشتیبانی شده از زبانها رو بر عهده داره. لامبدا Lambda میتونه کد شما رو در پاسخ به رویدادها اجرا کنه و یک زمانبندی حداکثری ۱۵ دقیقهای داره. مقدار پیشفرض این زمانبندی ۳ ثانیهست، اما شما میتونید این مقدار رو برای فانکشن خودتون تغییر بدین.
در مورد قیمتگذاری Lambda، شما براساس تعداد درخواستها و مدتزمان (duration) شارژ میشین. شما فقط برای زمانی که از محاسبات استفاده میشه هزینه پرداخت میکنید و شارژ زمانی شروع میشه که فانکشن تریگر میشه. این شامل تستها هم میشه، بنابراین اگه کد در واقع اجرا نشه، هیچ هزینهای نداره. مدتزمان اجرای فانکشن به نزدیکترین میلیثانیه گرد میشه.
نکتهی جالب در مورد قیمتگذاری Lambda اینه که حتی بعد از پایان سال رایگان، Lambda همچنان در طرح Always Free قرار داره و شامل یک میلیون درخواست رایگان در ماه میشه.
خب، برسیم به Fargate. این سرویس هم مثل Lambda هیچ هزینهی اولیهای نداره. شما فقط به اندازهای که از منابع استفاده میکنین، مثل تعداد vCPUها، مقدار حافظه و فضای ذخیرهسازی، هزینه پرداخت میکنین. اما برخلاف Lambda، Fargate هیچ طرح رایگانی نداره، پس این نکته رو باید تو برنامهریزی هزینههاتون در نظر بگیرین.
فارگیت Fargate به شما امکان میده که کانتینرها رو بدون نیاز به مدیریت مستقیم سرورها اجرا کنین و به راحتی اونها رو مقیاسپذیر کنین. البته این سادگی مدیریت، هزینهای داره که بر اساس منابع محاسباتی مصرفی محاسبه میشه
سناریو: ارائهی آموزش Lambda به تیم
به شما وظیفه داده شده تا یک راهنمای عملی از سرویس Lambda برای تیمتون ارائه بدین. شما باید یک فانکشن بسازید و به نکات مهم در طول مسیر اشاره کنید. خب بریم قدم به قدم اینو انجام بدیم.
ورود به کنسول AWS
اولین کاری که باید بکنیم اینه که وارد کنسول بشیم. میتونید از راههای مختلف به Lambda دسترسی پیدا کنید. ممکنه در قسمت ویجتها باشه یا تو منوی بالا دیده بشه.
ایجاد فانکشن جدید
میخوایم از اول فانکشن رو بسازیم، پس گزینه Author from scratch رو انتخاب میکنیم. اسم فانکشن رو MyTestFunction میزایم . نسخهی زمان اجرای (runtime) ما همون Node.js باقی میمونه و معماری رو هم تغییر نمیدیم.
بعد، گزینهی change default execution role رو انتخاب میکنیم. اینجا اگه بخوایم رولهای خاصی رو برای استفاده با سرویسهای مختلف مشخص کنیم، میتونیم این کار رو انجام بدیم. اما توی این سناریو نیازی به این کار نداریم
و در آخر هم قسمت Additional Configurations هست که میتونیم امضا کردن کد (code signing)، URLهای فانکشن، تگها و VPC رو فعال کنیم، اما الان بهشون نیازی نداریم، پس این بخش رو هم میبندیم و فانکشن خودمون رو ایجاد میکنیم.
خب فانکشن ما با موفقیت ساخته شد. اینجا میبینیم که بخش Overview فانکشن به ما اجازه میده که یک تریگر اضافه کنیم و یک مقصد (destination) تعیین کنیم.
ویرایش کد
پایینتر به بخش code source میرسیم و یک فایل به نام index.mjs میبینیم. اسم این فایل رو تغییر میدیم تا مطمئن بشیم کدمون درست کار میکنه. پس اونM رو حذف میکنیم و اسم رو به index.js تغییر میدیم.
حالا محتوای فعلی رو با کد نمونهای زیر جایگزین میکنیم. این فانکشن قراره به یک URL مشخص متصل بشه. اگه اتصال موفقیتآمیز باشه، یک کد وضعیت (status code) 200 دریافت میکنیم.
const https = require('https'); let url = "https://www.amazon.com" // Change this to your desired URL exports.handler = async (event) => { return new Promise((resolve, reject) => { https.get(url, (res) => { if (res.statusCode === 200) { resolve({ statusCode: 200, body: "Success! Received 200 status code." }); } else { resolve({ statusCode: res.statusCode, body: `Received status code: ${res.statusCode}` }); } }).on('error', (e) => { reject({ statusCode: 500, body: `Request failed: ${e.message}` }); }); }); };
ایجاد و اجرای تست
برای اینکه بتونیم فانکشن رو تست کنیم، اول باید یک test event ایجاد کنیم. پس به بخش تست میریم، اسم این تست رو MyTest میذاریم و باقی موارد رو بدون تغییر باقی میذاریم چون نیازی به ارسال اطلاعات نداریم. حالا این رو ذخیره میکنیم و فانکشن رو مستقر میکنیم.
تست موفقیتآمیز فانکشن
خب فانکشن ما بهروزرسانی شد و حالا میتونیم اون رو تست کنیم. همونطور که انتظار داشتیم، کد وضعیت 200 رو دریافت کردیم.
بررسی لاگها و گزارشها
پایینتر در بخش "function logs" میبینیم که فانکشن چه زمانی شروع و چه زمانی پایان یافته. اما نکتهی مهمی که باید بهش توجه کنیم، گزارش مربوط به مدتزمان (duration) فانکشن هست. اینجا مدتزمان فانکشن ما 76.33 میلیثانیه بوده و طبق گرد کردن، قراره برای 77 میلیثانیه شارژ بشیم. این گزارش همچنین اندازهی حافظه و اطلاعات دیگر مربوط به مدتزمان رو هم شامل میشه.
خب تو این قسمت میخوایم چهار تا از سرویسهای محاسباتی AWS یعنی Outposts، Lightsail، Batch و Wavelength رو با هم بررسی کنیم. هر کدوم از این سرویسها، ویژگیهای منحصربهفرد و کاربردهای خاص خودشون رو دارن که در این بخش باهاشون آشنا میشیم.
سرویس Outposts به شما اجازه میده تا از سرویسهای ابری AWS در مراکز داده داخلی خودتون استفاده کنین. این سرویس بیشتر برای سازمانهایی مناسبه که باید بارهای کاری خودشون رو به دلیل نیاز به تأخیر پایین یا الزامات حاکمیت داده در محلهای داخلی نگهداری کنن.
حاکمیت دادهها به این معناست که اطلاعات و دادهها باید در یک مکان مشخص باقی بمونن، مثلاً به دلیل قوانین یا امنیت. Outposts به شرکتها این امکان رو میده تا به صورت هیبریدی، بین محیطهای ابری و داخلی، کارهاشون رو مدیریت کنن.
خانواده Outposts
سرویس Outposts در دو نوع Rack و Servers ارائه میشه. AWS این سختافزارها رو بسته به نیاز شما به مراکز دادهی داخلیتون ارسال و نصب میکنه، تا شما بتونید به سرویسها و APIهای ابری AWS دسترسی داشته باشید.
سرویس Lightsail برخلاف Outposts، یک سرویس ابری کاملاً مدیریتشدهست که به شما اجازه میده تا پروژههای کوچک مثل وبسایتهای WordPress یا محیطهای تست ساده رو راهاندازی کنید. این سرویس یک رابط کاربری ساده و گزینههای قابل پیشبینی قیمتگذاری داره.
ویژگیهای Lightsail
سرویس Lightsail یک سرویس عالی برای تازهکارها یا پروژههای کوچک و سریعالرشد هست. شما از طریق یک رابط کاربری ساده به منابعی مثل سرورهای مجازی، حافظه SSD، مدیریت DNS و دسترسی RDP/SSH دسترسی دارین. این سرویس همونطور که اشاره شد، با قیمتگذاری ساده و شفاف ارائه میشه که هزینههای ماهانه رو بهراحتی پیشبینیپذیر میکنه.
سرویس Batch یک سرویس مدیریت دستهای AWS هست که به شما اجازه میده تا بارهای کاری بزرگ رو به بخشهای کوچیکتر تقسیم کنید. این سرویس برای کارهای طولانیمدت که نیازمند پردازشهای تکراری هستن، ایدهآله. Batch به صورت خودکار منابع محاسباتی مثل اینستنسها رو براساس حجم کاری تأمین میکنه.
مثال از Batch
فرض کنید باید یک خبرنامه ماهانه برای ۵۰,۰۰۰ مشترک ارسال کنین. AWS Batch میتونه این خبرنامهها رو به دستههای هزار تایی تقسیم کنه تا کار ارسال سادهتر و بهینهتر انجام بشه.
سرویس Wavelength یکی از سرویسهای جالب AWS هست که امکان اجرای اپلیکیشنهایی با تأخیر بسیار پایین رو فراهم میکنه. این سرویس بهطور خاص برای کاربرانی طراحی شده که از شبکه 5G استفاده میکنن و نیاز به دسترسی سریع به اپلیکیشنها دارن.
ویژگیهای Wavelength
سرویس Wavelength از بخشهای مختلفی مثل zones و subnets تشکیل شده که به توسعهدهندگان کمک میکنه تا اپلیکیشنهایی با تأخیر کم برای شبکههای موبایل ایجاد کنن. این سرویس برای اپلیکیشنهایی که نیازمند زمان پاسخ سریع در شبکههای 5G هستن، گزینه مناسبیه.
تو این مقاله سعی کردم به صورت جامع و ساده، مفاهیم و سرویسهای مختلف AWS رو معرفی کنم. امیدوارم که با این توضیحات، درک بهتری از خدمات ابری AWS و کاربردهای متنوع اونها پیدا کرده باشین. نکته مهمی که هست AWS همیشه در حال بهروزرسانی و ارائه خدمات جدید هست، پس همیشه از آخرین اخبار و تغییرات مطلع باشین. اگر سوالی داشتین یا بخشی از این مقاله نیاز به توضیحات بیشتر داشت، بپرسید در حد توانم جواب میدم. موفق باشید و در دنیای ابری بدرخشید! 🌟
قسمت اول AWS Certified Cloud Practitioner : آشنایی با مفاهیم ابتدایی AWS Cloud
قسمت دوم AWS Certified Cloud Practitioner : خدمات مبتنی بر Compute
قسمت سوم AWS Certified Cloud Practitioner: فناوری و خدمات ذخیرهسازی مثل S3
قسمت چهارم AWS Certified Cloud Practitioner: خدمات شبکه و Content Delivery
قسمت پنجم AWS Certified Cloud Practitioner : آشنایی با انواع دیتابیس در AWS
و در آخر این آدرس لینکدین و توئیتر من هست خوشحال میشم در ارتباط باشیم.
🪩 Follow Linkedin Hossein Jafari🪩
🕊 Twitter 🕊