دواپس U6 / 8 پروژه ها
خدمات دواپس
کانتینر، کوبرنتیز، استقرار خودکار، زیرساخت به عنوان کد و مانیتورینگ پیشرفته.
-
01
راه اندازی داکر
وقتی برنامه روی سیستم برنامه نویس درست کار می کند و روی سرور خطا می دهد، علت معمولاً تفاوت محیط است و راه اندازی داکر برای رفع همین تفاوت است. ما برنامه و وابستگی هایش را در ایمیج های کوچک و قابل تکرار بسته بندی می کنیم و اجرای آن را روی سرور شما با Docker Compose مرتب می کنیم.
- روی سرور تست کار می کند ولی روی سرور اصلی خطا می دهد.
- نصب پروژه روی یک سرور جدید چند روز طول می کشد.
-
02
کلاستر کوبرنتیز
کوبرنتیز ابزار قدرتمندی است، ولی اگر راه اندازی کلاستر کوبرنتیز درست انجام نشود، خودش عامل قطعی می شود. ما از طراحی نودها و شبکه شروع می کنیم، کلاستر را با چند نود کنترل (control plane) می سازیم و بکاپ، مانیتورینگ و به روزرسانی را از روز اول در نظر می گیریم.
- تعداد سرویس ها زیاد شده و مدیریت کانتینرها با دست دیگر جواب نمی دهد.
- کلاستر را خودمان راه انداختیم ولی کسی جرأت به روزرسانی اش را ندارد.
-
03
پایپ لاین CI/CD
وقتی پایپ لاین CI/CD ندارید و انتشار هر نسخه یعنی SSH به سرور و اجرای چند دستور از حافظه، دیر یا زود یک نسخه خراب به دست کاربران می رسد. ما مسیر کد تا سرور را خودکار می کنیم. هر push تست و build می شود و با یک تأیید روی محیط اصلی می رود.
- هر انتشار را یک نفر با دست روی سرور انجام می دهد و فقط خودش می داند چطور.
- بعد از هر آپدیت چیزی خراب می شود و برگرداندن نسخه قبل ساعت ها طول می کشد.
-
04
Infrastructure as Code
سروری که چند سال پیش با دست تنظیم شده، معمولاً مستندی ندارد و بازسازی اش بدون Infrastructure as Code حدس و گمان است. در این روش، تنظیمات در Ansible و Terraform نوشته می شود، در گیت می ماند و هر بار همان نتیجه را می دهد. ما این کد را از روی سرورهای فعلی شما می نویسیم.
- نمی دانیم روی سرورها دقیقاً چه تنظیماتی اعمال شده است.
- راه اندازی هر سرور جدید یک روز کار دستی است.
-
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 را می شود در هر مرحله اضافه کرد. تیمی که تازه از استقرار دستی فاصله می گیرد، معمولاً بیشترین تغییر را با داکر و یک پایپ لاین ساده حس می کند.
دواپس روی سرور و شبکه سالم بنا می شود. اگر سرورها هنوز به روز و امن نیستند، مدیریت سرور لینوکس و هاردنینگ سرور را پیش از کوبرنتیز در نظر بگیرید. برای کلاستر روی سخت افزار خودتان، مجازی سازی سرور یا ابر خصوصی سازمانی در بخش شبکه بستر لازم را فراهم می کند. مانیتورینگ این دسته روی متریک ها و لاگ برنامه ها تمرکز دارد؛ برای هشدار ساده قطعی سرور و لینک های شبکه، خدمات مانیتورینگ شبکه در بخش قرارداد پشتیبانی مناسب تر است.
استعلام
کارتان را بگویید، مسیر و هزینه را می گوییم
چند خط درباره وضعیت فعلی و چیزی که می خواهید بنویسید. یک مهندس خودش تماس می گیرد، نه واحد فروش.
- 01درخواست را می خوانیم و اگر ابهامی بود تماس می گیریم.
- 02در صورت نیاز، بررسی اولیه ریموت یا بازدید انجام می شود.
- 03پیشنهاد مکتوب با دامنه کار، زمان بندی و هزینه می فرستیم.
