Выбор правильной модели развертывания для веб-приложения / api (IaaS, PaaS?)

#cloud

#облако

Вопрос:

У нас есть проект в плане, который будет использовать следующие технологии:

1) asp.net mvc angular для интерфейса

2) asp.net веб-api RESTful сервис

3) службы Windows в фоновом режиме для разных целей

4) очереди сообщений / посредники для обмена сообщениями между 2) и 3)

5) База данных MS SQL

6) Redis или аналогичный кэш

Мы ожидаем значительного трафика в будущем (десятки тысяч запросов в секунду при быстром просмотре) и ожидаем необходимости масштабирования / балансировки нагрузки.

Поскольку у нас пока нет опыта работы с облачными PaaS (всегда используется локальный хостинг или, например, rackspace может использовать серверы IaaS), я хотел бы получить несколько рекомендаций о том, какой наиболее обычный / распространенный способ использования облачного хостинга в таком сценарии?

Моя первая мысль — использовать виртуальные машины IaaS, поскольку наш материал к этому привык. С другой стороны, я бы не хотел упускать преимущества PaaS, если они есть в нашем случае.

Любые мысли будут высоко оценены.

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

1. При всем уважении, этот вопрос, скорее всего, будет закрыт, поскольку он требует рекомендаций и является довольно широким. На вашем месте я бы просто начал с использования виртуальных машин IaaS, чтобы получить представление о Azure, а затем постепенно начал переводить сервисы в PaaS (есть очень много сервисов на выбор), поскольку я лучше понимаю платформу.

2. спасибо за ваш вклад. действительно ценю это!

Ответ №1:

Определенно посмотрите на некоторые предложения PaaS, по крайней мере, для уровня сохраняемости. Azure (предполагается, если используется .NET MVC) Уже предоставляет Redis как сервис, MSSQL как сервис и т. Д. Не нужно беспокоиться о резервном копировании, сбое узлов, управлении кластером redis и т. Д.

Создание новой базы данных занимает всего несколько секунд, и вы можете поддерживать те же клиентские библиотеки Redis, соединения JDBC и т. Д. То же самое касается использования Azure Event Hub или очередей хранения. Материал БД всегда сложно правильно настроить и поддерживать.

Для веб-приложений вы можете попробовать маршрут IaaS, особенно если вы уже знакомы с ним, но все еще указываете на URL-адреса управляемых хостов БД. Большую часть PaaS веб-приложений довольно быстро освоить, если вы уже привыкли к IaaS в облаке. Azure просто предоставляет некоторые дополнительные преимущества, когда дело доходит до автоматического масштабирования, развертывания и т. Д. Но вы все еще работаете с тем же старым кодом C #.