اینم یه تجربه پراکنده دیگه
اگه پستهای قبلی این سری رو خونده باشید میدونید که من ایدههام رو مینویسم که حداقل کاری در موردشون انجام دادم. البته از این پست یه اتفاق جدید هم افتاده و اون اینه که تصمیم گرفتم وبلاگم رو در صفحات اجتماعیم بصورت اتوماتیک به اشتراک بگذارم ببینم چی میشه. پس اول از همه چه از خوانندگان قدیم هستید چه از دوستانی که از شبکههای اجتماعی اومدید، خوش اومدید
برم سراغ ایده. چیزاهایی در دنیا وجود داره که در کشور ما به دلایل مختلفی اجرایی نمیشه و کسی هم روش کار نمیکنه. یکی از اونها سرویسهای زیرساختی هست که بصورت اتوماتیک ارائه بشه. تنها سیستمهای زیرساختی اتوماتیکی که وجود داره سیستمهای خرید هاست هست که اون هم به همت whmcs و cpanel هست که دیگرانی زحمت کشیدن و اون رو اتوماتیک کردن. پس جای خالی فراهم کنندگان IaaS و PaaS حس میشه. از طرف دیگه همیشه علاقه به وجود آوردن سایت سازهای اتوماتیک در بین مهندسین کامپیوتر وجود داشته و داره. یعنی اونها از قبل با زدن سرویس وبلاگ و اخیرا با زدن سایت سازهای متفاوت(مثل لینک، لینک، لینک، لینک) سعی کردن خدمات از نوع SaaS ارائه بدن. این خدمات معمولا خدمات خوبی بودن اما کاربر حرفهای که میخواد کار جدی بکنه رو جذب نمیکرده. همچنین معمولا سایتداران حرفهای میرفتن سراغ خریدن vps و سرور و مدیریت کردن زیرساخت خودشون. اما من برخی از دوستانم رو میشناسم که توی مدیریت زیرساختشون همیشه مشکل دارن و بهشون حمله میشه و کلی اتفاق بد دیگه براشون میفته. پس اگه کسی باشه که بتونه سایت داران حرفهای خدمتی ارائه بده و بهشون آزادی عمل بده که بتونن هر کاری میخوان انجام بدن و توی حجم بازدید بالا دوام بیارن و کمر خم نکنن اونها رو خوشحال میکنه.
پس اگه من بخوام تیتر وار بگم که چه کاری میخوام انجام بدم و به چه دلیلی این کار خوبه اینهاست:
- مشکلات موجود
- سختی مدیریت زیرساخت
- عدم وجود امکان ساختن سایت بصورتت اتوماتیک
- عدم وجود قابلیت افزایش کارایی سایت با توجه به تعداد بازدید
- عدم وجود پلنهای منطقی برای افزایش بازدیدهای لحظهای(عدم وجود پلنهای روزانه و ساعتی) که باعث افزایش هزینه سایت میشود.
- دسترسی به سورس سایت جهت بهبود و اختصاصی سازیهای مورد نیاز سایتهای پربازدید
- دلیل عدم استفاده از یک سرویس PaaS
- عدم آشنایی کافی توسعه دهندگان (که خودم هم جزئی از اون هستم) با این ابزار و به تبع مدل توسعه.
- عدم وجود بهینهسازیهای خاص منظوره مورد نیاز با سیستمهای مدیریت محتوا
- بازار هدف
- سایت داران حرفهای که صاحب سایتهای پربازدید هستند.
بزم سراغ کاری که میخوام انجام بدم:
- ابزار اصلی مورد استفاده: با توجه به آنچه که در شرکتهای مشابه در دنیا انجام شده، استفاده از مجازی سازهای سبک یا همان مجازی سازی در سطح سیستم عام یا همان container ها رمز موفقیت این تجربههاست. برای آشنایی بیشتر با این تکنولوژیها به اینجا و اینجا مراجعه کنید. لیست این تکنولوژیها که مستندات و منابع کافی در مورد آنها در اختیار است به شرح زیر است
- هدف نهایی
- اینکه کاربران بصورت اتوماتیک بتوانند سایت بسازند
- نسخههای سایت آنها در git یا سیستم مشابه مدیریت نسخههای ذخیره شود
- هر سایت دو سایت کمکی برای وضعیت stage و dev داشته باشد که از نظر ساختار شبیه سایت نهایی باشد
- هر سایت بتواند در صورت نیاز افزایش کارایی پیدا کرده (با اجرا شدن کانتینرهای دیگر)
- هزینه سرویس بصورت ساعتی محاسبه شود
- به فایلهای سایت(عکسهای آپلود شده و سایر مستندات) دسترسی معمول مثل ftp وجود داشته باشد
- سایت بصورت on demand فعال و غیر فعال شوند تا در هزینهها صرفه جویی شود.
- مراحل اجرا
- فاز اول(انجام شده):
- فاز دوم:
- ایجاد یک سیستم توزیع بار برای امکان افزایش کارایی
- ایجاد یک سیستم برای share کردن فایلهای سایت بین کانتینرهای مختلف
- رفع اشکال سیستم
- فاز بینهایت
- پیاده سازی service discovery در سیستم توزیع بار
- پیاده سازی کانتینرهای on demand
- پیاده سازی پرتال مشتریان برای انجام این عملیات بصورت اتوماتیک
- چالشهای کار
- انتخاب تکنولوژی کانتینرها
- سخت بودن service discovery و on demand بودن سیستمها
- سخت بودن بازاریابی و جلب اعتماد سایتداران بزرگ
- نیاز به سرمایه قابل توجه انسانی و مالی
نمیدونم چیزی از قلم افتاده یا نه ولی فعلا همین!