2013-06-21 3 views
2

Я пытаюсь решить между двумя компаниями-разработчиками. Один хочет пойти с парсером, а другой хочет построить бэкэнд. Я хотел бы получить обратную связь и причины, почему создание бэкэнд или использование BaaS, такого как Parse, Stackmob лучше с точки зрения масштабируемости и производительности.Собственный бэкенд против BaaS

Например, давайте использовать SnapChat очень популярное приложение, которое обрабатывает миллионы пользователей и запросы данных. Что произойдет, если новое приложение будет испытывать значительное увеличение количества пользователей и запроса данных. Может ли бэкэнд справиться с этим? Буду ли я стремиться к тому, чтобы он был исправлен вскоре после увеличения числа пользователей?

ответ

2

Поставщики BaaS, такие как apiomat или parse, должны обрабатывать запросы тысяч приложений. У каждого приложения может быть много пользователей. Поставщики вынуждены сделать систему абсолютно безопасной и масштабируемой, потому что, если есть какие-либо проблемы в отношении одного из этих пунктов, это будет конец их бизнеса ... Создание масштабируемых защищенных бэкэндов по своему усмотрению не так просто, как вы ожидали. Эти компании, упомянутые выше, вложили в это несколько человеко-лет.

8

Что-то вроде Parse.com дает вам большую ценность для небольших капиталовложений. С BaaS все детали управления инфраструктурой скрыты. Развертывание, проблемы с пропускной способностью системы, доступность системы, безопасность системы, администрирование базы данных и множество других задач просто исчезают при использовании хорошего BaaS. Например, Parse.com использует Amazon Web Services и балансировку эластичной нагрузки, чтобы динамически добавлять в систему больше возможностей по мере увеличения использования. Это нирвана управления пропускной способностью.

Parse.com - особый вид BaaS. Цель Parse.com - быть легким задним контентом для мобильных приложений. Я считаю, что Parse.com - очень хороший мобильный бэкэнд-сервис (MBaaS - link to a Forrester article on the subject).

Тем не менее, времена, когда Parse.com не является правильным решением. Оцените количество пользователей приложения и количество HTTP-запросов, а средний пользователь отправит через день. Расходы Parse.com на количество транзакций. Pro Plan имеет следующие ограничения:

  • 15 млн HTTP запросов в месяц
  • предел Всплеск 40 запросов в секунду

Много мелких сделок может привести к более высокой стоимости для владельца приложения. Например, если есть 4500 пользователей, каждый из которых отправляет 125 запросов HTTP на Parse.com в день, то вы уже просматриваете 16 850 000 запросов каждые 30 дней. Parse.com также предлагает более высокий уровень обслуживания под названием Parse Enterprise. Подробная информация об этом плане не опубликована.

Услуги, предоставляемые BaaS/MBaaS, сэкономят много времени и энергии со стороны разработчика приложений, но налагают некоторые ограничения. Например, время ответа Parse.com может быть слишком медленным для ваших нужд. Если вы не перейдете на корпоративный план, вы не сможете контролировать время отклика. В настоящее время у вас нет контроля над местом размещения вашего приложения (в настоящее время, например, в приложениях для анализа данных в Амазонке в Вирджинии).

Поставщики BaaS, на которые я смотрел, не обеспечивают показатели качества обслуживания. Даже если бы они это сделали, нет никакого соглашения сообщества о том, какие показатели будут значимыми. Вы просто получаете то, что получаете, и надеетесь, что это будет достаточно для ваших нужд.

Приложение является хорошим кандидатом для MBaaS если:

  1. Это просто или логика приложения может работать полностью на стороне клиента (телефон, планшет ...)
  2. невозможно оценить количество пользователей или количество пользователей может быть огромным.
  3. Вы не хотите больших авансовых капиталовложений.
  4. Вы не хотите нанимать специалистов по инфраструктуре для управления пропускной способностью/безопасностью/данными/восстановлением/сетевой инженерией.
  5. Ваше приложение не имеет строгих требований времени отклика.

Лучшим вариантом использования Parse является разработчик iPhone, который написал игру и должен хранить высокие баллы пользователя, но ничего не знает о серверах. Тем не менее, сложное приложение, например Hipmunk, использует Parse. Посмотрите на Parse.com's portfolio of case studies. Можете ли вы представить свое приложение в этом портфолио или оно сильно отличается от этих приложений?

Даже если BaaS не является правильным решением, может быть PaaS или IaaS. Посмотрите на Rackspace и AWS. В этот день и возраст, покупка оборудования и запуск центра обработки данных трудно оправдать.