Начало работы с Python в Azure

Используйте этот документ в качестве списка проверка и руководства по разработке приложений Python, которые будут размещаться в облаке или использовать облачные службы. Если вы следуйте ссылкам и инструкциям в этом документе, выполните следующие действия.

  • имеет базовое представление о том, что такое облако и как вы разрабатываете приложение с учетом облака.
  • настройте локальную среду разработки, включая средства и библиотеки, которые необходимо создать облачные приложения.
  • изучите рабочий процесс при разработке облачных приложений.

Этап 1. Изучение концепций

Если вы не знакомы с разработкой приложений для облака, эта короткая серия статей с видео поможет вам быстро ускорить работу.

После того как вы узнаете основы разработки приложений для облака, необходимо настроить среду разработки и следовать краткому руководству или руководству по созданию первого приложения.

Этап 2. Настройка локальной среды Python для разработки Azure

Для разработки приложений Python с помощью Azure сначала необходимо настроить локальную среду разработки. Конфигурация включает создание учетной записи Azure, установку средств для разработки Azure и подключение этих средств к учетной записи Azure.

Для разработки в Azure требуется Python 3.8 или более поздней версии. Чтобы проверить версию Python на рабочей станции, в окне консоли введите команду python3 --version для macOS или Linux или py --version Windows.

Создание учетной записи Azure

Для разработки приложений Python с помощью Azure требуется учетная запись Azure. Ваша учетная запись Azure — это учетные данные, используемые для входа в Azure и используемые для создания ресурсов Azure.

Если вы используете Azure на работе, обратитесь к администратору облака вашей компании, чтобы получить учетные данные, используемые для входа в Azure.

В противном случае вы можете создать учетную запись Azure бесплатно и получить 12 месяцев популярных служб бесплатно и 200 долларов США для изучения Azure в течение 30 дней.

Использование портала Azure

После получения учетных данных вы можете войти в портал Azure.https://portal.azure.com Как правило, портал Azure проще всего приступить к работе с Azure, особенно если вы не знакомы с Azure и облачной разработкой. В портал Azure можно выполнять различные задачи управления, такие как создание и удаление ресурсов.

Если вы уже столкнулись с разработкой Azure и облаком, вы, вероятно, начнете использовать такие средства, как Visual Studio Code и Azure CLI. В статьях в центре разработчиков Python показано, как работать с портал Azure, Visual Studio Code и Azure CLI.

Использование Visual Studio Code

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

Для разработки Python с помощью Visual Studio Code установите следующее:

  • Расширение Python. Это расширение включает IntelliSense (Pylance), Linting, Отладка (многопоточная, удаленная), Jupyter Notebook, форматирование кода, рефакторинг, модульные тесты и многое другое.

  • Пакет расширений средств Azure. Пакет расширений содержит расширения для работы со службой приложение Azure, Функции Azure, служба хранилища Azure, Azure Cosmos DB и Azure Виртуальные машины в одном удобном пакете. Расширения Azure упрощают обнаружение и взаимодействие с Azure.

Чтобы установить расширения из Visual Studio Code, выполните приведенные ниже действия.

  1. Нажмите клавиши CTRL+SHIFT+X, чтобы открыть окно Расширения.
  2. Выполните поиск расширения Средства Azure.
  3. Нажмите кнопку Установить.

Screenshot of the Visual Studio Code showing extensions panel searching for the Azure Tools extension pack.

Дополнительные сведения об установке расширений в Visual Studio Code см. в документе Магазин расширений на веб-сайте Visual Studio Code.

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

Screenshot of the Visual Studio Code showing how to sign-in the Azure tools to Azure.

Примечание.

Если отображается сообщение об ошибке Не удается найти подписку с именем [идентификатор подписки], возможно вы находитесь за прокси-сервером и не можете получить доступ к API Azure. Укажите в переменных среды HTTP_PROXY и HTTPS_PROXY параметры прокси-сервера в терминале:

# Windows
set HTTPS_PROXY=https://username:password@proxy:8080
set HTTP_PROXY=http://username:password@proxy:8080
# macOS/Linux
export HTTPS_PROXY=https://username:password@proxy:8080
export HTTP_PROXY=http://username:password@proxy:8080

Использование командной строки Azure CLI

Помимо портал Azure и Visual Studio Code, Azure также предлагает средство командной строки Azure CLI для создания ресурсов Azure и управления ими. Azure CLI позволяет повысить степень эффективности и воспроизводимости повторяющихся задач, а также использовать скрипты для их выполнения. На практике большинство разработчиков используют как портал Azure, так и Azure CLI.

После установки Azure CLI войдите в учетную запись Azure из Azure CLI, введя команду az login в окне терминала на рабочей станции.

az login

Azure CLI откроет браузер по умолчанию для завершения процесса входа.

Настройка виртуальной среды Python

При создании приложений Python для Azure рекомендуется создать виртуальную среду для каждого приложения. Виртуальная среда — это автономный каталог для определенной версии Python и других пакетов, необходимых для этого приложения.

Чтобы создать виртуальную среду, выполните следующие действия.

  1. Откройте терминал или командную строку.

  2. Создайте каталог для своего проекта.

  3. Создайте виртуальное окружение, выполнив следующую команду:

    # py -3 uses the global python interpreter. You can also use python3 -m venv .venv.
    py -3 -m venv .venv
    

    Эта команда запускает модуль Python venv и создает виртуальную среду в папке .venv. Как правило, файлы gitignore имеют запись .venv, чтобы виртуальная среда не проверка в коде проверка ins.

  4. Активируйте виртуальное окружение, выполнив следующую команду:

    .venv\Scripts\activate
    

    Примечание.

    Если вы используете командную оболочку Windows, активируйте виртуальную среду с .venv\Scripts\activateпомощью . Если вы используете Git Bash в Visual Studio Code в Windows, используйте эту команду source .venv/Scripts/activate .

После активации этого окружения (которое в Visual Studio Code выполняется автоматически) при запуске pip install только в этом окружении устанавливается библиотека. Код Python, работающий в виртуальной среде, использует определенные версии пакетов, установленные в этой виртуальной среде. Использование разных виртуальных сред позволяет различным приложениям использовать разные версии пакета, которые иногда требуются. Дополнительные сведения о виртуальных средах см. в статье "Виртуальные среды и пакеты " в документации По Python.

Например, если ваши требования находятся в файле requirements.txt , то в активированной виртуальной среде их можно установить с помощью:

pip install -r requirements.txt

Этап 3. Общие сведения о рабочем процессе разработки Azure

Предыдущая статья: Подготовка ресурсов в Azure, получения к ним доступа и управление ими

Теперь, когда вы ознакомились с моделью служб и ресурсов Azure, вы можете получить представление об общем потоке разработки облачных приложений с помощью Azure: подготовка, написание кода, тестирование, развертывание и управление.

Этап Основные средства Процедуры
Подготовка Azure CLI, портал Azure, расширения средств VS Code, Cloud Shell, скрипты Python с помощью библиотек управления azure SDK Создание групп ресурсов и создание ресурсов в этих группах; настройте ресурсы для готовности к использованию из кода приложения и (или) готовых к получению кода Python в развертываниях.
Код Редактор кода (например, Visual Studio Code и PyCharm), клиентские библиотеки Azure SDK, справочная документация Написание кода Python с помощью клиентских библиотек пакета SDK Azure для взаимодействия с подготовленными ресурсами.
Тест Среда выполнения и отладчик Python Локальное выполнение кода Python с обращениями к активным облачным ресурсам (обычно применяется для ресурсов разработки или тестирования, но не для рабочих ресурсов). Сам код еще не размещен в Azure, что помогает выполнять отладку и итерацию быстро.
Развернуть VS Code, Azure CLI, GitHub Actions, Azure Pipelines Развертывание кода после завершения тестирования в соответствующей службе размещения Azure, откуда этот код будет выполняться в облаке. Развернутый код обычно обращается к ресурсам в промежуточной или рабочей среде.
Управление Azure CLI, портал Azure, VS Code, скрипты Python, Azure Monitor Мониторинг производительности и скорости реагирования приложений, внесение изменений в рабочую среду, перенос улучшений обратно в среду разработки для следующего цикла подготовки и разработки.

Шаг 1. Подготовка и настройка ресурсов

Как описано в предыдущей статье этой серии, первым этапом в разработке любого приложения является подготовка и настройка ресурсов, составляющих целевую среду для приложения.

Подготовка начинается с создания группы ресурсов в подходящем регионе Azure. Вы можете создать группу ресурсов с помощью портал Azure, VS Code с расширениями Средств Azure, Azure CLI или с помощью пользовательского скрипта, использующего библиотеки управления пакетом SDK Azure (или REST API).

В этой группе ресурсов вы затем подготавливаете и настраиваете необходимые отдельные ресурсы, опять же с помощью портала, VS Code, ИНТЕРФЕЙСА командной строки или пакета SDK Azure. (Снова-таки, обзор доступных типов ресурсов см. в руководстве для разработчика Azure.)

Конфигурация включает в себя настройку политик доступа, определяющих, какие удостоверения (субъекты-службы и идентификаторы приложений) могут получать доступ к этим ресурсам. Политики доступа управляются с помощью контроль доступа на основе ролей Azure (RBAC); некоторые службы также имеют более конкретные элементы управления доступом. Как разработчик облака, работающий с Azure, обязательно ознакомьтесь с Azure RBAC, так как вы используете его только с любым ресурсом, который имеет проблемы с безопасностью.

В большинстве сценариев приложений обычно создаются скрипты подготовки с помощью Azure CLI и (или) кода Python с помощью библиотек управления пакетом SDK Azure. Эти скрипты описывают совокупность потребностей вашего приложения в ресурсах (фактически определяя пользовательский облачный компьютер, на котором вы развертываете приложение). Скрипт позволяет легко воссоздать один и тот же набор ресурсов в разных средах, таких как разработка, тестирование, промежуточное развертывание и рабочая среда. При автоматизации можно избежать выполнения нескольких повторных действий вручную в портал Azure или VS Code. Также скрипты позволяют легко подготовить среду в другом регионе или использовать разные группы ресурсов. Эти скрипты также можно хранить в репозиториях системы управления версиями, чтобы иметь в наличии полный журнал аудита и изменений.

Шаг 2. Написание кода приложения для использования ресурсов

После подготовки ресурсов, необходимых для вашего приложения, напишите код приложения, учитывающий аспекты времени выполнения этих ресурсов.

Например, на этапе подготовки вы могли создать учетную запись хранения Azure, контейнер больших двоичных объектов в этой учетной записи и настроить политики доступа для приложения в этом контейнере. Этот процесс описан в статье Пример. Подготовка службы хранилища Azure с помощью библиотек Azure для Python. Теперь с помощью этой учетной записи хранения вы можете пройти аутентификацию, используя код, а затем создать, обновить или удалить большие двоичные объекты в этом контейнере. Этот процесс описан в статье Пример Подготовка службы хранилища Azure с помощью библиотек Azure для Python. Аналогично вы можете подготовить базу данных со схемой и соответствующими разрешениями (см. статью Пример. Использование библиотек Azure для подготовки базы данных), чтобы код приложения мог подключаться к базе данных и выполнять обычные запросы на создание, чтение, обновление и удаление.

Код приложения обычно использует переменные среды для получения имен и URL-адресов используемых ресурсов. Переменные среды позволяют легко переключаться между облачными средами (сред разработки и тестирования, а также промежуточной и рабочей среды) без внесения изменений в код. Различные службы Azure, в которых размещается код приложения, предоставляют средства для определения необходимых переменных. Например, в службе приложение Azure (для размещения веб-приложений) и Функции Azure (бессерверные вычисления для Azure) вы определяете параметры приложения с помощью портал Azure, VS Code или Azure CLI, которые затем отображаются в коде в виде переменных среды.

Разработчик Python, скорее всего, напишет код приложения в Python с помощью клиентских библиотек пакета SDK Azure для Python. С другой стороны любая независимая часть облачного приложения может быть написана на любом поддерживаемом языке. Если вы работаете над командой с несколькими языками программирования, возможно, что некоторые части приложения используют Python, некоторые JavaScript, некоторые JavaScript и другие C#.

Код приложения может использовать библиотеки управления azure SDK для выполнения операций подготовки и управления по мере необходимости. Скрипты подготовки, аналогичным образом, могут использовать клиентские библиотеки ПАКЕТА SDK для инициализации ресурсов с определенными данными или выполнять задачи по обслуживанию в облачных ресурсах, даже если эти скрипты выполняются локально.

Шаг 3. Тестирование и отладка кода приложения локально

Разработчики обычно любят тестировать код приложения на локальных рабочих станциях перед развертыванием этого кода в облаке. Тестирование кода приложения локально означает, что вы обычно обращаетесь к другим ресурсам, которые вы уже подготовили в облаке, например хранилище, базы данных и т. д. Разница заключается в том, что вы еще не используете сам код приложения в облачной службе.

Запустив код локально, вы также можете воспользоваться всеми преимуществами функций отладки, предоставляемыми такими инструментами как Visual Studio Code, и управлять кодом в репозитории системы управления версиями.

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

Шаг 4. Развертывание кода приложения в Azure

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

Как отмечалось в предыдущем разделе, в стандартных процессах разработки вы сначала развертываете код в ресурсах, подготовленных в среде разработки. После цикла тестирования вы развертываете код в ресурсах в промежуточной среде, благодаря чему приложение становится доступным для команды тестирования и, возможно, для клиентов предварительной версии. Если вас устраивает производительность приложения, вы можете развернуть код в рабочей среде. Все эти развертывания также можно автоматизировать с помощью непрерывной интеграции и непрерывного развертывания с помощью Azure Pipelines и GitHub Actions.

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

Шаг 5. Управление, мониторинг и изменение

После развертывания необходимо убедиться в том, что приложение выполняется надлежащим образом, а также отвечает на запросы клиентов и эффективно использует ресурсы (с минимальными затратами). Вы можете управлять тем, как Azure автоматически масштабирует развертывание, и вы можете собирать и отслеживать данные о производительности с помощью портал Azure, VS Code, Azure CLI или пользовательских скриптов, написанных с помощью библиотек пакета SDK Azure. Затем можно внести корректировки в реальном времени для подготовленных ресурсов, чтобы оптимизировать производительность, используя любой из тех же инструментов.

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

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

Теперь вы знакомы с базовой структурой Azure и общим потоком разработки: подготовкой ресурсов, написанием и тестированием кода, развертыванием кода в Azure, отслеживанием ресурсов и управлением ими.