بررسی مزایای استفاده از سرویس ابری در مقایسه با توسعهی مستقیم (۳)
در دو پست قبلی بلاگ به بررسی برخی از مزیتهای استفاده از سرویسهای ابری در مقایسه با توسعهی مستقیم با تمرکز بر سرویسهای مدیریت کاربران، پایگاه داده و رایانش پرداختیم. در این پست سرویس بلادرنگ (Real-time) از این منظر بررسی میشود.
سرویس بلادرنگ با توجه به ویژگی خاص خود که ناشی از اتصال زنده کلاینت و سرور است، دشواریهای توسعه خاص خود را داشته و همین امر باعث شده است تا برای نمونه، دو سرویس بلادرنگ ابری فوتون و فایربیس هریک نزدیک به دویست هزار توسعهدهنده را به خود جذب کنند. قرار گرفتن این آمار در کنار آمار کاهش زمان توسعه تا ۸۰ درصد بر انگیزه توسعهدهندگان برای استفاده از این سرویس میافزاید.
یکی از مهمترین دلایل اقبال به استفاده از سرویس بلادرنگ ابری (Real time)، وجود چالشهای خاص توسعهی سرور بلادرنگ است که نسبت به سرور rest دشواریهای بیشتری دارد. برای مثال فرض کنید شما اپلیکیشن چتی دارید که به دلیل تعداد بالای کاربران و تقاضای زیاد، باید روی بیش از یک سرور به سرویسدهی بپردازد. اگر درخواست rest شما طی فراخوانهای متعدد به سرورهای متفاوتی برود در کاربردهای رایج مشکلی ایجاد نمیشود اما در حالت بلادرنگ و مثلاً زمانی که چند نفر با هم در حال چت کردن هستند، همگی باید به یک سرور متصل باشند تا پیامها یکدیگر را دریافت کنند یا به روشی دیگر پیامها بین سرورهای موجود جابجا شود تا پیام هر کاربر به سروری برود که آن کاربر به آن متصل است.
یکی از مهمترین مزیتهای استفاده از سرویس ابری برای سرویس بلادرنگ، تضمین آپتایم (Up time) بالا است. دغدغهای که توسعهدهندگان سرور همواره با آن روبرو هستند. استفاده از سرویس ابری معتبری نظیر بکتوری که دارای تیم توسعه و نگهداری سرور متخصص و تماموقت است، این دغدغه را برای توسعهدهندگان مرتفع کرده و باعث میشود تا ایشان فقط بر ساخت بهترین کلاینت متمرکز باشند.
اما استفاده از سرویس بلادرنگ بکتوری برتری دیگری برای توسعهدهندگان ایرانی دارد که میتواند انگیزهای برای استفاده از این محصول بهجای نمونههای خارجی باشد. در فرایند ساخت اپلیکیشنهای بلادرنگ (و بهطور خاص، بازیهای بلادرنگ) تأخیر استفاده از سرورهای معتبر داخلی این قابلیت را برای بکتوری فراهم آورده است تا از زمان ping بسیار کمتری نسبت به سرورهای خارج از ایران برخوردار باشد. برای نمونه نتیجهی یکی از آزمایشهای ما که در آن زمان ping سرورهای بکتوری را نسبت به این زمان برای سرورهای گوگل سنجیدیم، کاهش این زمان از ۱۱۰ms به ۱۵ms (هر دو عدد بهطور میانگین گزارش شدهاند) مؤید جملهی فوق است که این کاهش میتواند در تعداد درخواست بالا و برای بسیاری از بازیها حائز اهمیت باشد.
یکپارچهسازی با سایر سرویسها، مقیاسپذیری، امنیت و احراز هویت و پرداخت هزینه متناسب با میزان مصرف ازجمله مزیتهایی است که استفاده از سرویس بلادرنگ ابری برای توسعهدهندگان فراهم میکنند که چون در سایر سرویسهای بکتوری نیز نمود داشته و قبلاً توضیح داده شده است، در این پست به آنها نمیپردازیم.