نشان کن
کد آگهی: KP181279194

پیاده‌سازی SaaS با معماری (داکر) و پایپ‌لاین CI/CD

در سراسر کشور
در وبسایت پونیشا  (پنج‌شنبه 17 تیر 1400)
دورکاری
اطلاعات شغل:
امکان دورکاری و کار در منزل: دارد
نوع همکاری:  پروژه‌ای
مهارت‌های مورد نیاز:
Linux
راه اندازی سرور لینوکس
متن کامل آگهی:
شرح کلی پروژه: من یک نرم‌افزار نود جی‌اس (Node.js) شامل بک‌اند و فرانت‌اند دارم که سرویس ارسال پیام انبوه و پاسخدهی هوش مصنوعی ارائه می‌دهد. قصد دارم این نرم‌افزار را به صورت SaaS ارائه دهم، اما با معماری Single-Tenant. به این معنی که برای هر مشتری جدید، باید یک نمونه (Instance) کاملاً ایزوله (کانتینر جداگانه) روی سرور اجرا شود. نیازمندی‌های فنی و وظایف شما: 1. داکرایز کردن پروژه (Dockerization): نوشتن Dockerfile بهینه برای بک‌اند و فرانت‌اند. اطمینان از اینکه ایمیج‌ها کم‌حجم و پرفورمنس بالا هستند. 2. معماری زیرساخت (Infrastructure & Routing): راه‌اندازی یک Reverse Proxy (ترجیحاً Traefik یا Nginx) برای مدیریت ساب‌دامین‌ها. سیستم باید به گونه‌ای باشد که وقتی کانتینر جدیدی برای کاربر user1 ساخته می‌شود، به صورت خودکار ساب‌دامین user1.mydomain.com به آن کانتینر متصل شود (بدون نیاز به کانفیگ دستی و ریستارت کردن پروکسی). 3. سیستم مدیریت چرخه (Provisioning): ایجاد یک اسکریپت یا API ساده (Master Script) که با دریافت اطلاعات مشتری جدید، یک کانتینر جدید با ENVهای اختصاصی (مثل توکن دیتابیس اختصاصی، پورت و...) را بالا بیاورد. 4. پایپ‌لاین CI/CD و آپدیت خودکار (Critical): این بخش بسیار حیاتی است: من می‌خواهم به محض اینکه تغییری در کد ایجاد کردم و در Git پوش (Push) کردم: به صورت خودکار ایمیج جدید ساخته شود (مثلاً با GitHub Actions). ایمیج جدید به رجیستری (Docker Hub یا Private Registry) منتقل شود. تمام کانتینرهای فعال مشتریان روی سرور، متوجه تغییر شده و به صورت خودکار (مثلاً با Watchtower یا اسکریپت سفارشی) به آخرین نسخه ایمیج آپدیت شوند. نکته مهم: آپدیت نباید باعث پاک شدن داده‌های دیتابیس مشتریان شود (مدیریت صحیح Volumeها). سناریوی مورد انتظار من: من کد را تغییر می‌دهم و در گیت‌هاب Push می‌کنم. چند دقیقه بعد، تمام 500 کانتینر مشتریان من روی سرور آپدیت شده و کد جدید را اجرا می‌کنند. اگر مشتری جدیدی آمد، با اجرای یک دستور ساده، سرویس او روی ساب‌دامین اختصاصی‌اش بالا می‌آید. سوالات از فریلنسر: لطفاً در پیشنهاد خود به موارد زیر پاسخ دهید: برای مدیریت آپدیت همزمان تعداد زیادی کانتینر، چه ابزاری را پیشنهاد می‌کنید (Watchtower، Docker Swarm، Kubernetes یا اسکریپت شخصی)؟ برای مدیریت دیتابیس‌ها (اینکه هر کانتینر دیتابیس خود را داشته باشد یا دیتابیس اشتراکی ایزوله) چه استراتژی‌ای پیشنهاد می‌کنید

این آگهی از وبسایت پونیشا پیدا شده، با زدن دکمه‌ی تماس با کارفرما، به وبسایت پونیشا برین و از اون‌جا برای این شغل اقدام کنین.

هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک،‌ با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.
گزارش مشکل آگهی
تماس با کارفرما
این آگهی رو برای دیگران بفرست
نشان کن
گزارش مشکل آگهی
سه‌شنبه 3 دی 1404، ساعت 01:54