حسین جعفری
حسین جعفری
خواندن ۲۲ دقیقه·۲ ماه پیش

قسمت اول AWS Certified Cloud Practitioner : آشنایی با مفاهیم ابتدایی AWS Cloud

مقدمه

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

حالا ممکنه با خودتون بگین: "خب، AWS که به خاطر تحریم‌ها توی ایران قابل استفاده نیست، چرا باید یادش بگیرم؟" جواب ساده‌ست: حتی اگر مستقیم نتونیم از AWS استفاده کنیم، یادگیری این مفاهیم بهمون کمک می‌کنه تا رایانش ابری و سرویس‌های مشابه رو بهتر بفهمیم. این دانش می‌تونه توی کار با پلتفرم‌های دیگه مثل Azure، Google Cloud یا حتی سرویس‌های ابری خصوصی هم به کارمون بیاد.

پس چه بخواین با AWS کار کنین چه نه، این سری مقالات می‌تونه پایه‌ی خوبی براتون بسازه.

خب ببینیم Cloud چیه؟

حتماً شنیدین که همه جا صحبت از اینه که داده‌ها توی "cloud" هستن یا شرکت‌ها دارن به cloud مهاجرت می‌کنن. اما cloud اینجا به اون ابرهای سفید توی آسمون ربطی نداره! بلکه cloud یه مکان واقعی‌ه که در واقع می‌تونه هر جایی روی زمین باشه. cloud یعنی استفاده از سرورهای قدرتمند که می‌تونن توی دیتاسنترهای شما یا یکی دیگه باشن.

یه مثال ساده: فکر کنین شما یه فروشگاه آنلاین پیتزا دارید. وقتی مشتری‌هاتون وارد سایت می‌شن و سفارش پیتزا می‌دن، پشت صحنه داره یه سرور یا شاید حتی چند تا سرور درخواست‌ها رو مدیریت می‌کنن. سرورهای AWS دقیقاً همین کار رو برای شما انجام می‌دن. هزاران سرور در سراسر جهان توی گروه‌هایی به اسم دیتاسنتر (Data Center) قرار دارن. این دیتاسنترها توی کشورهای مختلف پراکنده هستن و هر وقت که لازم باشه، درخواست‌های شما رو مدیریت می‌کنن.

حالا یکی از تکنولوژی‌هایی که AWS برای استفاده بهتر از سرورهاش داره، مجازی‌سازی (Virtualization) هست. مجازی‌سازی مثل اینه که شما یه تیکه نون رو به چند تا تیکه کوچیک‌تر تقسیم کنید. این تیکه‌های کوچیک‌تر توی دنیای سرور همون ماشین‌های مجازی (Virtual Machine یا VM) هستن. هر VM یه سیستم عامل، حافظه، فضای ذخیره‌سازی و دسترسی شبکه مخصوص به خودش رو داره. در واقع مثل اینه که شما یه تیکه نون برای خودتون داشته باشید، ولی بقیه هم بتونن از همون نون استفاده کنن.

مدل‌های استفاده از خدمات ابری

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

  1. مدل On-Demand: این مدل هیچ نیاز به پرداخت پیش‌پرداخت یا تعهدات بلندمدت نداره. شما فقط هر وقت که نیاز داشتید، از منابع استفاده می‌کنید. مثل این می‌مونه که برق‌تون رو فقط وقتی می‌خواهید روشن کنید که نیاز دارید، و هر وقت که استفاده نکنید، هزینه‌ای هم پرداخت نمی‌کنید.
  2. مدل Pay-as-You-Go: این مدل همونطور که از اسمش پیداست، بر اساس مصرف شما هزینه دریافت می‌کنه. دقیقاً مثل قبض برق یا آب، هر چقدر که استفاده کردین، به همون میزان پرداخت می‌کنید. AWS حتی به شما این امکان رو می‌ده که هزینه‌ها رو به صورت ساعتی یا حتی ثانیه‌ای محاسبه کنید!

رایانش ابری (Cloud Computing) چیه؟

حالا که فهمیدیم cloud چیه، باید بدونیم رایانش ابری (Cloud Computing) به چه معناست. رایانش ابری یعنی شما به جای استفاده از سرورهای خودتون، از سرورهای AWS استفاده می‌کنید که توی دیتاسنترهای مختلف قرار دارن. اینجوری نیازی به راه‌اندازی و نگهداری دیتاسنتر خودتون ندارید و AWS همه کارها رو براتون انجام می‌ده.

در واقع AWS یه عالمه خدمات مختلف داره که هر کدوم برای یه کاری به کار می‌رن:

  • خدمات محاسباتی (Compute services): مثل EC2 که به شما امکان راه‌اندازی سرورهای مجازی رو می‌ده.
  • خدمات ذخیره‌سازی (Storage services): مثل S3 که فضایی برای ذخیره داده‌ها فراهم می‌کنه.
  • خدمات شبکه (Networking services): مثل VPC که به شما اجازه می‌ده یه شبکه خصوصی مجازی راه بندازید.
  • خدمات پایگاه داده (Database services): مثل RDS که یه پایگاه داده مدیریتی ارائه می‌ده.
  • ابزارهای توسعه‌دهنده (Developer tools): مثل خانواده Code که ابزارهای مختلف برای توسعه و استقرار برنامه‌ها ارائه می‌ده.
  • خدمات هوش مصنوعی و یادگیری ماشین (AI و ML): مثل Rekognition که سرویس‌های مربوط به تشخیص تصویر و یادگیری ماشین رو فراهم می‌کنه.
  • خدمات امنیتی (Security services): مثل IAM که مدیریت دسترسی‌ها و امنیت حساب‌های کاربری رو بر عهده داره.
  • خدمات قیمت‌گذاری (Pricing services): مثل Pricing Calculator که به شما کمک می‌کنه قیمت‌ها رو محاسبه کنید.

معرفی Cloud Computing و مدل‌های استقرار

مدل های CapEx و OpEx چیه؟

دو تا اصطلاح پرکاربردی که توی دنیای تکنولوژی و به خصوص cloud computing زیاد می‌شنوید، CapEx و OpEx هستن. درک تفاوت بین این دو مدل به شما کمک می‌کنه تا بهتر متوجه بشید که چرا رایانش ابری (Cloud Computing) و استفاده از سرویس‌هایی مثل AWS، به شرکت‌ها و سازمان‌ها کمک می‌کنه که هزینه‌های خودشون رو بهینه‌تر مدیریت کنن.

در محیط‌های سنتی، معمولاً هزینه‌های زیرساختی به شکل CapEx انجام می‌شه، یعنی شما باید هزینه‌های بالایی برای خرید سخت‌افزار و تجهیزات پرداخت کنید و از اون‌ها برای مدت طولانی استفاده کنید. ولی با ورود به دنیای Cloud، مدل هزینه‌ای به سمت OpEx میره که باعث انعطاف‌پذیری بیشتر در هزینه‌ها می‌شه.

  • مدل CapEx یا هزینه‌های سرمایه‌ای (Capital Expenditures)، مربوط به خریدهای پیش پرداختیه که برای دارایی‌های ثابت مثل تجهیزات، املاک، کامپیوترها و نرم‌افزارها انجام می‌دید.
  • مدل OpEx یا هزینه‌های عملیاتی (Operating Expenses)، هزینه‌هایی هستن که برای اجرای عملیات روزمره استفاده می‌شن، مثل حقوق کارکنان، اجاره، بازاریابی و تحقیق و توسعه.

شش مزیت محاسبات ابری (Cloud Computing)

حالا بریم سراغ شش تا مزیتی که محاسبات ابری به شما میده:

  1. شما می‌تونید اپلیکیشن‌هاتون رو توی هر جایی از دنیا با فقط یک کلیک راه‌اندازی کنید و کل محیط‌هاتون رو توی چند دقیقه بالا بیارید.
  2. به جای اینکه دغدغه مدیریت سخت‌افزارها رو داشته باشید، فقط روی توسعه اپلیکیشن‌ها تمرکز می‌کنید، چون مرکز داده‌ای که استفاده می‌کنید متعلق به شما نیست.
  3. به دلیل اینکه AWS به جمع زیادی از مردم سرویس میده، تخفیف‌هایی که از حجم بالا می‌گیرن، به شما منتقل میشه و این باعث میشه قیمت‌های "Pay as You Go" کمتر بشه.
  4. سرویس‌های ارائه شده بهتون کمک می‌کنن سریع‌تر نوآوری کنید و اپلیکیشن‌هاتون رو سریع‌تر به بازار برسونید.
  5. کشسانی یا Elasticity: یعنی ظرفیت شما دقیقا مطابق با تقاضای شما تنظیم میشه.
  6. شما فقط برای چیزی که استفاده می‌کنید هزینه می‌پردازید و نیازی به سرمایه‌گذاری‌های بزرگ برای راه‌اندازی مرکز داده شخصی ندارید.

مزایای محاسبات ابری

حالا بیایم مزایای اصلی cloud computing رو با هم مرور کنیم:

  • مزیت High Availability یا دسترسی بالا: سیستم‌های با دسترسی بالا طراحی شدن که بدون مشکل و بدون قطعی برای مدت طولانی کار کنن. این سیستم‌ها با مدیریت یا کاهش خرابی‌ها از از دست رفتن سرویس جلوگیری می‌کنن.
  • مزیت Elasticity یا کشسانی: نیازی نیست از قبل ظرفیت سرورهاتون رو مشخص کنید. می‌تونید فقط همونقدری که نیاز دارید منابع فراهم کنید و بر اساس تقاضا افزایش یا کاهش بدید.
  • مزیت Agility یا چابکی: همه‌ی سرویس‌هایی که دارید، کمک می‌کنن سریع‌تر نوآوری کنید و سریع‌تر محصول رو به بازار برسونید.
  • مزیت Durability یا پایداری: این به معنای حفاظت بلندمدت از داده‌هاست. داده‌های شما بدون خراب شدن یا فساد باقی می‌مونن.

مدل‌های محاسبات ابری Cloud Computing Models

حالا نوبت به بررسی مدل‌های cloud computing می‌رسه. سه مدل اصلی داریم:

  1. مدل Infrastructure as a Service (IaaS): مثل ساختن چیزی با لگو می‌مونه. اینجا شما واحدهای زیرساختی رو اجاره می‌کنید و هر طور که دوست دارید کنار هم می‌ذارید. مثلا وقتی یه شرکت هاستینگ رو برای میزبانی سایتتون اشتراک می‌گیرید، در حال استفاده از IaaS هستید.
  2. مدل Software as a Service (SaaS): این مدل به شما اجازه میده از یک اپلیکیشن آماده استفاده کنید. مثلا ایمیل‌های شخصی که از طریق مرورگر بهشون دسترسی دارید، نمونه‌ای از SaaS هستن.
  3. مدل Platform as a Service (PaaS): این مدل به توسعه‌دهنده‌ها کمک می‌کنه که بدون نگرانی از زیرساخت، نرم‌افزارهاشون رو با استفاده از ابزارهای تحت وب توسعه بدن. مثلا ابزارهایی که به شما اجازه میدن یه فروشگاه آنلاین بسازید و روی سرورهای یه شرکت دیگه اجرا بشه، PaaS هستن.

مدل‌های استقرار ابری Cloud Deployment Model

حالا بریم سراغ مدل‌های استقرار ابری:

  1. مدل Private Cloud: یعنی منابع شما مثل سرورها و دیتابیس‌ها همگی درون شبکه داخلی یا مرکز داده خصوصی خودتون هستن. این مدل امنیت بیشتری داره چون داده‌ها از فضای عمومی عبور نمی‌کنن.
  2. مدل Public Cloud: مثل AWS، Azure، و GCP. توی این مدل شما هیچ دغدغه‌ای از بابت سخت‌افزار ندارید و همه سخت‌افزارها توسط ارائه‌دهنده‌ی خدمات ابری مدیریت می‌شن.
  3. مدل Hybrid Cloud: این مدل ترکیبی از Private و Public Cloud هست. معمولاً داده‌های حساس به‌صورت محلی نگهداری می‌شن و ارتباط امنی بین Private Cloud و Public Cloud ایجاد میشه. به عنوان مثال، می‌تونید از VPN یا Direct Connect برای اتصال امن بین cloud خصوصی و عمومی استفاده کنید.

بررسی Regions و Availability Zones

AWS Regions

خب، اول از همه بیایم ببینیم این «مناطق» در AWS دقیقا چی هستن. Region در AWS به معنای یک مکان فیزیکی توی جهان واقعیه. AWS مناطق خودش رو بر اساس موقعیت‌های جغرافیایی تقسیم‌بندی می‌کنه و ممکنه هر مکان جغرافیایی شامل چندین منطقه باشه. به عنوان مثال، مناطق اوهایو (Ohio) و ویرجینیای شمالی (North Virginia) هر دو زیر دسته موقعیت جغرافیایی شرق آمریکا (US East) قرار دارن.

در واقع AWS چندین منطقه در سراسر جهان داره و این مناطق کاملاً مستقل و از هم جدا هستن. این یعنی اگر یه اتفاق طبیعی مثل زلزله توی یه منطقه بیفته، مناطق دیگه تحت تأثیر قرار نمی‌گیرن. نکته مهم دیگه اینکه منابع (Resources) و سرویس‌ها توی مناطق مختلف جدا از هم هستن و به طور خودکار در مناطق مختلف تکرار نمی‌شن. برای اینکه یه منبع رو توی چند منطقه داشته باشی، باید اون رو به طور دستی توی هر منطقه‌ای که می‌خوای، تکرار کنی.

Availability Zones

هر منطقه AWS شامل چندین ناحیه در دسترس یا همون AZ (Availability Zone) هست. هر ناحیه در دسترس شامل یه یا چند مرکز داده (Data Center) هست که از هم جدا هستن. AWS دقیقاً نمی‌گه که هر AZ چند تا مرکز داده داره، ولی فرض کنیم که در us-east-1a چهار تا مرکز داده وجود داره، در حالی که در 1b و 1c هر کدوم سه تا و در 1d و 1e هر کدوم دو تا مرکز داده باشن.

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

ویژگی‌های Availability Zones

  • هر ناحیه در دسترس به صورت جداگانه کار می‌کنه و هر کدوم منبع برق و شبکه خاص خودشون رو دارن.
  • نواحی در دسترس از طریق لینک‌های با تأخیر کم به هم وصل هستن.
  • این نواحی قابلیت تحمل خطا دارن، یعنی اگر یکی از نواحی از دسترس خارج بشه، نواحی دیگه همچنان به کار خودشون ادامه می‌دن.
  • نواحی در دسترس به شما اجازه می‌دن تا اپلیکیشن‌هاتون با قابلیت دسترسی بالا (High Availability) اجرا بشه. برای مثال، اگر اپلیکیشنتون روی نواحی 1a، 1b و 1c در حال اجرا باشه و ناحیه 1a از کار بیفته، اپلیکیشن شما هنوز روی نواحی 1b و 1c فعال خواهد بود.

یه کوئیز سریع!

حالا که مطالب رو خوندیم، بیایید یه تست کوچیک بگیریم تا ببینیم چقدر خوب یاد گرفتیم. من یه سناریو می‌گم و شما سه ثانیه وقت دارین تا جواب بدین.

  • سناریو اول: از شما خواسته شده که بررسی کنین آیا اپلیکیشنی که لانچ شده قابلیت تحمل خطا (Fault Tolerant) داره یا نه. بعد از بررسی متوجه می‌شین که اپلیکیشن فقط توی us-east-1a در حال اجراست. آیا این اپلیکیشن Fault Tolerant هست؟

پاسخ: خیر. برای اینکه یه اپلیکیشن Fault Tolerant باشه باید توی چندین ناحیه در دسترس اجرا بشه.

  • سناریو دوم: شما اپلیکیشنی دارین که در چندین ناحیه در دسترس (AZ) در حال اجراست، ولی اپلیکیشن متوقف شده. چه دلیلی می‌تونه باعث این اتفاق شده باشه؟

پاسخ: احتمالاً کل منطقه (Region) از دسترس خارج شده. چون نواحی در دسترس در یک منطقه قرار دارن و اگر اپلیکیشن توی چند ناحیه در دسترس باشه و همه نواحی از کار بیفتن، دلیلش می‌تونه خرابی کل منطقه باشه.

بررسی Edge Locations و Local Zones

اول ببینیم Latency چیه؟

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

Local Zones

خب حالا بریم سراغ Local Zones. Local Zones به کار ما میان که سرویس‌های AWS مثل محاسبات (Compute)، ذخیره‌سازی (Storage)، پایگاه‌داده و سایر سرویس‌ها رو به کاربران نهایی نزدیک‌تر کنن. با این کار، ما می‌تونیم اپلیکیشن‌هایی که نیاز به تأخیر خیلی کم دارن (مثل بازی‌های آنلاین زمان واقعی) رو بهتر اجرا کنیم. همونطور که گفتیم، هرچی Latency کمتر باشه، بهتره. Local Zones یه جورایی مثل یک بخش اضافه از مناطق (Regions) AWS هستن که پهنای باند بالا و ارتباطات امنی بین منابع محلی و منابع داخل منطقه اصلی فراهم می‌کنن.

Edge Locations

Edge Locations به کاهش Latency کمک می‌کنن، اما برای راه‌اندازی منابع استفاده نمی‌شن. کار اصلی‌شون اینه که محتوا رو کش (Cache) کنن تا سریع‌تر به کاربر تحویل داده بشه. Edge Locations یکی از قابلیت‌های سرویس CloudFront هستن، که در ادامه دوره و در بخش شبکه و تحویل محتوا (Content Delivery) بیشتر در موردش صحبت می‌کنیم. تعداد Edge Locations معمولاً از مناطق و نواحی در دسترس (AZs) بیشتره. این Edge Locations از شبکه اصلی AWS استفاده می‌کنن و وقتی به مبحث CloudFront رسیدیم، بیشتر در موردشون صحبت می‌کنیم.

یه کوئیز سریع!

بریم سراغ یه کوئیز سریع:

  • سناریو اول: شما موظفید تأخیر کمتر از میلی‌ثانیه (Millisecond Latency) برای آخرین اپلیکیشنی که راه‌اندازی شده فراهم کنین. از چی می‌تونید برای این کار استفاده کنید؟

پاسخ: Local Zones باید استفاده بشه. این نواحی گسترشی از مناطق هستن که تأخیر کمتر از میلی‌ثانیه برای اپلیکیشن‌هایی مثل بازی‌های آنلاین زمان واقعی فراهم می‌کنن.

  • سناریو دوم: شما باید تأخیر یه وب‌سایت رو که توی دو قاره مختلف در دسترسه، کاهش بدین. از چی می‌تونید استفاده کنید؟

پاسخ: از Edge Locations استفاده کنید. به عنوان یکی از قابلیت‌های CloudFront، Edge Locations می‌تونن با کش کردن داده‌ها تأخیر رو کاهش بدن.

معرفی فریم‌ورک‌ها (Frameworks)

فریم‌ورک‌ها در واقع چارچوب‌هایی هستن که به ما کمک می‌کنن تا به صورت ساختاریافته و با اصول درست، از تکنولوژی‌های ابری استفاده کنیم. حالا بیاید ببینیم این فریم‌ورک‌ها دقیقاً چی هستن و چه کاربردی دارن.

فریم‌ورک‌ها چه کاربردی دارند؟

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

اول ببینیم Cloud Adoption Framework چیه؟

در واقع Cloud Adoption Framework (CAF) به عنوان یکی از ابزارهای اصلی AWS به شما کمک می‌کنه تا سازمان خودتون رو برای پذیرش خدمات ابری آماده کنید و عملیات دیجیتالی رو با سرعت بیشتری اجرا کنید. در واقع، این فریم‌ورک به سازمان‌ها کمک می‌کنه تا از خدمات AWS برای ایجاد تحول دیجیتال و افزایش سرعت دستیابی به نتایج کسب‌و‌کار استفاده کنن.

پرسپکتیوها (Perspectives) در Cloud Adoption Framework

در واقع Cloud Adoption Framework شش پرسپکتیو (Perspective) داره که هرکدوم یکی از جنبه‌های کلیدی تحول دیجیتال رو پوشش می‌دن. پرسپکتیوها به شما کمک می‌کنن تا بتونید همه ابعاد مهم یک پروژه تحول دیجیتال رو پوشش بدین و اطمینان پیدا کنید که از تمام منابع و قابلیت‌ها به درستی استفاده می‌شه.

  1. امنیت (Security): در این پرسپکتیو، تمرکز اصلی بر مدیریت امنیت، حاکمیت، حفاظت از داده‌ها، و مدیریت تهدیدات قرار داره. امنیت زیرساخت، مدیریت هویت و دسترسی، مدیریت واکنش به حوادث امنیتی و تشخیص تهدیدات از اجزای کلیدی این بخش هستن.
  2. کسب‌و‌کار (Business): این پرسپکتیو بر استراتژی و نتایج کسب‌وکار تمرکز داره. مدیریت پورتفولیو، نوآوری، علم داده و بینش‌های کسب‌وکار همگی در این بخش بررسی می‌شن. در اینجا به نحوه‌ی استفاده از داده‌ها برای ایجاد ارزش‌های تجاری جدید و بهینه‌سازی استراتژی‌ها پرداخته می‌شه.
  3. پلتفرم (Platform): این بخش به زیرساخت‌ها و اپلیکیشن‌ها مربوط می‌شه. معماری پلتفرم، مهندسی داده و CI/CD (ادغام و تحویل مداوم) در این بخش قرار دارن. همچنین بهینه‌سازی فرآیندهای مدرن توسعه و نحوه‌ی ارائه و اجرای اپلیکیشن‌ها رو هم شامل می‌شه.
  4. عملیات (Operations): تمرکز این پرسپکتیو بر روی موفقیت در تحویل بارکاریه. مدیریت رخدادها، مدیریت پچ‌ها و به‌روزرسانی‌ها، و همچنین مشاهده‌پذیری (Observability) که به شما کمک می‌کنه وضعیت سیستم‌ها و خدمات خودتون رو تحت نظر داشته باشید، در این قسمت پوشش داده می‌شن.
  5. حکمرانی (Governance): این پرسپکتیو روی کاهش ریسک‌های مربوط به تحولات دیجیتال و حداکثر کردن مزایای سازمانی تمرکز داره. مدیریت مالی ابری، مدیریت ریسک‌ها و مدیریت پورتفولیوی اپلیکیشن‌ها در اینجا قرار دارن.
  6. افراد (People): در اینجا، تمرکز بر روی تحول نیروی انسانی و هم‌راستا کردن اون‌ها با اهداف دیجیتالی سازمانه. مباحثی مثل آموزش و تحول نیروی کار، تغییرات فرهنگی و سازمانی هم در این بخش بررسی می‌شن.

دامین Domainهای Cloud Adoption Framework

باید بدونیم Cloud Adoption Framework چهار دامین (Domain) اصلی داره که هرکدوم بخشی از فرآیند تحول دیجیتال رو پوشش می‌دن:

  1. تکنولوژی (Technology): این دومین به مهاجرت به زیرساخت‌های ابری و مدرن‌سازی پلتفرم‌های داده مربوط می‌شه.
  2. تحول فرآیندها (Process Transformation): این دومین به بهینه‌سازی و دیجیتالی‌کردن فرآیندهای کسب‌وکار کمک می‌کنه و با استفاده از پلتفرم‌های جدید داده‌ای و تجزیه‌وتحلیل، کارایی رو افزایش می‌ده.
  3. تحول سازمانی (Organizational Transformation): این بخش به بازتعریف نحوه‌ی کار تیم‌ها و سازمان‌ها برای ایجاد ارزش‌های جدید تمرکز داره.
  4. تحول محصولات (Product Transformation): در این بخش، تمرکز اصلی بر ایجاد محصولات و خدمات جدید و مدل‌های کسب‌وکاری نوآورانه است.

فازهای تحول ابری در Cloud Adoption Framework

فریم‌ورک Cloud Adoption چهار فاز داره که هرکدوم بخشی از فرآیند تحول سازمانی رو پوشش می‌ده:

  1. تصور (Envision): تمرکز اصلی در این فاز بر اینه که نشون بدین چطور می‌شه از ابر برای تسریع نتایج کسب‌وکار استفاده کرد.
  2. هماهنگی (Align): در این فاز شکاف‌های موجود در سازمان شناسایی می‌شن و برنامه‌ریزی لازم برای رفع اون‌ها انجام می‌شه.
  3. راه‌اندازی (Launch): این فاز مربوط به پیاده‌سازی پروژه‌های اولیه و ارزیابی ارزش اون‌هاست.
  4. مقیاس‌دهی (Scale): بعد از موفقیت در فاز راه‌اندازی، در این مرحله پروژه‌ها در مقیاس بزرگ‌تر پیاده‌سازی و بهینه‌سازی می‌شن.

معرفی Well-Architected Framework

خب بریم سراغ Well-Architected Framework که این هم یکی از ابزارهای مهم AWS برای کمک به سازمان‌ها در طراحی و پیاده‌سازی سرویس‌های بهینه و امن هست. این فریم‌ورک از شش ستون (Pillar) اصلی تشکیل شده:

  1. امنیت (Security): این ستون بر محافظت از داده‌ها، سیستم‌ها و منابع شما تمرکز داره.
  2. بهینه‌سازی هزینه‌ها (Cost Optimization): مدیریت هزینه‌ها و استفاده بهینه از منابع ابری.
  3. کارایی عملکرد (Performance Efficiency): استفاده بهینه از منابع برای پاسخگویی به نیازها و کارایی سیستم‌ها.
  4. برتری عملیاتی (Operational Excellence): ایجاد فرآیندهای عملیاتی که باعث بهبود مدیریت بار کاری و خدمات می‌شن.
  5. قابلیت اطمینان (Reliability): طراحی سیستم‌ها و خدمات به‌گونه‌ای که در صورت بروز مشکل، به سرعت بازیابی بشن و از کار نیفتن.
  6. پایداری (Sustainability): این ستون بر کاهش اثرات زیست‌محیطی و بهینه‌سازی مصرف انرژی متمرکزه.

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

آشنایی با کنسول مدیریت AWS و دسترسی به AWS

کنسول مدیریت AWS

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


البته اگر شما تو نقش‌های فنی مثل مهندس یا توسعه‌دهنده هستید، از کنسول می‌تونید برای ایجاد، تغییر یا حذف منابع استفاده کنید. حالا بیاید درباره کاربر root صحبت کنیم.

کاربر Root

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

اولین کاری که بعد از ایجاد حساب AWS باید انجام بدید اینه که برای کاربر root احراز هویت چند عاملی (MFA) رو فعال کنید و سپس یک کاربر جدید یا گروه برای انجام کارهای روزمره در سرویس IAM (مدیریت هویت و دسترسی) ایجاد کنید.

دسترسی به AWS از طریق روش های دیگه

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

یک نکته جالب: بعضی وقت‌ها قابلیت‌های جدید اول توی CLI عرضه می‌شن قبل از اینکه توی کنسول مدیریت در دسترس قرار بگیرن! ولی به طور کلی، اکثر کارهایی که توی کنسول می‌تونید انجام بدید، با CLI هم قابل انجام هست. CLI به شما دسترسی برنامه‌نویسی (Programmatic Access) می‌ده. یعنی از طریق یک ابزار یا اپلیکیشن مثل CLI می‌تونید به منابع AWS دسترسی پیدا کنید.

> aws ec2 describe-instances --filters &quotName=instance-type,Values=t2.micro&quot > i-012e4561 > i-012e345n > echo 'This is an example of a command that lists all of your t2.micro instances.' > This is an example of a command that lists all of your t2.micro instances.

دسترسی Programmatic Access

محیط CLI از یک terminal session برای Programmatic Access استفاده می‌کنه. راه‌های دیگه برای Programmatic Access شامل استفاده از کد برنامه‌نویسی و SDKها (کیت‌های توسعه نرم‌افزار) هست. SDKها می‌تونن با استفاده از زبان‌های برنامه‌نویسی مثل Java، Python، C# و غیره به منابع دسترسی داشته باشن.

کوئیز سریع

حالا بریم سراغ یک سوال سریع. فرض کنید حساب AWS شما هفته گذشته ایجاد شده و شما وارد حساب شدید تا منابعی ایجاد کنید. آیا باید با root user وارد بشید؟

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

بررسی حساب AWS و مدیریت آن

خب، دوستان، متأسفانه به خاطر تحریم‌ها ما در ایران نمی‌تونیم به صورت مستقیم حساب AWS بسازیم. اما نگران نباشید! من اینجا با دسترسی‌هایی که دارم، تمام مراحل ایجاد حساب رو براتون توضیح می‌دم تا درک کاملی از فرآیند داشته باشین.

سناریو: ایجاد حساب AWS

فرض کنید شما مأموریت دارین یک حساب AWS جدید ایجاد کنید. اولین کار اینه که کاربر root رو ایمن کنید و سپس یک کاربر روزمره بسازید تا تیم شما بتونه از اون استفاده کنه.

برای انجام این کار، لازمه که حساب AWS خودتون رو ایجاد کنید. البته این کار در محیط آموزشی (sandbox) ما انجام نمی‌شه، بلکه شما باید خودتون این حساب رو بسازید.

خب، بیاید حساب AWS خودمون رو بسازیم. لینک صفحه ساخت حساب در منابع قرار داره. به گوشه بالا سمت راست صفحه می‌ریم و روی "Create an AWS Account" کلیک می‌کنیم. بعد باید ایمیل root user و نام حساب کاربری خودمون رو وارد کنیم و ایمیل رو تأیید کنیم.


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

اطلاعات صورتحساب و هویت

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

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


اولین ورود به AWS

اولین باری که وارد حساب AWS می‌شیم، باید با کاربر root وارد بشیم. ایمیل و رمز عبورمون رو وارد می‌کنیم و وارد حساب می‌شیم.

ایمن‌سازی کاربر root

حالا اولین قدم، ایمن‌سازی کاربر root هست. برای این کار، وارد بخش IAM یا مدیریت هویت و دسترسی می‌شیم. در بالای صفحه می‌بینیم که AWS پیشنهاد می‌کنه که MFA (احراز هویت چند عاملی) رو فعال کنیم. روی "Add MFA" کلیک می‌کنیم.

استفاده از MFA

برای استفاده از MFA، به یک اپلیکیشن احراز هویت مثل Google Authenticator یا Duo Mobile نیاز دارید. من از Google Authenticator استفاده می‌کنم. کد QR رو اسکن می‌کنم و کدهای MFA رو وارد کرده و MFA رو فعال می‌کنم.

ایجاد کاربر روزمره

حالا که MFA فعال شد، مرحله بعد ایجاد یک کاربر روزمره برای انجام وظایف روزانه است. در سمت چپ روی Users کلیک می‌کنیم و Create User رو انتخاب می‌کنیم. این کاربر رو Daily User می‌نامیم و بهش دسترسی به کنسول می‌دیم.

در این مثال، ما یک کاربر IAM ایجاد می‌کنیم. شما می‌تونید از Identity Center برای ایجاد کاربران در یک محیط امن‌تر استفاده کنید. همچنین دسترسی برنامه‌نویسی رو با استفاده از کلیدها برای این مثال تنظیم می‌کنیم.

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

دسترسی مدیر

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

ورود به عنوان کاربر روزمره

با استفاده از account ID و نام کاربری و رمز عبور جدید وارد حساب می‌شیم. حالا کاربر روزمره ما آماده استفاده هست و می‌تونیم حساب رو با تیم خودمون به اشتراک بذاریم.

توی این قسمت، درباره آشنایی با مفاهیم ابتدایی AWS Cloud صحبت کردیم و مفاهیم کلی و اولیه مربوط به ابر و رایانش ابری رو بررسی کردیم. حالا که با این مبانی آشنا شدین، توی قسمت‌های بعدی به موضوعات پیشرفته‌تر می‌پردازیم و بخش‌های مختلف 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

قسمت 6: تکنولوژی‌ها و سرویس‌های توسعه، پیام‌رسانی، و دیپلویمنت

قسمت هفتم:‌ تکنولوژی و سرویس‌های migration و انتقال داده


و در آخر این آدرس لینکدین و توئیتر من هست خوشحال میشم در ارتباط باشیم.

🪩 Follow Linkedin Hossein Jafari🪩

🕊 Twitter 🕊




cloudawsiaaspaas
شاید از این پست‌ها خوشتان بیاید