Назад | Перейти на главную страницу

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

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

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

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

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

Веб-приложения полностью поддерживают виртуальные сети, поэтому даже если вы разделите среду приложения между ними, вы сможете поддерживать безопасную связь между уровнями.

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

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

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

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

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

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