Развертывание бизнес-приложения с помощью среды службы приложение Azure версии 3

Служба приложений Azure
Azure DNS
Azure Monitor
Azure Log Analytics
Azure Key Vault

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

Примечание.

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

Архитектура

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

Все это изображение находится в область подписки и частной зоны DNS. Он обозначается значком подписки и значком зоны Частная зона DNS в левом верхнем углу. Под этими значками два блока рядом. Они представляют две виртуальные сети с пирингом между виртуальными сетями. Блок слева представляет виртуальную сеть концентратора, а блок справа представляет периферийную виртуальную сеть. В левом поле есть три небольших ящика. Каждое поле указывает другую подсеть и связанную с ней группу безопасности сети. Начиная с верхнего слева — это экземпляр Бастиона Azure в подсети Бастиона, а в правом верхнем углу — виртуальная машина прыжка, которая находится в подсети jumpbox. В правом нижнем углу находится третье и последнее поле в виртуальной сети концентратора, которая содержит сервер агента CI/CD, который находится в подсети CI/CD. Поле справа, представляющее периферийную виртуальную сеть, содержит только одно меньшее поле, подсеть ASE с экземпляром Среда службы приложений версии 3. Меньшее поле представляет Среда службы приложений. Значок Служба приложений находится внутри этого поля. В нижнем центре образа используются общие ресурсы, которые также развертываются в процессе. Начиная с левого направо, общие ресурсы включают Azure Key Vault, рабочую область Azure Log Analytics и приложение Azure Аналитика.

Скачайте файл Visio для этой архитектуры.

Рабочий процесс

В этой архитектуре есть три потока с выносками: операции (оранжевый), развертывание (зеленый) и пользователь (фиолетовый).

Операции

  1. Операторы или администраторы хотят выполнять задачи администрирования на сервере непрерывной интеграции или непрерывного развертывания (CI/CD) или в конечной точке Kudu для Среда службы приложений (ASE). Сначала им потребуется подключиться к узлу Бастиона Azure.
  2. С помощью узла Бастиона оператор или администратор затем может использовать протокол удаленного рабочего стола (RDP) для доступа к серверу jumpbox.
  3. С сервера jumpbox оператор или администратор может выполнить RDP на сервер CI/CD и выполнить необходимые задачи, такие как обновления агента, обновления ОС и т. д. Оператор или администратор также может подключиться с сервера jumpbox к конечной точке Kudu экземпляра ASE, выполнять административные задачи или выполнять дополнительные способы устранения неполадок.

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

  1. Развертывание решения выполняется с помощью сервера агента CI/CD. Агент DevOps на этом сервере будет подключаться к Azure Pipelines при выполнении нового развертывания.
  2. Затем артефакты будут развернуты в Служба приложений путем подключения к Среда службы приложений (ASE) через пиринг виртуальной сети.

User

  1. Пользователи могут подключаться к развернутой Служба приложений через сеть компании. При необходимости они могут использовать Azure ExpressRoute или VPN и (или) через любой применимый пиринг виртуальной сети Azure.

Компоненты

Решение использует следующие службы Azure:

  • среда службы приложение Azure версии 3 (ASEv3) — это функция службы приложение Azure и является службой с одним клиентом для клиентов, которым требуется высокая масштабируемость, сетевая изоляция, безопасность и (или) высокая загрузка памяти. Приложения размещаются в Служба приложений планах, созданных в ASEv3, с параметрами использования разных уровней в плане обслуживания изолированной версии 2. По сравнению с более ранней версией ASE, было сделано множество улучшений, включая, но не ограничивается, сетевой зависимостью, временем масштабирования и удалением платы за метку. Это решение использует Среда службы приложений версии 3, настроенную для внутреннего доступа.

  • Azure Частная зона DNS позволяет управлять доменными именами и разрешать их в виртуальной сети без необходимости реализовать пользовательское решение DNS. Зона Частная зона DNS Azure может быть выровнена с одной или несколькими виртуальными сетями через каналы виртуальной сети. Из-за внутренней природы ASEv3, которую использует эта эталонная архитектура, для разрешения доменных имен приложений, размещенных в Среда службы приложений, требуется частная зона DNS.

  • приложение Azure Аналитика — это функция Azure Monitor, которая помогает разработчикам обнаруживать аномалии, диагностировать проблемы и понимать шаблоны использования. Приложение Аналитика функции расширяемого управления производительностью приложений и мониторинга для динамических веб-приложений. Поддерживаются различные платформы, включая .NET, Node.js, Java и Python. Она поддерживает приложения, размещенные в Azure, локальной среде, в гибридной среде или в других общедоступных облаках. Приложение Аналитика входит в состав этой эталонной архитектуры, чтобы отслеживать поведение развернутого приложения.

  • Azure Log Analytics — это функция Azure Monitor, которая позволяет изменять и запускать запросы журналов с данными в журналах Azure Monitor, при необходимости из портал Azure. Разработчики могут выполнять простые запросы для набора записей или использовать Log Analytics для выполнения расширенного анализа. Затем они могут визуализировать результаты. Log Analytics настраивается в рамках этой эталонной архитектуры, чтобы агрегировать все журналы мониторинга для анализа и отчетности.

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

  • Azure Key Vault — это облачная служба, которая безопасно хранит и обращается к секретам, которые варьируются от ключей API и паролей до сертификатов и криптографических ключей. Azure Key Vault развертывается в рамках инфраструктуры этой архитектуры, чтобы упростить управление секретами для будущих развертываний кода.

  • Бастион Azure — это платформа как услуга, подготовленная в виртуальной сети разработчика. Он обеспечивает безопасное подключение RDP/SSH к виртуальным машинам разработчика по протоколу TLS из портал Azure. При использовании Бастиона Azure виртуальные машины больше не требуют общедоступного IP-адреса для подключения через RDP/SSH. Эта эталонная архитектура использует Бастион Azure для доступа к агенту DevOps или серверу runner GitHub или серверу управления jumpbox.

Альтернативные варианты

Рекомендуется добавить Шлюз приложений Azure перед экземпляром Служба приложений, чтобы обеспечить функциональность Брандмауэр веб-приложений (WAF) для защиты веб-приложений от распространенных эксплойтов и уязвимостей.

Локальное средство запуска GitHub можно использовать вместо локального агента Azure DevOps.

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Надежность

Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Дополнительные сведения см. в разделе "Обзор основы надежности".

  • Учитывайте требования к избыточности зоны в этой эталонной реализации, а также возможности избыточности зоны любых других служб Azure в решении. ASEv3 поддерживает избыточность зоны путем распространения экземпляров ко всем трем зонам в целевом регионе. Эта конфигурация может быть задана только во время создания ASE, и она может быть недоступна во всех регионах. Дополнительные сведения см. в статье о поддержке зоны доступности для Среда службы приложений. Эта эталонная реализация реализует избыточность зоны, но ее можно изменить, клонируя этот репозиторий и установив для свойства значение zoneRedundantfalse.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

  • Используйте соответствующее использование ограничений доступа, чтобы служба приложений была доступна только из допустимых расположений. Например, если служба приложений размещает API- интерфейсы и интерфейсы APIM, можно настроить ограничение доступа, чтобы служба приложений была доступна только из APIM.
  • Так как эта эталонная реализация развертывает ASE в виртуальной сети (называемой внутренней ASE), все приложения, развернутые в ASE, по сути, изолированы от сети в область виртуальной сети.
  • Храните секреты приложения (учетные данные базы данных, маркеры API и закрытые ключи) в Azure Key Vault. Настройте приложение Служба приложений для безопасного доступа к ним с помощью управляемого удостоверения. Определите, когда следует использовать Azure Key Vault и Конфигурация приложений Azure.

Оптимизация затрат

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

  • Несмотря на отсутствие платы за метку для экземпляра ASEv3, взимается плата, которая взимается, если в экземпляре ASEv3 не настроены Служба приложений Plans. Эта плата взимается с той же скоростью, что и один экземпляр экземпляра Windows I1v2 для региона, в котором развертывается экземпляр ASEv3.
  • При настройке избыточности зоны модель зарядки настраивается для учета базовой инфраструктуры, развернутой в этой конфигурации. Вы можете нести ответственность за дополнительные экземпляры по ценам ASEv3.
  • Для планов ASEv3 Служба приложений (известных как изолированные планы Служба приложений версии 2), используйте резервирования Azure и план экономии Azure для вычислений с помощью одного или трехлетнего контракта и получения значительной экономии по мере использования цен. Дополнительные сведения см. в разделе о том, как скидки на резервирование применяются к изолированным экземплярам версии 2.

Эффективность работы

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

  • Используйте приложение Аналитика или другое решение для управления производительностью приложений для мониторинга и изучения поведения приложения в разных средах.
    • Существует два способа включения Аналитика приложения. Для разных сред соберите данные телеметрии в разные экземпляры приложений Аналитика.
    • Если в приложении есть несколько компонентов, разделенных на разные службы, может потребоваться проанализировать их поведение вместе. Соберите данные телеметрии в один экземпляр приложения Аналитика, но пометьте их различными именами ролей облака.
    • Экспортируйте данные приложения Аналитика в рабочую область Azure Log Analytics. Рекомендуется использовать одну рабочую область для организации.
    • Включите операционные панели мониторинга в структуру приложений и функций, чтобы обеспечить поддержку решения в рабочей среде.
    • Реализуйте проверка работоспособности для конечных точек, а затем используйте их для проб работоспособности, проверка зависимостей и тестов доступности.
  • Рекомендуется использовать префиксы и суффиксы с четко определенными соглашениями, чтобы однозначно определить каждый развернутый ресурс. Эти соглашения об именовании избежать конфликтов при развертывании решений рядом друг с другом и повышении общей гибкости команды и пропускной способности.
  • В зависимости от конфигурации сети Служба приложений может быть недоступно из общедоступного Интернета, а использование общедоступных размещенных агентов не будет работать для развертываний. Используйте в этом сценарии локальные агенты .

Развертывание этого сценария

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

  • Мы рекомендуем клонировать этот репозиторий и изменить справочные ресурсы реализации в соответствии с вашими требованиями и рекомендациями конкретной целевой зоны вашей организации.
  • Перед развертыванием убедитесь, что субъект-служба, используемый для развертывания решения, имеет необходимые разрешения для создания типов ресурсов, перечисленных выше.
  • Рассмотрим службу CI/CD, используемую для развертывания эталонной реализации. Так как эта эталонная реализация является внутренней ASE, вам потребуется локальный агент для выполнения конвейеров развертывания. Вы можете использовать агент DevOps или GitHub runner. Ознакомьтесь с руководством пользователя по определенным значениям конфигурации, которые требуются.
  • Рассмотрим регионы, в которых планируется развернуть эту эталонную реализацию. Обратитесь к списку регионов ASEv3, чтобы убедиться, что выбранные регионы включены для развертывания.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Основные авторы:

  • Пит Мессина | Архитектор облачных решений Senoir
  • Nabeel Prior | Старший архитектор облачных решений

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

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

Дополнительные сведения об этих ключевых службах: