6

Я заинтересован в размещении mongoDB на Azure. Я считаю, что у меня есть несколько вариантов того, как я размещаю db на Azure: виртуальную машину или роль рабочего. Каковы преимущества и недостатки каждого варианта? Более конкретно, как каждый подход отличается техническим обслуживанием, конфигурацией, масштабируемостью, легкостью работы с .net и стоимостью. Легко ли переключиться на другой вариант позже?MongoDB на Azure: роль VM или работника?

Некоторые детали о том, что я создаю (, хотя мне бы хотелось услышать общие про/минусы опций, основанных на меняющихся обстоятельствах.): Доступ к db будет осуществляться на веб-сайте Azure. Этот веб-сайт будет обслуживать сайт сайта ASP.NET MVC Web API. Я не ожидаю, что трафик на услугу и, следовательно, db, будет составлять более 100 запросов ресурсов в минуту, по крайней мере, для начала. База данных будет относительно небольшой, а в обозримом будущем - до 10 000 записей.

+0

Я хотел бы реализовать web api, и моя база данных - mongodb на лазурном, так что, пожалуйста, назовите меня, поделившись некоторыми полезными ресурсами, как подключиться к mongodb из web api, любая помощь оценивается. – loop

ответ

11

Ну ... MongoDB проще настроить в виртуальных машинах, так как вы можете настроить все, что вам нужно, без использования сценариев запуска для настройки.

Поскольку у вас будет ваш сайт на веб-сайтах Azure, вы можете публично публиковать конечные точки или создавать виртуальную сеть между веб-сайтом и виртуальной машиной (теперь поддерживается).

Если вы развертываете автономный сервер, разница между виртуальной машиной и развертыванием роли рабочего не имеет большого значения. Но ... как только вы попадаете в комплекты реплик и осколки, вы сможете с легкостью работать с Virtual Machines. И если вы хотите запустить Linux вместо Windows, у вас не останется выбора, кроме как пойти с виртуальными машинами.

Относительно простоты работы с MongoDB от .net: Это не имеет значения.

Масштабирование: не часто вы будете изменять размеры виртуальной машины или количество виртуальных машин. Изменения размера VM должны быть одинаковыми для любой установки. Масштабирование большего количества виртуальных машин (например, расширение набора реплик), вероятно, более управляемо с помощью Virtual Machines, так как вы будете полностью контролировать каждый узел. Это, вероятно, более важно при масштабировании в (удаление узла), поскольку масштаб экземпляра рабочей роли не позволяет указать, какой экземпляр будет удален.

EDIT Июль 2015 - этот ответ 2 года. Я очистил несколько вещей. Быстрое обновление: размеры

  • VM значительно больше, чем упоминалось ранее (до 448GB 32-жильный, много для MongoDB), наряду с SSD-устройства хранения данных для некоторых из VM размеров
  • Помимо ручной настройки , новый менеджер ресурсов Azure может использоваться для автоматизации развертывания кластеров на виртуальных машинах.

Последняя мысль: если вы размышляете над вариантами, вы можете рассмотреть размещенное решение MongoDB, такое как MongoLab. Вы можете создать бесплатную (500 МБ) или платную базу данных либо через Azure Store, либо непосредственно через веб-сайт MongoLab. Это займет всего минуту, чтобы настроить ...

+0

Отлично. Устанавливает меня в правильном направлении! – sidesinger

+1

Поскольку этот ответ был написан, виртуальные машины с большей памятью теперь также доступны для ролей Web и Worker как часть Azure SDK для .Net 2.0 – knightpfhor

+0

@knightpfhor - хороший улов. Я уже отредактировал другой ответ, как-то забыл об этом. Исправлена. –

Смежные вопросы