Разработка и развертывание приложений

Чтобы разрабатывать и развертывать бессерверные приложения с помощью Функции Azure, изучите шаблоны и методики, настройте конвейеры DevOps и реализуйте рекомендации по проектированию надежности сайта (SRE).

Подробные сведения об бессерверных архитектурах и Функции Azure см. в следующих статье:

Планирование

Планирование разработки и развертывания приложений:

  1. Подготовьте среду разработки и настройте рабочий процесс.
  2. Структура проектов для поддержки разработки приложений Функции Azure.
  3. Определите триггеры приложения, привязки и требования к конфигурации.

Общие сведения об архитектуре на основе событий

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

Подготовка среды разработки

Настройте рабочий процесс разработки и среду с помощью средств для создания функций. Дополнительные сведения о средствах разработки и структуре проекта кода функций см. в следующей статье:

Разработка

Решите использовать язык разработки. Функции Azure поддерживает C#, F#, PowerShell, JavaScript, TypeScript, Java и Python. Все функции проекта должны находиться на одном языке. Дополнительные сведения см. в разделе "Поддерживаемые языки" в Функции Azure.

Определение триггеров и привязок

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

Создание приложения "Функции"

Функции следуют одному принципу ответственности: сделайте только одну вещь. Дополнительные сведения о разработке функций см. в следующем разделе:

Использование Устойчивые функции для рабочих процессов с отслеживанием состояния

Устойчивые функции в Функции Azure позволяют определять рабочие процессы с отслеживанием состояния в бессерверной среде путем написания функций оркестратора и сущностей с отслеживанием состояния путем записи функций сущностей. Устойчивые функции управлять состоянием, проверка точками и перезапусками, что позволяет сосредоточиться на бизнес-логике. Дополнительные сведения см. в разделе "Что такое Устойчивые функции".

Понимание и устранение холодных запусков

Если число бессерверных экземпляров узлов масштабируется до нуля, следующий запрос имеет добавленную задержку перезапуска приложения-функции, называемого холодным запуском. Чтобы свести к минимуму влияние на производительность холодных запусков, уменьшите зависимости, которые приложение Функций должно загрузить при запуске, и использовать как можно меньше больших, синхронных вызовов и операций. Дополнительные сведения об автоматическом масштабировании и холодном запуске см. в операциях бессерверных функций.

Управление секретами приложений

Для безопасности не сохраняйте учетные данные в коде приложения. Сведения об использовании Azure Key Vault с Функции Azure для хранения и получения ключей и учетных данных см. в статье "Использование ссылок Key Vault для Служба приложений и Функции Azure".

Дополнительные сведения о безопасности бессерверных функций см. в разделе "Безопасность бессерверных функций".

Развертывание

Чтобы подготовить бессерверное приложение Функций для рабочей среды, убедитесь, что вы можете:

  • Выполнение требований к ресурсу приложения.
  • Отслеживайте все аспекты приложения.
  • Диагностика и устранение неполадок с приложением.
  • Развертывание новых версий приложений без влияния на рабочие системы.

Определение технологии развертывания

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

Избегайте использования слишком большого количества подключений к ресурсам

Функции в ресурсах приложения "Функции", включая подключения к HTTPS, базам данных и службам, таким как служба хранилища Azure. При одновременном выполнении многих функций можно выйти из доступных подключений. Дополнительные сведения см. в статье Управление подключениями в функциях Azure.

Настройка ведения журнала, оповещений и мониторинга приложений

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

Дополнительные сведения о мониторинге и ведении журнала приложений см. в следующем разделе:

Диагностика и устранение неполадок

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

Развертывание приложений с помощью автоматизированного конвейера и DevOps

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

Дополнительные сведения о DevOps и непрерывном развертывании (CD) см. в следующем разделе:

Optimization

После того как приложение будет в рабочей среде, подготовьтесь к масштабированию и реализации проектирования надежности сайта (SRE).

Обеспечение оптимальной масштабируемости

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

Реализация методик SRE

Инженерия надежности сайта (SRE) — это проверенный подход к поддержанию критической системы и надежности приложений, при этом выполняя итерацию на скорости требований Marketplace. Дополнительные сведения см. в разделе:

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

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

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