رفتن به محتوا
زیرساخت فناوری اطلاعات

Docker-First و Self-Hosted: مالک زیرساخت محتوای خودت باش

فنپینو CMS به‌صورت کانتینرهایی عرضه می‌شود که خودت اجرا می‌کنی، همراه با JWT + Google OAuth2 و کنترل دسترسی مبتنی بر نقش، تصمیمات زیرساختی دست تیم مالک محصول می‌ماند.

H
Hamze Zare Nasiri
۵ شهریور ۱۴۰۵
Docker-First و Self-Hosted: مالک زیرساخت محتوای خودت باش

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

بیشتر پلتفرم‌های CMS میزبانی‌شده راحتی را با کنترل معامله می‌کنند: یک داشبورد می‌گیری، اما محتوا، آپ‌تایم و محل نگه‌داری داده‌ات همه روی برنامه‌ی یک شرکت دیگر زندگی می‌کنند. فنپینو CMS از پایه Docker-first ساخته شده، بک‌اند، فرانت‌اند و دیتابیس همه به‌صورت کانتینر عرضه می‌شوند که خودت اجرا می‌کنی، یعنی تصمیمات زیرساختی (کجا میزبانی شود، چطور بکاپ گرفته شود، چه کسی مستقیم به دیتابیس دسترسی دارد) دست همان تیمی می‌ماند که مالک محصول است، نه توافقنامه سرویس یک فروشنده.

امنیتی که پشت فرم لاگین متوقف نمی‌شود

احراز هویت هم JWT و هم Google OAuth2 را پشتیبانی می‌کند، و کنترل دسترسی مبتنی بر نقش (RBAC) یعنی «ادمین» یک نقشِ همه‌یا-هیچ‌چیز نیست، ویراستاران، تیم پشتیبانی و ادمین‌های کامل می‌توانند دقیقاً محدود به همان چیزی شوند که لازم دارند لمس کنند. برای تیمی که از یک‌نفره بودن گذشته، همین تفاوت جلوی این را می‌گیرد که یک نیروی پشتیبانی بی‌سروصدا قیمت محصول را عوض کند.

«آماده تولید» اینجا واقعاً یعنی چه

  • کانتینرسازی Docker برای بک‌اند، فرانت‌اند و سرویس‌های جانبی، همان کانتینرهایی که در توسعه استفاده می‌شوند به تولید هم می‌روند، پس «روی سیستم من کار می‌کند» مشکلی نیست که بعداً جدا حل شود.
  • بیلدهای بهینه‌شده برای فرانت‌اند، یعنی سایت عمومی سریع می‌ماند حتی وقتی داشبورد ادمین زیرش ویژگی‌های بیشتری می‌گیرد.
  • یک داشبورد ادمین واحد برای محصولات، پروژه‌ها، خدمات، مشتریان، تیکت‌های پشتیبانی و محتوای بلاگ، یک سطح برای اداره، بکاپ و ایمن‌سازی، به‌جای پنج ابزار جدا که با export/import به هم وصل شده‌اند.

چرا این موضوع بیشتر از ظاهرش اهمیت دارد

هزینه واقعی یک CMS به‌صورت SaaS میزبانی‌شده معمولاً هزینه ماهانه نیست، پروژه مهاجرتی است که هیچ‌کس دلش نمی‌خواهد بعداً انجامش دهد، وقتی نقشه‌راه پلتفرم دیگر با نیاز واقعی کسب‌وکار همخوانی ندارد. self-host کردن از ابتدا یعنی مقداری مسئولیت عملیاتی کوچک الان می‌پذیری تا آن گفت‌وگو را سه سال دیگر نداشته باشی. بیشتر این مسئولیت کارهای کوچک و بی‌سروصداست، مثل فرستادن لاگ کانتینرها به stdout به‌جای فایل.


این محصول برای چه کسی است

تیم‌هایی که از قبل Docker را برای چیز دیگری در تولید اجرا می‌کنند، و ترجیح می‌دهند یک کانتینر مستندشده دیگر اضافه کنند تا این‌که محتوا و داده مشتریِ یک محصول دوم را به پلتفرمی بسپارند که کنترلش دست خودشان نیست.

پرسش‌های متداول

چرا CMS را با Docker روی سرور خودمان اجرا کنیم، نه روی یک پلتفرم میزبانی‌شده؟

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

هزینهٔ واقعی یک CMS ابری اشتراکی چیست؟

معمولاً هزینهٔ ماهانه نیست. هزینهٔ بزرگ‌تر پروژهٔ مهاجرتی است که بعدها کسی نمی‌خواهد انجامش دهد، وقتی نقشهٔ راه پلتفرم دیگر با نیاز واقعی کسب‌وکار جور نیست. میزبانی خودتان از ابتدا یعنی کمی مسئولیت عملیاتی امروز، در ازای اینکه سه سال بعد مجبور به آن گفت‌وگو نشوید.

چرا کنترل دسترسی مبتنی بر نقش در CMS مهم است؟

چون «مدیر» نباید یک نقش همه یا هیچ باشد. با RBAC، ویراستارها، کارکنان پشتیبانی و مدیران کامل دقیقاً به همان بخشی دسترسی دارند که لازم است. وقتی تیم از یک نفر که همه‌چیز را مدیریت می‌کند بزرگ‌تر شد، همین تفکیک جلوی این را می‌گیرد که کارمند پشتیبانی بی‌سروصدا قیمت محصول را عوض کند.

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

اشتراک‌گذاری این مقاله