چرا باید از سرویسهای ابری استفاده کنیم؟
همزمان با رواج استفاده از گوشیهای هوشمند و گسترش سریع بازار اپلیکیشنهای موبایل، استانداردها و قواعد تولید محصول نرمافزاری، متدولوژیها، کتابخانهها و زبانهای برنامهنویسی به سمتوسوی جدیدی سوق پیدا کردهاند. پروژههای نرمافزاری جای خود را به محصولات دادند و مفاهیم جدید و مهمی مانند کاهش زمان تولید اپلیکیشن، افزایش ناگهانی کاربران یک محصول، حجم زیاد دادهها، محدودیتهای تکنولوژیهای سنتی و … پدیدار شدند. همه این دغدغهها توسعهدهندگان را به استفاده از سرویسهای ابری ترغیب کردهاند. بکاند موبایل (MBaaS) یکی از مهمترین راهکارهای ارائهشده در سالهای اخیر است. اگر تولیدکننده بازی و اپلیکیشن موبایل باشید، حتماً این سؤال اساسی که «آیا استفاده از این سرویسها کار درستی است یا خیر؟» ذهن شما را درگیر خود کرده است. در ادامه این مقاله قصد داریم مزایا و معایب استفاده از بکاند موبایل را برای شما تشریح کنیم تا بتوانید پیش از ساخت اپلیکیشن و یا بازی بعدیتان، دانش کافی جهت تصمیمگیری در مورد بکاند محصول خود را داشته باشید.
بسیاری از اپلیکیشنهایی که در حال حاضر در بازار ایران و حتی جهان مشاهده میکنید دارای کلاینتهای قدرتمند، سرشار از المانهای گرافیکی و بصری، سناریوها و داستانپردازیها و طراحیهای خوب هستند که عملکرد بدون مشکلی بر روی میلیونها دستگاه دارند و تجربه کاربری بینظیری را ایجاد میکنند. درعینحال اگر تاکنون بازی نوشته باشید و یا اپلیکیشن تولید کرده باشید، خواهید دید که چالشهای ثانویهای وجود دارند. چالشهایی که در ابتدای کار دیده نمیشوند اما با افزایش تعداد کاربران و شروع به درآمدزایی، سراغ شما میآیند. یکی از مهمترین آنها، مشکلات نگهداری زیرساخت است. شما با یک سرور ساده شروع میکنید، کاربران شما هنوز کمتر از چند ده هزار نفر هستند، ناگهان بازی شما مورد استقبال قرار میگیرد و کاربران زیادی شروع به نصب و اجرای بازی میکنند. احتمالاً شما برای مقیاسپذیری (Scalability) فکر چندانی نکرده بودید و یا ایدهای راجع به مشکلاتی که ممکن است ایجاد شود نداشتید، همچنین ممکن است از سیستم تحلیل (Analytics) خوبی استفاده نکرده باشید و درنتیجه پیشبینی صحیحی از نقاط ضعف و قوت محصول خود در دستتان نباشد. واقعیت این است که در آینده اینگونه اطلاعات تضمینکننده موفقیت اپلیکیشن شما خواهند بود. این مجموعه اتفاقات که برای بسیاری از بازیهایی که امروز موفق هستند افتاده است، منجر به کندی اپلیکیشن یا وبسایت، کاهش رضایت کاربران از بازی و در نهایت ترک سایت و یا حذف بازی شما از گوشیهای هوشمند آنها خواهد شد. درنتیجه سکوی پرشی که برای موفقیت تدارک دیده بودید، در عمل تبدیل به نقطه شکست محصول شما میشود.
موارد ذکرشده موجبات ایجاد طیف جدیدی از محصولات به نام MBaaS (Mobile-Backend-as-a-Service) را فراهم آوردند. سرویسهای MBaaS با هدف تسهیل فرآیندهای تکراری و پرکاربرد دنیای موبایل ساختهشدهاند. اگر اکثر بازیها و اپلیکیشنها را از نظر نیازهای سمت سرور بررسی کنید به یک لیست کوتاه و تکراری از نیازمندیها خواهید رسید که سرویسهای بکاند موبایل قصد دارند آنها را به سادهترین شکل ممکن برای شما برآورده کنند. همه اپلیکیشنها نیاز به سرویس Push، تحلیل کاربران، امکان ورود و ثبتنام، اتصال به شبکههای اجتماعی، خرید درونبرنامهای، Leaderboard امن، پایگاه داده، چت آنلاین و … دارند. سرویسهای خوب بکاند موبایل تمامی این نیازمندیها را در یک پکیج یکپارچه در اختیار شما میگذارند. این محصولات در بازارهای خارجی چند سالی است که جای خود را در بین تولیدکنندگان اپلیکیشن باز کردهاند. بازارشان هنوز در حال رشد است و به بلوغ کامل خود نرسیده است، اما میتوان چند صد گزینه مطلوب را در خارج از کشور یافت که در حال کار هستند و سرویسهای خوبی به کاربران میدهند. یکی از مهمترین نمونه این سرویسها، سرویس Firebase است که حدود دو سال پیش توسط گوگل خریداری و در آخرین مراسم Google IO با امکانات جدید بهصورت جدی وارد رقابت با رقبای مهم این حوزه شد.
حال سؤال اینجاست که چرا ما باید از این سرویسها استفاده کنیم و چرا نباید به سراغ راهکارهای سابق برویم؟ باید توجه داشت که راهکارهای بکاند موبایل، مانند هر چیز دیگری، با وجود داشتن مزایای فراوان معایبی دارد و ما باید با شناخت درست این محصولات، بسته به شرایطی که در آن هستیم، برای هر یک از اپلیکیشنهای خود، بین استفاده از بکاند موبایل و راهکارهای دیگر بهترین گزینه را انتخاب کنیم.
مزایا
نکات مثبتی که در استفاده از سرویسهای بکاند موبایل وجود دارد عبارتاند از:
● راهاندازی سریع و ساده یک بکاند شامل پایگاه داده، سرور مجازی و …
● وجود SDK در پلتفرمهای مختلف و عدم نیاز به بازنویسی کدهای تکراری برای اتصال به سرور
● امکان توسعه و تست سریعتر اپلیکیشن و دریافت بازخورد مشتریان
● حذف دردسرهای نگهداری سرور، مانیتور زیرساخت، خرابی سختافزار و ….
● امکان مقیاسپذیری و گسترش ساده، با افزایش تعداد کاربران اپلیکیشن شما
● یکپارچه شدن همه اپلیکیشنهای شما ازلحاظ زیرساخت و راحتی در نگهداری آنها
● امکان تولید تعداد بیشتری ایده و اپلیکیشن در بازه زمانی کوتاهتر و با نیروی انسانی کمتر، بهخصوص وقتی یک استودیو ساخت گیم هستید و سالانه ۱۰ عنوان یا بیشتر بازی تولید میکنید
● پشتیبانی از سطح امنیتی قابلقبول بهصورت پیشفرض
● کاهش هزینههای سرور و افزایش کیفیت زیرساخت
معایب
معایب استفاده از سرویس آماده بهجای راهکارهای خودساخته (in-house) نیز عبارتاند از:
● امکان کنترل کمتر روی زیرساخت سرور
● قرار گرفتن در چارچوب تولیدکننده خاص MBaaS و سختی مهاجرت در صورت لزوم
● نیاز به کمی یادگیری و کار با تکنولوژیهای جدید
در مجموع میتوان مزایا را شامل مقیاسپذیری بالا، راحتی در استفاده، هزینه کمتر و ساخت سریعتر اپلیکیشن و وبسایت در پلتفرمهای مختلف و عیب را آزادی عمل کمتر دانست. معمولاً اکثر اپلیکیشنهایی که در بازار ایران وجود دارند بهسادگی بهوسیله MBaaS قابل پیادهسازی هستند و توصیه میکنیم حتماً یکبار نیازمندیهای اپلیکیشن خود را با لیست ویژگیهایی که یک سرویس بکاند موبایل میدهد، تطابق دهید و امکانسنجی کنید. درصورتیکه ویژگیهای مورد انتظار شما توسط سرویس بکاند تأمین میشود حتماً از این سرویس استفاده کنید.
ویژگیها
در ادامه لیست ویژگیهایی که سرویس بکتوری و یا نمونههای خارجی آن، برای شما برآورده میکنند، آمده است:
● مدیریت کاربران و اتصال به شبکههای اجتماعی
● ساخت پایگاه داده مقیاسپذیر و ذخیره اطلاعات دلخواه کاربران
● امکان خرید درونبرنامهای امن
● سرویس Push Notification
● سرویس تحلیل کاربران
● سرویس اجرای کد و منطق دلخواه (Cloud Code)
● سرویس مرکز بازی شامل Leaderboard و Achievement
● سرویس تطابق کاربران برای بازی (Matchmaking)
● سرویس بلادرنگ (Real time) برای بازیهای آنلاین و اپلیکیشنهای دارای چت
● سرویس نگهداری فایلهای حجیم و پشتیبانی از ترافیک بالا
لیست بالا بر اساس تحلیل تیم بکتوری از نیاز فعلی بازیهای ایرانی و جهت حرکت توسعهدهندگان در بازار ایران تهیه و آماده شده است. ما فکر میکنیم در حال تهیه هر بازی و یا اپلیکیشنی هستید، حتماً میتوانید همه و یا بخش زیادی از نیازمندیهای خود را توسط بکتوری بهخوبی برآورده کنید و از کیفیت و امنیت و توانمندیهای بکتوری برای ارائه یک تجربه کاربری کامل و روان به کاربران خود بهره ببرید.