پیکوسیستم خدمات فنی IT

U6 / 9 پروژه ها

خدمات دواپس سرور

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

  1. 01

    راه اندازی داکر

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

    • روی سرور تست کار می کند ولی روی سرور اصلی خطا می دهد.
    • نصب پروژه روی یک سرور جدید چند روز طول می کشد.
  2. 02

    کلاستر کوبرنتیز

    کوبرنتیز ابزار قدرتمندی است، اما کلاستری که بد ساخته شده خودش باعث قطعی می شود، و برای همین راه اندازی کلاستر کوبرنتیز را از طراحی نودها و شبکه شروع می کنیم. کلاستر را با چند نود کنترل (control plane) می سازیم و بکاپ، مانیتورینگ و به روزرسانی را از روز اول در طراحی می آوریم.

    • تعداد سرویس ها زیاد شده و مدیریت کانتینرها با دست دیگر جواب نمی دهد.
    • کلاستر را خودمان راه انداختیم ولی کسی جرأت به روزرسانی اش را ندارد.
  3. 03

    پایپ لاین CI/CD

    وقتی پایپ لاین CI/CD ندارید و انتشار هر نسخه یعنی SSH به سرور و اجرای چند دستور از حافظه، دیر یا زود یک نسخه خراب به دست کاربران می رسد. ما مسیر کد تا سرور را خودکار می کنیم. هر push تست و build می شود و با یک تأیید روی محیط اصلی می رود.

    • هر انتشار را یک نفر با دست روی سرور انجام می دهد و فقط خودش می داند چطور.
    • بعد از هر آپدیت چیزی خراب می شود و برگرداندن نسخه قبل ساعت ها طول می کشد.
  4. 04

    Infrastructure as Code

    سروری که چند سال پیش با دست تنظیم شده، معمولاً مستندی ندارد و بازسازی اش بدون Infrastructure as Code حدس و گمان است. در این روش، تنظیمات در Ansible و Terraform نوشته می شود، در گیت می ماند و هر بار همان نتیجه را می دهد. ما این کد را از روی سرورهای فعلی شما می نویسیم.

    • نمی دانیم روی سرورها دقیقاً چه تنظیماتی اعمال شده است.
    • راه اندازی هر سرور جدید یک روز کار دستی است.
  5. 05

    مانیتورینگ و لاگ (ELK و Grafana)

    وقتی سرویس کند شده، باید سریع بفهمید مشکل از دیتابیس است، از شبکه یا از آخرین انتشار، و راه اندازی ELK یا Grafana Loki با جمع کردن لاگ همه سرورها در یک جا همین را ممکن می کند. کنارش Prometheus و Grafana را هم راه می اندازیم تا سرورها، کانتینرها و اپلیکیشن شما را از یک جا ببینید.

    • برای پیدا کردن علت خطا باید به چند سرور SSH بزنیم و لاگ ها را با grep بگردیم.
    • Prometheus داریم ولی هشدارها آن قدر زیادند که کسی نگاهشان نمی کند.

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

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

اگر برنامه روی سیستم برنامه نویس درست کار می کند و روی سرور خطا می دهد، یا وابستگی ها روی هر سرور دستی نصب می شوند، از راه اندازی داکر شروع کنید. کلاستر کوبرنتیز وقتی به کار می آید که سرویس های زیادی روی چند سرور دارید و جابجایی خودکار سرویس ها، ریستارت کانتینرهای از کار افتاده و افزایش ظرفیت لازم است؛ برای یک یا دو سرویس ساده، Docker Compose معمولاً کافی است. اگر انتشار هر نسخه یعنی SSH به سرور و اجرای چند دستور از حافظه، پایپ لاین CI/CD با GitLab CI یا Jenkins را انتخاب کنید. Infrastructure as Code با Ansible و Terraform برای سرورهایی است که سال ها پیش دستی تنظیم شده اند و کسی نمی داند چطور باید دوباره ساختشان. و اگر موقع کندی سرویس معلوم نیست مشکل از دیتابیس است یا از آخرین انتشار، مانیتورینگ و لاگ (ELK و Grafana) را ببینید.

معمولاً اول کانتینر می آید، بعد CI/CD، و کوبرنتیز وقتی که تعداد سرویس ها و سرورها واقعاً آن را لازم کند. مانیتورینگ و Infrastructure as Code را در هر مرحله می شود اضافه کرد. تیمی که تازه از استقرار دستی فاصله می گیرد، بیشترین تغییر را معمولاً با داکر و یک پایپ لاین ساده حس می کند.

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

مقاله های مرتبط

استعلام

کارتان را بگویید، مسیر و هزینه را می گوییم

چند خط درباره وضعیت فعلی و چیزی که می خواهید بنویسید. یک مهندس خودش با شما تماس می گیرد و درخواست به واحد فروش نمی رود.

  1. 01درخواست را می خوانیم و اگر ابهامی بود تماس می گیریم.
  2. 02در صورت نیاز، بررسی اولیه ریموت یا بازدید انجام می شود.
  3. 03پیشنهاد مکتوب با دامنه کار، زمان بندی و هزینه می فرستیم.

اطلاعات شما فقط برای پاسخ به همین درخواست استفاده می شود. حریم خصوصی