Общие сведения об облачных службах AzureOverview of Azure Cloud Services

Облачные службы Azure являются примером концепции платформа как услуга (PaaS).Azure Cloud Services is an example of a platform as a service (PaaS). Так же как и служба приложений Azure, эта технология предназначена для поддержки масштабируемых, надежных и недорогих в эксплуатации приложений.Like Azure App Service, this technology is designed to support applications that are scalable, reliable, and inexpensive to operate. Облачные службы Azure размещаются так же, как и службы приложений на виртуальных машинах (ВМ).In the same way that App Service is hosted on virtual machines (VMs), so too is Azure Cloud Services. Однако над виртуальными машинами доступен больший контроль.However, you have more control over the VMs. На виртуальных машинах, использующих облачные службы Azure, можно установить собственное программное обеспечение, а затем получить удаленный доступ к нему.You can install your own software on VMs that use Azure Cloud Services, and you can access them remotely.

Диаграмма облачных служб Azure

Дополнительный контроль, помимо прочего, усложняет использование.More control also means less ease of use. Если вам не требуются возможности дополнительного контроля, как правило, гораздо быстрее и проще запустить и выполнить веб-приложение в веб-приложениях службы приложений, чем в облачных службах Azure.Unless you need the additional control options, it's typically quicker and easier to get a web application up and running in the Web Apps feature of App Service compared to Azure Cloud Services.

Существует два типа ролей облачных служб Azure.There are two types of Azure Cloud Services roles. Единственное различие между ними — способ размещения роли в виртуальной машине.The only difference between the two is how your role is hosted on the VMs:

  • Веб-роль: Автоматически развертывает и размещает приложения с помощью IIS.Web role: Automatically deploys and hosts your app through IIS.

  • Рабочая роль: не использует IIS и запускает приложение автономно.Worker role: Does not use IIS, and runs your app standalone.

Например, простое приложение может использовать только одну веб-роль, обслуживающую веб-сайт.For example, a simple application might use just a single web role, serving a website. Более сложное приложение может использовать веб-роль для обработки поступающих от пользователей запросов, а затем передавать эти запросы в рабочую роль для обработки.A more complex application might use a web role to handle incoming requests from users, and then pass those requests on to a worker role for processing. (Это сообщение может использовать служебная шина Microsoft Azure или хранилище очередей Azure.)(This communication might use Azure Service Bus or Azure Queue storage.)

Как видно из предыдущего рисунка, все виртуальные машины в рамках отдельного приложения выполняются в одной облачной службе.As the preceding figure suggests, all the VMs in a single application run in the same cloud service. Пользователи осуществляют доступ к приложению через отдельный общедоступный IP-адрес, при этом для виртуальных машин приложения выполняется автоматическая балансировка нагрузки.Users access the application through a single public IP address, with requests automatically load balanced across the application's VMs. Платформа масштабирует и развертывает виртуальные машины в приложении облачных служб Azure таким образом, чтобы исключить единственную точку отказа оборудования.The platform scales and deploys the VMs in an Azure Cloud Services application in a way that avoids a single point of hardware failure.

Несмотря на то что приложения выполняются в виртуальных машинах, важно понимать, что облачные службы предоставляются не как IaaS, а PaaS.Even though applications run in VMs, it's important to understand that Azure Cloud Services provides PaaS, not infrastructure as a service (IaaS). Ниже рассматривается один из способов.Here's one way to think about it. В модели IaaS, такой как виртуальные машины Azure, сначала создайте и настройте среду, в которой будет работать приложение.With IaaS, such as Azure Virtual Machines, you first create and configure the environment your application runs in. Затем разверните приложение в этой среде.Then you deploy your application into this environment. При таком подходе на вас ложится множество обязанностей, например, по развертыванию новых исправленных версий операционной системы в каждой виртуальной машине.You're responsible for managing much of this world, by doing things such as deploying new patched versions of the operating system in each VM. В PaaS же среда уже существует.In PaaS, by contrast, it's as if the environment already exists. Вам нужно всего лишь развернуть свое приложение.All you have to do is deploy your application. Управление платформой, на базе которой оно выполняется, включая развертывание новых версий операционной системы, осуществляется за вас.Management of the platform it runs on, including deploying new versions of the operating system, is handled for you.

Масштабирование и управлениеScaling and management

При использовании облачных служб Azure вы не создаете виртуальные машины.With Azure Cloud Services, you don't create virtual machines. Вместо этого предоставляется файл конфигурации, сообщающий Azure, сколько ресурсов вам требуется, например три экземпляра веб-роли и два экземпляра рабочей роли.Instead, you provide a configuration file that tells Azure how many of each you'd like, such as "three web role instances" and "two worker role instances." Платформа создаст их самостоятельно.The platform then creates them for you. Вам все равно нужно выбрать размер для резервных виртуальных машин, но не требуется явно создавать их самостоятельно.You still choose what size those backing VMs should be, but you don't explicitly create them yourself. Если ваше приложение сталкивается с высокой нагрузкой, вы можете запросить дополнительные виртуальные машины, после чего Azure создаст необходимые экземпляры.If your application needs to handle a greater load, you can ask for more VMs, and Azure creates those instances. В случае спада нагрузки вы можете завершить работу этих экземпляров и перестать оплачивать их.If the load decreases, you can shut down those instances and stop paying for them.

В основном приложение облачных служб Azure можно сделать доступным пользователям за два следующих этапа.An Azure Cloud Services application is typically made available to users via a two-step process. Сначала разработчик загружает приложение в промежуточную область платформы.A developer first uploads the application to the platform's staging area. Когда разработчик готов выпустить приложение, он использует портал Azure для переключения из промежуточной области в производственную.When the developer is ready to make the application live, they use the Azure portal to swap staging with production. Это переключение из промежуточной области в производственную можно выполнить без простоя, что позволяет обновить запущенное приложение до новой версии, не нарушая работу пользователей в нем.This switch between staging and production can be done with no downtime, which lets a running application be upgraded to a new version without disturbing its users.

ОтслеживаниеMonitoring

Кроме того, облачные службы Azure обеспечивают мониторинг.Azure Cloud Services also provides monitoring. Как и модель виртуальных машин, эта модель обнаруживает неисправный физический сервер и перезапускает выполняемые на нем виртуальные машины на новом компьютере.Like Virtual Machines, it detects a failed physical server and restarts the VMs that were running on that server on a new machine. Однако модель облачных служб Azure также обнаруживает не только аппаратные сбои, но и неисправные виртуальные машины и приложения.But Azure Cloud Services also detects failed VMs and applications, not just hardware failures. В отличие от виртуальных машин, она использует агент внутри каждой веб-роли и рабочей роли, что позволяет в случае сбоя запустить новые виртуальные машины и экземпляры приложений.Unlike Virtual Machines, it has an agent inside each web and worker role, and so it's able to start new VMs and application instances when failures occur.

Характер PaaS у модели облачных служб Azure имеет и другие аспекты.The PaaS nature of Azure Cloud Services has other implications, too. Один из наиболее важных заключается в том, что построенное на базе этой технологии приложение должно обеспечивать правильную работу в случае сбоя какого-либо из экземпляров веб-роли или рабочей роли.One of the most important is that applications built on this technology should be written to run correctly when any web or worker role instance fails. Для этого приложение облачных служб Azure не должно сохранять состояние в файловой системе своих собственных виртуальных машин.To achieve this, an Azure Cloud Services application shouldn't maintain state in the file system of its own VMs. В отличие от ВМ, созданных с помощью виртуальных машин, операции записи для виртуальных машин облачной службы Azure не сохраняются надолго.Unlike VMs created with Virtual Machines, writes made to Azure Cloud Services VMs aren't persistent. В них нет ничего похожего на диск данных виртуальной машины.There's nothing like a Virtual Machines data disk. Вместо этого приложение облачных служб Azure должно явным образом записывать все данные о состоянии в базу данных SQL, BLOB-объекты, таблицы или любое другое внешнее хранилище Azure.Instead, an Azure Cloud Services application should explicitly write all state to Azure SQL Database, blobs, tables, or some other external storage. Построение приложений с учетом данного аспекта упрощает их масштабирование и делает их более отказоустойчивыми, что относится к важным задачам модели облачных служб Azure.Building applications this way makes them easier to scale and more resistant to failure, which are both important goals of Azure Cloud Services.

Следующие шагиNext steps