НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

Бэкэнд на миллионы пользователей за три минуты

Сергей Бобровский
12.02.2014 13:02:35

Какие ИТ-платформы уже можно вовсю использовать, и какие на подходе к зрелости.


Продолжаем обзор Technology Radar -- текущие ИТ-тренды от экспертов Thought Works.

СПО-хиты сезона: NoSQL MongoDb и Redis, графовая СУБД Neo4J, серверный JavaScript-движок Node.js, распределённый реалтаймовый механизм поиска и аналитики http://www.elasticsearch.org/ , а также забавный тренд реализации UI с помощью смс-ок/USSD (например, доставка содержимого веб-странички на обычный телефон) -- своеобразный «интернет для бедных», популярный, например, в нищих регионах Индии.

Технологии, которые как минимум пора пробовать вовсю: Hadoop 2.0, Hadoop-as-a-service с хорошим уровнем абстракции, облачная платформа OpenStack, PostgreSQL как NoSQL, и несколько неожиданно в этот солидный список затесалась https://github.com/praekelt/vumi -- система поставки сообщений (тех же sms) -- возможно, в рамках тренда, упомянутого в предыдущем абзаце.

Что на подходе, активно развивается, за чем следить?

Akka -- платформа/язык программирования на базе концепции actor-ов, реализованная на JVM (своеобразная Scala). Очень лёгкая, держит 2,7 млн. «акторов» в 1 Гб ОЗУ, устойчивая в гетерогенных средах. Полезна всем, создающим highload-системы;

Дешёвые роботы -- цена промышленных роботов быстро падает, а их безопасность и разумность так же быстро растёт, что делает их доступными уже для СМБ;

PhoneGap/Apache Cordova -- эта кросс-платформная среда разработки мобильных систем для всех мыслимых мобильных ОС с помощью HTML5/JavaScript -- код конечно будет не нативным, да и сам по себе фреймворк не самый дружелюбный, однако скорость создания кросс-платформных программ после освоения продукта будет высокой.

Отдельная большая тема, заслуживающая отдельного рассмотрения: Backend-as-a-service (также известен как mobile backend as a service). Thought Works недаром поставила эту группу технологий в раздел триальных -- в основном, из-за молодости сервисов. Идея BaaS в том, что разработчику облачной/мобильной системы предоставляется готовый бэкенд -- не IaaS/PaaS, где многое надо настраивать вручную, а скорее SaaS, предоставляющий главным своим сервиcом серверный Backend.

Программист за три минуты после регистрации получает в распоряжение неограниченно масштабирующуюся абстрактную СУБД с гарантированно малым временем отклика, не привязанную к конкретной марке, и возможность реализации серверной логики на каком-нибудь скрипт-языке. Взаимодействие с СУБД (как правило, в формате JSON) и логикой осуществляется встраиванием соответствующих программных вызовов в код клиента (предоставляются SDK для разных платформ), а также через REST API. Примеры: parce.com, kumulos.com и др.

продолжение следует

Комментариев: 8

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

12.02.2014 15:02:10

parse.com конечно.

13.02.2014 12:53:18

Интересно, кто-нибудь из программистов через три минуты после регистрации попытался залить в неограниченно масштабируемую СУБД хотя бы 100 Гб сгенерированных тестовых данных и оценить скорость выборок по произвольным критериям?

Можно даже взять готовые скрипты для сиквел-сервера и попробовать себя если не в "биг-дада" (о, я придумал новый термин smile;) ), то хотя бы в обычной OLAP БД уровня отдела предприятия.

13.02.2014 13:41:49

Я пробовал, только не 100 гиг (зачем? у этих сервисов другая цель, отделы предприятий пусть идут в амазон), а на два порядка меньше. Да и то много -- это уже несколько тысяч юзеров в онлайне. Отклик до 20 миллисекунд (причем не от базы, а уже через скриптовую логику).
За аналогичную цену если арендовать виртуальный сервер, ставить на него свою базу и сервер приложений, то отклик выходит 200-300 мс.

13.02.2014 16:40:05

Значит сервис все-таки ограниченно масштабируемый для определенного класса приложений.
Тогда надо бы его потестировать на базе в 1-10 Гб с типовыми финансовыми транзакциями при 10-100 одновременных пользователях.

13.02.2014 19:24:44

Зачем сервис тестировать на 100 одновременных пользователей, если его себе фейсбук подключил, а zynga на нем сотни тысяч юзеров держит?

13.02.2014 19:27:48

Можно и на 1000 и больше, но начинать надо с 10 и смотреть, как растет задержка.

13.02.2014 19:35:19

Зачем её смотреть? Эти сервисы внутри себя используют известные облачные службы, достаточно их SLA почитать.

13.02.2014 19:37:09

"На SLA надейся, а сам не плошай" smile:)

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии