برنامه نویسی

محل میزبانی وبلاگ Static Tech من

Summarize this content to 400 words in Persian Lang

زمینه: من یک علاقه‌مند به رکورد تصمیم هستم و قطعاً در آینده بیشتر در این مورد خواهم نوشت. این قالب پست از سوابق تصمیم گیری معماری الهام گرفته شده است و به این منظور است که نشان دهد چگونه به راه حل میزبانی خود رسیدم، نه نحوه استفاده از آن.

وضعیت: [thinking | nope | current | superceded by ]

آخرین به روز رسانی: 9 مارس 2024

هدف: یک میزبان وب برای سایت استاتیک من انتخاب کنید

متن و بیان مسئله

برای داشتن یک وب سایت باید یک میزبان وب وجود داشته باشد. یک وب سایت مصنوع بصری است که همه می بینند، صفحات، تصاویر و ویدئوها. میزبان وب سرویسی است که محاسبات، ذخیره سازی، شبکه و تمام بیت هایی را که آن را قابل استفاده می کند، ارائه می دهد. برای وب سایت شخصی خود، باید میزبانی وب را انتخاب کنم که اولویت ها و محدودیت های زیر را رعایت کند.

اولویت ها و محدودیت ها

هر پروژه نیازمندی هایی دارد، در اینجا چند مورد از من وجود دارد:

کم هزینه باشید: وب سایت شخصی من یک هزینه شخصی است که ترجیح می دهم حداقل آن را حفظ کنم. هدف من این است که در یک ردیف رایگان قرار بگیرم، اما از هزینه “دلار در ماه” تجاوز نکنم.

بر انتشار بیش از توسعه متمرکز باشید: وقت من بسیار ارزشمند است. من می‌خواهم محتوایی را با انعطاف‌پذیری منتشر کنم تا متناسب با روش کارم باشم. با این حال، من نمی خواهم به جای نوشتن، پروژه های جانبی جدید (بیش از حد) در توسعه وب ایجاد کنم.

کم توجه باشید: من می‌خواهم این سایت را برای ماه‌ها بدون متحمل شدن به خطرات امنیتی یا پروژه‌های زیربنایی عقب‌افتاده نادیده بگیرم.

حداقل ارائه دهندگان خدمات: من ترجیح می دهم از کمترین تعداد ارائه دهنده خدمات برای IT شخصی خود استفاده کنم. من قبلاً GitHub، DNS و Google Cloud را در ترکیب دارم. هر شرکت اضافی نمایه کارت اعتباری دیگری برای به روز رسانی و مجموعه ای از خط مشی های مشتریان شرکت برای ردیابی است.

از همه چیز بیاموز: مهارت های موجود را با فرصت های یادگیری متعادل کنید

منبع یابی از GitHub: من تصمیم گرفتم منبع و محتوای سایت خود را در یک مخزن عمومی GitHub نگه دارم. من می خواهم ادغام با من را ببینم main استقرار شعبه به یک سایت زنده

محدودیت: من قبلا Hugo and Go را با کد میزبانی شده در GitHub به عنوان ابزاری برای ساخت سایت انتخاب کرده ام. Hugo یک مولد سایت استاتیک است که به اندازه کافی انعطاف پذیر است تا در بسیاری از خدمات میزبانی (همه؟) استفاده شود.

گزینه های در نظر گرفته شده

تصمیم

گزینه انتخاب شده گزینه 1: میزبانی Firebase

میزبانی Firebase یک ابزار تخصصی برای میزبانی سایت استاتیک است که سهولت در استقرار، CDN جهانی و یک ردیف رایگان خوب را ارائه می دهد. من آشنایی زیادی با Google Cloud دارم، اما آشنایی کمتری با محصولات Firebase دارم.

کار کردن برای Google به این معنی است که کار روزانه من برای آشنایی با Google Cloud به من دستمزد می دهد، که ممکن است باعث شود از Google Cloud برای پروژه های شخصی تر استفاده کنم. این به میزبانی Firebase مزیتی در تصمیم گیری می دهد.

من میزبانی Firebase را انتخاب می کنم زیرا تمام نیازهای من را برآورده می کند و دانش من را در مورد Google Cloud گسترش می دهد.

جایگزین های در نظر گرفته شده

من تجربه میزبانی سایت ها را دارم گزینه 2: صفحات GitHub. با این حال، من از فقدان تغییر مسیرهای عملکردی (redirects via) ناامید شده ام HTML meta refresh فاقد گزینه‌های پیکربندی wildcard است و در مقایسه با گزینه‌های سمت سرور نمی‌توان آن را کش کرد). راه‌حل‌های دیگر دارای ویژگی‌های تغییر مسیر سمت سرور هستند (میزبانی Firebase، Netlify)

من متوجه شده‌ام که صفحات GitHub برای پیش‌نمایش‌های روابط عمومی، با توصیه‌های مختلف در مورد مخازن متعدد، اقدامات تصادفی و خاص GitHub یا ساخت راه‌حل پیش‌نمایش سفارشی خود، کمی پیچیده هستند.

من صفحات GitHub را انتخاب نمی‌کنم زیرا ویژگی‌های مورد نظر من را ندارد.

گزینه 3: از Google Cloud Run استفاده کنید. با 6 سال تجربه کار بر روی تجربه توسعه دهنده Google Cloud Run، استفاده از آن ساده خواهد بود. من نیازی ندارم (یا نمی‌خواهم) روی جزئیات سرویس‌دهی کنترل داشته باشم، مانند اینکه کدام وب سرور در حال اجرا است. گزینه های دیگر با ترجیح من برای حداقل تعمیر و نگهداری بهتر هماهنگ هستند.

💡 هم تیمی من، برایان دورسی، یک پست عالی در مورد میزبانی یک وب سایت ثابت با استفاده از Google Cloud Run دارد، اگر دستور غذا را می خواهید.

من Cloud Run را انتخاب نمی کنم زیرا می خواهم انتزاع بیشتری به دور از جزئیات فنی داشته باشم. من نمی خواهم سرگرمی زیرساختی جدیدی را انتخاب کنم.

گزینه 4: از Netlify استفاده کنید. چندین نفر Netlify را به عنوان میزبان سایت استاتیک ترجیحی خود با ادغام قوی GitHub توصیه کردند. از آنجایی که من قبلاً از Google Cloud برای پروژه‌های دیگر استفاده می‌کنم، Netlify به عنوان یک ارائه‌دهنده خدمات جدید دارای یک نقطه ضعف است.

اگر میزبانی Firebase جواب ندهد، Netlify انتخاب بعدی من خواهد بود. این یک تصمیم نزدیک بود.

عواقب مورد انتظار

هر یک از این گزینه ها به هدف من برای ارائه چند مگابایت داده پاسخ می دهد. من انتظار دارم مشکلات ناشی از عصبانیت حیوانات خانگی یا کنجکاوی در مورد جایگزین ها باشد. در هر صورت، این یک است تصمیم کم ریسک ارزش تحلیل عمیق تری ندارد. اگر مجبور شدم تصمیمم را تغییر دهم، انتظار دارم هزینه جابجایی برای انتقال به یک میزبان سایت ثابت دیگر یک شب کار باشد.

بازنگری در این تصمیم

من برای مارس 2025 یادآوری برنامه ریزی کرده ام تا درباره این تصمیم فکر کنم و تصمیم بگیرم که آیا می خواهم میزبانی را تغییر دهم یا خیر. با توجه به هزینه سوئیچینگ مورد انتظار پایین، ممکن است ارزش آن را داشته باشد که میزبان دیگری را فقط برای تجربه یادگیری امتحان کنید.

عکس روی جلد توسط Mike Enerio در Unsplash

زمینه: من یک علاقه‌مند به رکورد تصمیم هستم و قطعاً در آینده بیشتر در این مورد خواهم نوشت. این قالب پست از سوابق تصمیم گیری معماری الهام گرفته شده است و به این منظور است که نشان دهد چگونه به راه حل میزبانی خود رسیدم، نه نحوه استفاده از آن.

  • وضعیت: [thinking | nope | current | superceded by ]
  • آخرین به روز رسانی: 9 مارس 2024
  • هدف: یک میزبان وب برای سایت استاتیک من انتخاب کنید

متن و بیان مسئله

برای داشتن یک وب سایت باید یک میزبان وب وجود داشته باشد. یک وب سایت مصنوع بصری است که همه می بینند، صفحات، تصاویر و ویدئوها. میزبان وب سرویسی است که محاسبات، ذخیره سازی، شبکه و تمام بیت هایی را که آن را قابل استفاده می کند، ارائه می دهد. برای وب سایت شخصی خود، باید میزبانی وب را انتخاب کنم که اولویت ها و محدودیت های زیر را رعایت کند.

اولویت ها و محدودیت ها

هر پروژه نیازمندی هایی دارد، در اینجا چند مورد از من وجود دارد:

  • کم هزینه باشید: وب سایت شخصی من یک هزینه شخصی است که ترجیح می دهم حداقل آن را حفظ کنم. هدف من این است که در یک ردیف رایگان قرار بگیرم، اما از هزینه “دلار در ماه” تجاوز نکنم.
  • بر انتشار بیش از توسعه متمرکز باشید: وقت من بسیار ارزشمند است. من می‌خواهم محتوایی را با انعطاف‌پذیری منتشر کنم تا متناسب با روش کارم باشم. با این حال، من نمی خواهم به جای نوشتن، پروژه های جانبی جدید (بیش از حد) در توسعه وب ایجاد کنم.
  • کم توجه باشید: من می‌خواهم این سایت را برای ماه‌ها بدون متحمل شدن به خطرات امنیتی یا پروژه‌های زیربنایی عقب‌افتاده نادیده بگیرم.
  • حداقل ارائه دهندگان خدمات: من ترجیح می دهم از کمترین تعداد ارائه دهنده خدمات برای IT شخصی خود استفاده کنم. من قبلاً GitHub، DNS و Google Cloud را در ترکیب دارم. هر شرکت اضافی نمایه کارت اعتباری دیگری برای به روز رسانی و مجموعه ای از خط مشی های مشتریان شرکت برای ردیابی است.
  • از همه چیز بیاموز: مهارت های موجود را با فرصت های یادگیری متعادل کنید
  • منبع یابی از GitHub: من تصمیم گرفتم منبع و محتوای سایت خود را در یک مخزن عمومی GitHub نگه دارم. من می خواهم ادغام با من را ببینم main استقرار شعبه به یک سایت زنده
  • محدودیت: من قبلا Hugo and Go را با کد میزبانی شده در GitHub به عنوان ابزاری برای ساخت سایت انتخاب کرده ام. Hugo یک مولد سایت استاتیک است که به اندازه کافی انعطاف پذیر است تا در بسیاری از خدمات میزبانی (همه؟) استفاده شود.

گزینه های در نظر گرفته شده

تصمیم

گزینه انتخاب شده گزینه 1: میزبانی Firebase

میزبانی Firebase یک ابزار تخصصی برای میزبانی سایت استاتیک است که سهولت در استقرار، CDN جهانی و یک ردیف رایگان خوب را ارائه می دهد. من آشنایی زیادی با Google Cloud دارم، اما آشنایی کمتری با محصولات Firebase دارم.

کار کردن برای Google به این معنی است که کار روزانه من برای آشنایی با Google Cloud به من دستمزد می دهد، که ممکن است باعث شود از Google Cloud برای پروژه های شخصی تر استفاده کنم. این به میزبانی Firebase مزیتی در تصمیم گیری می دهد.

من میزبانی Firebase را انتخاب می کنم زیرا تمام نیازهای من را برآورده می کند و دانش من را در مورد Google Cloud گسترش می دهد.

جایگزین های در نظر گرفته شده

من تجربه میزبانی سایت ها را دارم گزینه 2: صفحات GitHub. با این حال، من از فقدان تغییر مسیرهای عملکردی (redirects via) ناامید شده ام HTML meta refresh فاقد گزینه‌های پیکربندی wildcard است و در مقایسه با گزینه‌های سمت سرور نمی‌توان آن را کش کرد). راه‌حل‌های دیگر دارای ویژگی‌های تغییر مسیر سمت سرور هستند (میزبانی Firebase، Netlify)

من متوجه شده‌ام که صفحات GitHub برای پیش‌نمایش‌های روابط عمومی، با توصیه‌های مختلف در مورد مخازن متعدد، اقدامات تصادفی و خاص GitHub یا ساخت راه‌حل پیش‌نمایش سفارشی خود، کمی پیچیده هستند.

من صفحات GitHub را انتخاب نمی‌کنم زیرا ویژگی‌های مورد نظر من را ندارد.

گزینه 3: از Google Cloud Run استفاده کنید. با 6 سال تجربه کار بر روی تجربه توسعه دهنده Google Cloud Run، استفاده از آن ساده خواهد بود. من نیازی ندارم (یا نمی‌خواهم) روی جزئیات سرویس‌دهی کنترل داشته باشم، مانند اینکه کدام وب سرور در حال اجرا است. گزینه های دیگر با ترجیح من برای حداقل تعمیر و نگهداری بهتر هماهنگ هستند.

💡 هم تیمی من، برایان دورسی، یک پست عالی در مورد میزبانی یک وب سایت ثابت با استفاده از Google Cloud Run دارد، اگر دستور غذا را می خواهید.

من Cloud Run را انتخاب نمی کنم زیرا می خواهم انتزاع بیشتری به دور از جزئیات فنی داشته باشم. من نمی خواهم سرگرمی زیرساختی جدیدی را انتخاب کنم.

گزینه 4: از Netlify استفاده کنید. چندین نفر Netlify را به عنوان میزبان سایت استاتیک ترجیحی خود با ادغام قوی GitHub توصیه کردند. از آنجایی که من قبلاً از Google Cloud برای پروژه‌های دیگر استفاده می‌کنم، Netlify به عنوان یک ارائه‌دهنده خدمات جدید دارای یک نقطه ضعف است.

اگر میزبانی Firebase جواب ندهد، Netlify انتخاب بعدی من خواهد بود. این یک تصمیم نزدیک بود.

عواقب مورد انتظار

هر یک از این گزینه ها به هدف من برای ارائه چند مگابایت داده پاسخ می دهد. من انتظار دارم مشکلات ناشی از عصبانیت حیوانات خانگی یا کنجکاوی در مورد جایگزین ها باشد. در هر صورت، این یک است تصمیم کم ریسک ارزش تحلیل عمیق تری ندارد. اگر مجبور شدم تصمیمم را تغییر دهم، انتظار دارم هزینه جابجایی برای انتقال به یک میزبان سایت ثابت دیگر یک شب کار باشد.

بازنگری در این تصمیم

من برای مارس 2025 یادآوری برنامه ریزی کرده ام تا درباره این تصمیم فکر کنم و تصمیم بگیرم که آیا می خواهم میزبانی را تغییر دهم یا خیر. با توجه به هزینه سوئیچینگ مورد انتظار پایین، ممکن است ارزش آن را داشته باشد که میزبان دیگری را فقط برای تجربه یادگیری امتحان کنید.

عکس روی جلد توسط Mike Enerio در Unsplash

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا