بعداً مقیاس بدهید¶
هنوز مسئله مقیاسپذیری ندارید¶
«وقتی میلیونها نفر شروع کردند به استفاده از اپ من، مقیاس میگیرد؟»
میدانید چیست؟ صبر کنید تا واقعاً چنین اتفاقی بیفتد. اگر تعداد عظیمی از آدمها سیستم شما را زیر فشار گذاشتند، هورا! این مسئله خوبی است. واقعیت این است که اکثریت عظیم وباپها هرگز به آن مرحله نمیرسند. حتی اگر زیر بار بروید، معمولاً مسئله همه یا هیچ نیست. وقت دارید با مشکل سازگار شوید و پاسخ بدهید. علاوه بر آن، پس از لانچ داده و benchmark واقعی بیشتری دارید تا بفهمید کدام بخشها باید رسیدگی شوند.
مثلاً ما سال اول Basecamp را روی یک سرور اجرا کردیم. چون setup سادهای انتخاب کردیم، اجرای آن فقط یک هفته طول کشید. با خوشهای از ۱۵ ماشین شروع نکردیم و ماهها نگران scale نبودیم.
آیا مشکلی داشتیم؟ چندتا. اما فهمیدیم بیشتر چیزهایی که از آنها میترسیدیم، مثل کندی کوتاه، برای مشتریان آنقدرها مسئله بزرگی نبود. تا وقتی آدمها را در جریان بگذارید و درباره وضعیت صادق باشید، درک میکنند. حالا که نگاه میکنیم، خوشحالیم لانچ را ماهها عقب نینداختیم تا «setup کامل» بسازیم.
در آغاز، اولویتتان را ساختن محصول مرکزی محکم بگذارید، نه وسواس روی مقیاسپذیری و مزرعه سرورها. اپی عالی بسازید و بعد نگران باشید وقتی وحشیانه موفق شد چه کار باید کرد. وگرنه ممکن است انرژی، زمان و پول را روی چیزی تلف کنید که هرگز رخ نمیدهد.
باور کنید یا نه، مسئله بزرگتر مقیاس گرفتن نیست؛ رسیدن به نقطهای است که مجبور شوید مقیاس بدهید. بدون مسئله اول، مسئله دوم را هم ندارید.
به هر حال باید دوباره سراغش بروید¶
واقعیت این است که همه مسئله مقیاسپذیری دارند؛ هیچکس نمیتواند سرویسش را از صفر به چند میلیون کاربر برساند بدون اینکه تقریباً هر جنبهای از طراحی و معماری خود را دوباره بررسی کند.
—Dare Obasanjo، Microsoft (از Scaling Up and Startups)
منبع اصلی: Scale Later