مقیاس پذیری در طراحی اپلیکیشن
3 دقیقه
شاید شما به تازگی به دنبال طراحی اپلیکیشن هستید یا یک وب سایت را راه انداختید، یا فروشگاه آنلاین یا هرچیزدیگری را که دوست داشتید ساخته اید. پس از اتمام این مرحله، احتمالا تعدادی کاربر و بازدیدکننده خواهید داشت و از حضور آن ها لذت می برید. شما به سرعت به نیازهای مخاطبان خود پاسخ می دهید و همه چیز خیلی خوب پیش می رود تا زمانیکه شما یکدفعه مطرح می شوید و به یک موفقیت بزرگ می رسید.
تعداد 200 بازدیدکننده روزانه شما ناگهان به 2000 نفر افزایش پیدا می کند و این پیروزی بزرگی است؛ اما همین دستاورد مهم شما، می تواند برایتان خطرناک باشد اگر با مقیاس پذیری آَشنایی نداشته باشید. مقیاس پذیری در حقیقت همان چیزی است که به شما کمک می کند تا بتوانید از عهده چنین مواردی بربیایید :
- در دسترس بودن همیشگی بدون هیچ گونه مشکلی
- خدمت رسانی به مشتریان بیشتر به صورت هم زمان
- خدمت رسانی به همه کاربران درهرزمان و درهرکجا
مقیاس پذیری چیست؟
مقیاس پذیری، توسعه پذیری یا همان Scalability در ساده ترین تعریف این است که یک سیستم یا اپلیکیشن انعطاف پذیر باشد به طوریکه بتواند خواسته های روبه افزایش خودرا مدیریت کند و به خوبی به آن پاسخ دهد.
برای دست یافتن به مقیاس پذیری روش سیستم های توزیع شده یا Distributed Systems ارائه شد. با بهره گیری از این روش، مثلا زمانیکه بازدیدکنندگان نرم افزار شما 10برابر شوند، باید منابع سیستم را هم 10 برابر کنید و آن را به صورتی مناسب هندل کنید که پاسخگوی این نیاز جدید باشد.
شرط مهم دیگر آن، این است که این مدیریت را به صورتی انجام دهید که کاربران شما هیچ گونه تغییری را در سیستم شما احساس نکنند. یعنی این عمل با حفظ کیفیت تجربه کاربری (UX) انجام شود. اگر بتوانید چنین شرایطی را ایجاد کنید، شما یک سیستم Scalable و مقیاس پذیر دارید.
مقاله مرتبط: بیان تفاوت های UI و UX
البته هزینه و سایر موارد مانند آن نیز اهمیت زیادی دارد؛ یعنی این 10برابر شدن آمار بازدید، نباید هزینه های شما را هم 10 برابر کند و به عنوان مثال اگر تا پیش از این با حدود یک میلیون تومان آن را مدیریت می کردید، این رقم نباید تبدیل به 10میلیون تومان درماه شود و باید طوری عمل کنید که با افزایشی مثلا 2 میلیون تومانی از پس آن بربیایید.
مقاله مرتبط: چند نکته کلیدی در طراحی UI اپلیکیشن اندروید
روش های مقیاس پذیری (Scaling):
مقیاس پذیری دو دسته عمده دارد:
- مقیاس پذیری عمودی (Vertical Scaling)
- مقیاس پذیری افقی (Horizontal Scaling)
مقیاس پذیری عمودی:
مقیاس پذیری عمودی Scaling Up زمانی است که شما سیستم خودرا قدرتمندتر میکنید تا به درخواست های بیشتر، در زمانی کمتر پاسخ دهید. مثلا Ram یا CPU یا کارت گرافیک و… اضافه میکنید ویا مثلا برای طراحی اپلیکیشن خود یک سرور قوی چندترابایتی می خرید تا بتواند اطلاعات بیشترو باحجم بالاتری را در خود ذخیره کند.
مقیاس پذیری افقی:
مقیاس پذیری افقی یا Scale Out کردن روشی است که در آن به جای افزایش منابع بیشتر مثل Ram، تعداد گره ها (Nodes یا همان کامپیوترهای موجود) را افزایش می دهیم. در این حالت (برخلاف حالت عمودی آن) تعداد سرورهارا افزایش می دهیم. یعنی به جای تمرکز بر ارتقای یک سرور، توجه خودرا بر چندین سرور توزیع می کنیم.
هرچند این روش در مقایسه با روش Scaling Up پیچیدگی بیشتری دارد، اما در اکثر اوقات کم هزینه تر است و طرفداران بیشتری دارد.
سخن پایانی:
توجه داشته باشید مقیاس پذیری یا Scaling اهمیت بسیار زیادی دارد و بی توجهی به آن می تواند منجر به آسیب های جدی به کار شما شود. با این روش می توانید به خوبی ترافیک بالای خودرا هندل کنید. امیدواریم با Scale کردن اپلیکیشن یا سایت های خود، بتوانید ترافیک خودرا به بهترین شکل مدیریت نمایید.