Общие сведения об Облачных службах Azure (классических)
Внимание
Облачные службы (классическая версия) теперь устарела для всех клиентов с 1 сентября 2024 года. Все существующие запущенные развертывания будут остановлены и завершены корпорацией Майкрософт, и данные будут постоянно потеряны начиная с октября 2024 года. Для новых развертываний следует использовать Облачные службы Azure с расширенной поддержкой. Это новая модель развертывания на основе Azure Resource Manager.
Облачные службы Azure являются примером концепции платформа как услуга (PaaS). Так же как и служба приложений Azure, эта технология предназначена для поддержки масштабируемых, надежных и недорогих в эксплуатации приложений. Облачные службы Azure размещаются так же, как и службы приложений на виртуальных машинах (ВМ). Однако над виртуальными машинами доступен больший контроль. На виртуальных машинах, использующих облачные службы Azure, можно установить собственное программное обеспечение, а затем получить удаленный доступ к нему.
Дополнительный контроль, помимо прочего, усложняет использование. Если вам не нужны дополнительные параметры управления, обычно это быстрее и проще получить веб-приложение в веб-приложения функции Служба приложений по сравнению с Azure Облачные службы.
Существует два типа ролей облачных служб Azure. Единственное различие между ними — способ размещения роли в виртуальной машине.
Веб-роль: автоматически развертывает и размещает приложение через службы IIS (IIS).
Рабочая роль: не использует службы IIS и запускает автономное приложение.
Например, простое приложение может использовать только одну веб-роль, обслуживающую веб-сайт. Более сложное приложение может использовать веб-роль для обработки поступающих от пользователей запросов, а затем передавать эти запросы в рабочую роль для обработки. (Это сообщение может использовать служебная шина Microsoft Azure или хранилище очередей Azure.)
Как видно из предыдущего рисунка, все виртуальные машины в рамках отдельного приложения выполняются в одной облачной службе. Пользователи осуществляют доступ к приложению через отдельный общедоступный IP-адрес, при этом для виртуальных машин приложения выполняется автоматическая балансировка нагрузки. Платформа масштабирует и развертывает виртуальные машины в приложении облачных служб Azure таким образом, чтобы исключить единственную точку отказа оборудования.
Несмотря на то что приложения выполняются в виртуальных машинах, важно понимать, что облачные службы предоставляются не как IaaS, а PaaS. Ниже рассматривается один из способов. В модели IaaS, такой как виртуальные машины Azure, сначала создайте и настройте среду, в которой будет работать приложение. Затем разверните приложение в этой среде. При таком подходе на вас ложится множество обязанностей, например, по развертыванию новых исправленных версий операционной системы в каждой виртуальной машине. В PaaS же среда уже существует. Вам нужно всего лишь развернуть свое приложение. Управление платформой, на базе которой оно выполняется, включая развертывание новых версий операционной системы, осуществляется за вас.
Масштабирование и управление
При использовании облачных служб Azure вы не создаете виртуальные машины. Вместо этого предоставляется файл конфигурации, сообщающий Azure, сколько ресурсов вам требуется, например три экземпляра веб-роли и два экземпляра рабочей роли. Платформа создаст их самостоятельно. Вам все равно нужно выбрать размер для резервных виртуальных машин, но не требуется явно создавать их самостоятельно. Если ваше приложение сталкивается с высокой нагрузкой, вы можете запросить дополнительные виртуальные машины, после чего Azure создаст необходимые экземпляры. В случае спада нагрузки вы можете завершить работу этих экземпляров и перестать оплачивать их.
В основном приложение облачных служб Azure можно сделать доступным пользователям за два следующих этапа. Сначала разработчик загружает приложение в промежуточную область платформы. Когда разработчик готов выпустить приложение, он использует портал Azure для переключения из промежуточной области в производственную. Это переключение из промежуточной области в производственную можно выполнить без простоя, что позволяет обновить запущенное приложение до новой версии, не нарушая работу пользователей в нем.
Наблюдение
Кроме того, облачные службы Azure обеспечивают мониторинг. Как и модель виртуальных машин, эта модель обнаруживает неисправный физический сервер и перезапускает выполняемые на нем виртуальные машины на новом компьютере. Однако модель облачных служб Azure также обнаруживает не только аппаратные сбои, но и неисправные виртуальные машины и приложения. В отличие от виртуальных машин, она использует агент внутри каждой веб-роли и рабочей роли, что позволяет в случае сбоя запустить новые виртуальные машины и экземпляры приложений.
Характер PaaS у модели облачных служб Azure имеет и другие аспекты. Одним из наиболее важных последствий является то, что следует создавать приложения, созданные на основе этой технологии, чтобы правильно выполняться при сбое любого экземпляра веб-роли или рабочей роли. Чтобы достичь этой цели, приложение Azure Облачные службы не должно поддерживать состояние в файловой системе собственных виртуальных машин. В отличие от ВМ, созданных с помощью виртуальных машин, операции записи для виртуальных машин облачной службы Azure не сохраняются надолго. В них нет ничего похожего на диск данных виртуальной машины. Вместо этого приложение облачных служб Azure должно явным образом записывать все данные о состоянии в базу данных SQL, BLOB-объекты, таблицы или любое другое внешнее хранилище Azure. Создание приложений таким образом упрощает масштабирование и более устойчивую к сбоям. Масштабируемость и устойчивость являются важными целями Azure Облачные службы.