«Трохи про платформах»: Backend-as-a-Service

П'ять років тому ринок backend-as-a-service (BaaS) був достаточно невеликим. Сьогодні він оцінюється 1,32 млрд доларів і очікується, що ця цифра зросте до 28 млрд до 2020 року. У цьому матеріалі ми подивимося, навіщо потрібен BaaS і розглянемо принципи роботи BaaS-провайдера на конкретному прикладі.


/ фото CommScope CC

Сьогодні, використовуючи BaaS, розробники здатні швидко побудувати необхідний бекенд і платформу для обробки даних, що надходять з мобільних додатків. BaaS-функції включають в себе хмарне сховище, push-повідомлення, управління користувачами і файлами, служби визначення розташування та ін Всі ці сервіси имеют власний API, що дозволяє їм легко вбудовуватися в додатку.

По суті, BaaS решает три завдання розробників. Перша з них – це швидкість розвитку. Для кожного проекту необхідно визначити ключовий набір функцій продукту і використовуваних технологій, з допомогою яких проект буде реалізований. Backend-as-a-Service вирішує ці задачі, відповідаючи на питання: «Як дійти до наступної ітерації швидко, дешево і з мінімальними ризиками».

Друга задача, яку вирішує BaaS – це рівномірність. У цьому разі завдання мультиплатформенність зміщуються з фронтенда на бекенд, що дає можливість робити програми для різних операційних систем з однаковою начинкою під капотом» і не плутатися в їх особливостях.

Третя – це охоплення. Якщо ваш стартап побудований на певній ідеї з високою виральностью, BaaS допоможе з такими речами, як інтеграція з соціальними мережами і хмарними сховищами.

Реальний кейс
BaaS-платформами пользуется безліч розробників ігор, соціальних і корпоративних додатків. Раніше флагманом руху BaaS вважалася компанія Parse. Вона була заснована в 2011 році і надавала рішення для віддаленої роботи з даними (обробка і зберігання), що спрощувало написання серверної бізнес-логіки на JS.

Проте в 2016 році Facebook купили стартап і припинили обслуговування клієнтів через рік. Ця подія збіглася в часі з розробкою вітчизняної BaaS-платформи Scorocode від Prof-IT Ventures. Факт того, що ринку було потрібно нове бекенд-рішення, підкріплювався результатами проведеного аналізу. Згідно статистикещодня у світі з'являється близько двох тисяч мобільних додатків: реалізуються свіжі проекти, нові ідеї, число розробників збільшується на 20-30% щороку.

Scorocode – це хмарна backend-платформа, яка використовує принцип кластеризації з поділом за типами – API, системи управління базами даних, файли, статистика – і спрощує розробку мобільних, настільних і веб-додатків. Кожен кластер API, що працює з кінцевими додатками, здатний витримати навантаження до 25 тисяч запитів у секунду.



Бекенд-платформа Scorocode працює наступним чином: додатки звертаються до DNS round robin, яка розподіляє запити по кластерах. Далі, кластерний API розподіляє їх на СУБД, забезпечуючи зв'язок «багато до багатьох». Зазначимо, що основний СУБД, що використовується в Scorocode, є MongoDB, а також компанія використовує Redis, сервер черг під RabbitMQ і високопродуктивний API-Go.

«Google активно розвиває мову Go, писати на ньому комфортно, код виходить компактним, а продуктивність тримається на рівні З++, – відзначають співробітники Prof-IT Ventures. – Множинні микросервисы платформи теж розроблені на Go».

Реалізуючи проект Scorocode, компанія хотіла знайти надійного хостинг-провайдера, здатного забезпечити відмовостійкість хмарної платформи і безпечне зберігання даних на території Росії.

«Оскільки важко відразу оцінити необхідні для експлуатації ресурси, архітектура рішення неодноразово коректувалася. Весь цей час (близько двох місяців) «ІТ-ГРАД» дозволив нам працювати безкоштовно, оперативно виділяючи необхідні під проект потужності», – рассказывает Ара Ісраелян, директор по розробці програмного забезпечення Prof-IT Ventures.

В цілях компанії Prof-IT Ventures значилося довгостроковий розвиток платформи та підтримка програм протягом усього їх життєвого циклу: сюди входила швидка розробка бекенду та прототипування фронтенд-додатків будь-яких масштабів.

Сьогодні Scorocode надає готовий набір функцій з хмари «ІТ-ГРАД», які зменшують час на розробку програм шляхом полегшення виконання рутинних завдань розробником, куди входять такі речі, як авторизація, відновлення паролів, збереження і управління даними користувачів, моделювання, реалізація повідомлень (push email, SMS), а також зрозумілі системи аналітики.

P. S. Ось ще кілька матеріалів з нашого блогу:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.