چند روز پیش حین چرخزدن توی فضای مجازی، بحث جالبی دیدم. چند نفر متوجه شده بودند که Status Page سرویس ابرآوران روی زیرساخت توزیع محتوا Cloudflare میزبانی میشود و همین موضوع برای بعضیها تبدیل شده بود به سوژهی طعنه: «ببین! خودشون هم به زیرساخت خودشون اعتماد ندارن، رفتن پشت کلادفلیر قایم شدن!»
در این یادداشت
به عنوان کسی که حوزه در مهندسی نرمافزار کار کرده، وقتی این حرفها رو دیدم، سریع فهمیدم یک Best Practice مهم قربانی یک برداشت اشتباه شده. گفتم این پست رو بنویسم تا خیلی ساده توضیح بدهم چرا این کار نهتنها «سوتی» نیست، بلکه دقیقاً نشانهی حرفهای بودن است.
فلسفهی وجودی Status Page چیست؟
قبل از هر چیز باید ببینیم اصلاً Status Page برای چه هدفی ایجاد شده. کارکردش خیلی ساده است، وقتی کاربران نمیتوانند به سرویس اصلی شما وصل شوند، باید یک جای مستقل وجود داشته باشد که به آن سر بزنند و بفهمند مشکل از اینترنت خودشان است یا از سرویس شما.
حالا فرض کنید شما یک ارائهدهندهی زیرساخت ابری هستید. دیتاسنتر شما دچار مشکل شده، شبکه Down شده و سرویسها در دسترس نیستند.
- سناریوی غلط
Status Page روی همان زیرساختی باشد که الان خراب شده.
نتیجه؟ خب معلوم است، آن هم پایین میآید! و کاربر میماند با یک صفحه سفید و کلی سؤال بیجواب.
- سناریوی درست
Status Page روی یک زیرساخت کاملاً جداگانه باشد؛ مثلا Cloudflare.
در این حالت حتی اگر تمام دیتاسنتر شما هم از مدار خارج شود، صفحه وضعیت همچنان بالا میماند و شفاف به کاربر میگوید:
«مشکل داریم، داریم رسیدگی میکنیم.»
اصل طلایی SRE: وابستگی ممنوع!
در دنیای SRE یک قانون مهم و ساده وجود دارد:
سیستم مانیتورینگ و گزارشدهی خطا نباید به سیستمی که دارد مانیتورش میکند وابسته باشد.
این دقیقاً مثل سیستم هشدار حریق است. هیچکس آژیر خطر را فقط به برق خود ساختمان وصل نمیکند. اگر آتشسوزی شود و برق برود، آژیر هم خاموش میشود و کسی خبردار نمیشود. به همین خاطر همیشه منبع تغذیهی مستقل دارند.
Status Page هم همین نقش را دارد، آژیر خطر سرویس شماست و باید بیرون از محدودهی خطر نگهداری شود.
همهی بزرگان همین کار را میکنند
این موضوع فقط مربوط به ابرآوران نیست. کافی است معماری شرکتهای بزرگ دنیا را نگاه کنید:
-
GitHub: حتی وقتی سرویس اصلی از دسترس خارج میشود، صفحه وضعیتش همچنان سالم است چون روی زیرساخت جداگانه میزبانی میشود.
-
AWS و Google Cloud: داشبوردهای وضعیت آنها نیز روی مناطق جغرافیایی مستقل نگهداری میشود تا کمترین وابستگی ممکن را داشته باشند.
چرا؟ چون وقتی صحبت از پایداری و شفافیت است، «غرور فنی» جایی ندارد. مهم این است که کاربر در تاریکی نماند.
کلام پایانی بدون جانبداری
اینکه ابرآوران یا هر سرویسدهندهی دیگری Status Page خود را روی Cloudflare یا یک سرویس دیگری جز خودش میگذارد، نشانهی ضعف نیست؛ نشانهی بلوغ مهندسی است. این یعنی تیم فنی به خوبی مفهوم Single Point of Failure را میشناسد و میخواهد حتی در بدترین سناریوها، یک کانال ارتباطی امن و پایدار برای کاربرانش باز نگه دارد. پس اگر دفعه بعد دیدیم آژیر خطر یک ساختمان با باتری کار میکند، مسخرهاش نکنیم که «چرا به برق وصل نیست»، اتفاقاً تحسینش کنیم که برای روز مبادا آماده است.


بهراد سلیمانی
نوامبر 26, 2025زهرا راد
نوامبر 26, 2025پیمان جلالی
نوامبر 27, 2025