مهارت مدیریت زیرساخت ابری برای دواپس و مهندسی پلتفرم

معرفی و تعریف

تعریف کوتاه از مهارت مدیریت زیرساخت ابری

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

کاربرد مهارت مدیریت زیرساخت ابری

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

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

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

اهمیت و کاربردها

چرا این مهارت مهم است؟

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

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

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

کاربردها

  • آماده‌سازی محیط‌های توسعه و عملیاتی

    ایجاد محیط‌های جداگانه برای توسعه، آزمایش و تولید، همراه با تنظیمات شبکه، متغیرهای محیطی و سطح دسترسی مناسب هر محیط.

  • راه‌اندازی سرویس‌های وب

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

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

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

  • طراحی شبکه و ارتباط سرویس‌ها

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

  • مدیریت ذخیره‌سازی و پشتیبان‌گیری

    انتخاب فضای ذخیره‌سازی مناسب، برنامه‌ریزی نسخه پشتیبان و آزمودن فرایند بازیابی داده و سرویس.

  • کنترل ظرفیت و هزینه

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

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

    بررسی اختلال سرویس، تشخیص منشأ مشکل در زیرساخت، اجرای اقدام اصلاحی و ثبت آموخته‌ها برای کاهش تکرار رخداد.

پیش‌نیازها

موارد زیر پایه‌های لازم برای شروع را نشان می‌دهند.

  • توانایی اتصال امن به یک سرور لینوکسی و اجرای فرمان‌های پایه
  • توانایی ایجاد کاربر، بررسی لاگ سرویس و تشخیص وضعیت یک سرویس با systemd
  • توانایی تشخیص نقش IP، DNS، پورت و فایروال در دسترسی به یک سرویس وب
  • توانایی خواندن مستندات فنی انگلیسی

مسیر یادگیری مدیریت زیرساخت ابری

  1. ارزیابی آمادگی لینوکس و شبکه

    ۵ ساعت

    پیش از ورود به مباحث ابری، توانایی خود را با یک تمرین کوتاه بررسی کنید: به سرور لینوکسی متصل شوید، کاربر محدود بسازید، لاگ یک سرویس را بخوانید، وضعیت آن را با systemd بررسی کنید و مسیر دسترسی یک دامنه تا پورت سرویس را توضیح دهید. اگر این کارها را مستقل انجام نمی‌دهید، ابتدا مدیریت سیستم‌های لینوکس و شبکه را تقویت کنید.

  2. انتخاب محیط تمرینی ابری

    ۱۰ ساعت

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

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

  3. ساخت منابع و محیط‌های ابری

    ۳۰ ساعت

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

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

  4. خودکارسازی پیکربندی زیرساخت

    ۳۰ ساعت

    مفاهیم زیرساخت به‌عنوان کد را با Terraform تمرین کنید و برای پیکربندی و مدیریت سیستم‌های موجود از Ansible استفاده کنید. فایل‌های Terraform و playbookهای Ansible را در یک مخزن Git نگه دارید، تغییرات را با درخواست بازبینی بررسی کنید و پیش از اعمال تغییرات، خروجی اجرای Terraform و اثر احتمالی تغییرات را ارزیابی کنید.

    برای کارهای تکراری مدیریت سرور، مانند بررسی وضعیت سرویس یا جمع‌آوری لاگ، اسکریپت‌های Bash بنویسید و اجرای آن‌ها را مستند کنید.

  5. ایمن‌سازی دسترسی و داده

    ۲۵ ساعت

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

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

  6. پایش، ظرفیت‌سنجی و واکنش به رخداد

    ۲۵ ساعت

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

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

  7. تکمیل پروژه عملی و سنجش سطح کاربردی

    ۵ ساعت

    برآورد ۱۲۰ ساعت برای فردی است که پیش‌نیازهای لینوکس و شبکه را دارد و حدود هفته‌ای ۱۰ ساعت تمرین می‌کند؛ در عمل، رسیدن به سطح کاربردی معمولاً ۱۱۰ تا ۱۴۰ ساعت تمرین هدفمند نیاز دارد. سطح کاربردی یعنی بتوانید یک محیط سرویس را بسازید، تغییرات آن را با Git و Terraform یا Ansible ثبت کنید، دسترسی و پشتیبان‌گیری را آزمون کنید، داشبورد و هشدار داشته باشید و هزینه و محدودیت‌های محیط را توضیح دهید.

زمان تقریبی یادگیری

حدود ۱۲۰ ساعت

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

پروژه‌های تمرینی

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

  • زیرساخت یک سرویس وب سه‌لایه

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

  • زیرساخت تکرارپذیر با Terraform

    توضیح پروژه: منابع موردنیاز یک محیط آزمایشی را با Terraform تعریف کنید؛ شامل شبکه، ماشین مجازی، قواعد دسترسی و برچسب‌گذاری منابع. تغییر یک ویژگی را از طریق بازبینی فایل‌ها اعمال کنید.

  • پیکربندی خودکار سرور با Ansible

    توضیح پروژه: یک playbook بنویسید که کاربر سرویس، وب‌سرور Nginx، تنظیمات فایروال و یک سرویس نمونه را روی سرور تازه آماده کند. playbook را به‌گونه‌ای بنویسید که اجرای دوباره آن تغییر غیرضروری ایجاد نکند و بتوانید آن را روی چند سرور یا محیط آزمایشی اجرا کنید.

  • داشبورد سلامت زیرساخت

    توضیح پروژه: برای یک سرور و سرویس نمونه، شاخص‌های مصرف منابع و در دسترس بودن را جمع‌آوری کنید. در Grafana داشبورد بسازید و برای پرشدن دیسک یا قطع سرویس هشدار تعریف کنید.

  • سناریوی پشتیبان‌گیری و بازیابی

    توضیح پروژه: از داده‌های یک سرویس نمونه نسخه پشتیبان تهیه کنید، حذف یا خرابی کنترل‌شده را شبیه‌سازی کنید و زمان و مراحل بازیابی را در یک راهنمای عملیاتی ثبت نمایید.

پرسش‌های رایج درباره مدیریت زیرساخت ابری

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

آیا مدیریت زیرساخت ابری فقط به کار با سرویس‌های ابر عمومی محدود است؟

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

برای یادگیری مدیریت زیرساخت ابری باید برنامه‌نویس باشم؟

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

تفاوت مدیریت زیرساخت ابری و زیرساخت به‌عنوان کد چیست؟

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

آیا برای ورود به دواپس باید Kubernetes یاد بگیرم؟

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

چگونه مهارت مدیریت زیرساخت ابری را در رزومه اثبات کنم؟

یک پروژه مستند ارائه دهید که در آن معماری، فایل‌های Terraform یا Ansible، تنظیمات دسترسی، داشبورد پایش، راهنمای استقرار و سناریوی بازیابی مشخص باشد. صرف نام‌بردن از ابزارها معمولاً کافی نیست.

مهم‌ترین اشتباه مبتدیان در مدیریت زیرساخت چیست؟

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

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

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

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