Веб-приложения Azure с Java, MySql, файловой системой

Некоторые предыстории: в настоящее время у меня развернута виртуальная машина в Azure. На виртуальной машине у меня есть 3 веб-приложения Java, работающих на сервере Tomcat. Каждый так или иначе интегрирован. Все они работают на том же сервере MySql, который работает на виртуальной машине, и все 3 также должны читать и записывать в файловую систему для изображений и других типов файлов. Для сервера MySql выполняется резервное копирование с помощью приложения MySql backup to ftp, которое я настроил для резервного копирования в мою учетную запись Dropbox. (Dropbox не является обязательным требованием, однако мне нужен какой-то тип службы резервного копирования)

В последнее время я наблюдал большой толчок к использованию веб-приложений Azure, поскольку они управляются, легко масштабируются и в целом более надежны и просты. Однако я считаю, что они больше ориентированы на простое приложение, которое не соответствует перечисленным выше требованиям.

Мой вопрос: следует ли мне переходить на веб-приложения Azure? Если да, то каков наилучший план действий? Например, как я могу писать в файловую систему и достаточно ли надежен cleardb?

0
задан 27 December 2015 в 09:55
1 ответ

Ваш вопрос о том, стоит ли вам переходить на Web Apps, в основном основан на мнении, но с объективной точки зрения: Веб-приложения и ВМ не являются взаимозаменяемыми и не предназначены для этого. Web Apps (часть Azure App Service) специально ориентированы на уровень web/app, и предлагают все необходимое для этого (включая масштабирование, управление сертификатами и т.д.). Служба App Service не будет поддерживать 100% того, с чем вы работаете, поэтому вам придется либо остаться с тем, что у вас есть, либо создать среду, в которой вы используете как ВМ, так и Службу App Service.

Web Apps полностью поддерживают VNets, так что даже если вы разделите вашу среду приложений между этими двумя уровнями, вы сможете поддерживать безопасное взаимодействие между ними.

Web Apps не предназначены для простых приложений как таковых. Но вы несколько ограничены в том, что вы можете установить. Например, вы не можете установить MySQL. Вы также не захотите этого делать, так как у вас не будет контроля над системными ресурсами и подключенными дисками, чтобы управлять чем-то подобным надежным.

У вас также есть специальный доступ к портам для веб-приложений. То есть, только порты 80 и 443. Наряду с поддержкой веб сокетов

Среда Web App является многопользовательской (еще одна причина, по которой вы не можете установить что-то тяжелое, например, MySQL). Ваш уровень приложения будет работать на любом количестве экземпляров (или будет перемещен на другую ВМ в кластере по мере необходимости).

Среда Web App только для Windows (что обычно не имеет значения при работе с запущенным кодом, таким как node, .net, php, Java, и python (текущий список поддерживаемых языков).

Это правда, что сервис Web App полностью управляется, и что вы беспокоитесь только о вашем коде. Наряду с интеграцией управления версиями, обновление вашего приложения практически нетривиально (например, нажимать на github и автоматически запускать новую версию приложения). Но учитывая, что обычно существует потребность в базе данных и других сложных сервисах, именно здесь вы можете воспользоваться преимуществами ВМ (если сервис, предоставляемый Azure, не тот, что вам нужен). Вам все равно придется управлять создаваемыми ВМ, но вы сможете выгрузить часть вашего приложения на ВМ.

Я знаю, что вы не используете ролей Web / Worker Roles (которые подходят для веб-приложений и ВМ), но я написал сравнение между ними на StackOverflow здесь. Это дает немного больше информации о том, как можно использовать веб-приложения.

.
1
ответ дан 4 December 2019 в 16:44

Теги

Похожие вопросы