Это решение использует Azure Logic Apps для интеграции облачных данных в локальное хранилище данных.
Архитектура иллюстрирует использование Azure Управление API, хранение секретов и ключей API в Azure Key Vault, подключение к SQL Server через локальный шлюз данных и мониторинг производительности с помощью Azure Monitor. Все эти компоненты интегрированы с помощью оркестрации Azure Logic Apps.
Архитектура
Схема содержит два блока: один с компонентами Azure и другой с локальными компонентами. Вне поля Azure находится файл данных с меткой JSON. Стрелка из JSON-файла в значок Управление API, который находится в поле Azure. Вторая стрелка от значка Управление API на значок Logic Apps, который также находится в поле Azure. От значка Logic Apps исходят три стрелки. Первая ведет к значку Key Vault, который находится в блоке Azure. Вторая ведет к значку локального шлюза данных, который находится между двумя блоками. Третья ведет к значку Azure Monitor, который находится в блоке Azure. Еще одна стрелка идет от шлюза к значку SQL Server, который находится внутри блока локальной среды. Последняя стрелка идет от значка SQL Server к пользователю за пределами блока локальной среды.
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
Управление API принимает вызовы API в виде HTTP-запросов.
Управление API безопасно направляет HTTP-запросы в Logic Apps.
Каждый HTTP-запрос активирует выполнение в Logic Apps:
- Logic Apps использует защищенные параметры шаблона для получения учетных данных из Azure Key Vault.
- Logic Apps использует протокол TLS, чтобы отправить учетные данные базы данных и инструкцию базы данных в локальный шлюз данных.
Локальный шлюз данных подключается к базе данных SQL Server для выполнения этой инструкции.
SQL Server сохраняет данные и делает их доступными для приложений, к которым обращаются пользователи.
Azure Monitor собирает сведения о событиях и работе Logic Apps.
Компоненты
Эта архитектура использует следующие компоненты:
Служба "Управление API Azure" создает совместимые современные шлюзы API для внутренних служб. Помимо приема вызовов API и их пересылки в серверные части, эта платформа также проверяет ключи, маркеры, сертификаты и другие учетные данные. Управление API также применяет квоты на использование и ограничения скорости, а также регистрирует метаданные вызовов.
Azure Logic Apps автоматизирует рабочие процессы, связывая приложения и данные в облаках. Эта служба обеспечивает безопасный доступ и обработку данных в режиме реального времени. Ее бессерверные решения отвечают за создание, размещение, масштабирование приложений, управление приложениями, а также за их обслуживание и мониторинг.
Локальный шлюз данных выступает в качестве моста, который связывает локальные данные с облачными службами, такими как Logic Apps. Как правило, шлюз устанавливается на выделенной локальной виртуальной машине. Облачные службы могут безопасно использовать локальные данные.
Azure Key Vault хранит секреты, такие как маркеры, пароли и ключи API, а также управляет доступом к ним. Key Vault также создает и контролирует ключи шифрования и управляет сертификатами безопасности.
SQL Server предоставляет решение для хранения структурированных и неструктурированных данных и выполнения запросов к ним. Это ядро СУБД обеспечивает лучшие в отрасли производительность и безопасность.
Azure Monitor собирает данные о средах и ресурсах Azure. Эти сведения полезны для обеспечения доступности и поддержания производительности. Эти диагностические данные можно также использовать в других службах Azure, таких как служба хранилища Azure и Центры событий Azure. Monitor состоит из двух платформ данных:
- Журналы Azure Monitor записывают и хранят журналы и данные о производительности. Для Logic Apps эти данные включают в себя сведения о событиях триггеров, событиях запуска и событиях действий.
- Метрики Azure Monitor собирают числовые значения через регулярные промежутки времени. Для Logic Apps эти данные включают в себя задержку запуска, частоту и процент успешных операций.
Альтернативные варианты
Существует несколько вариантов этого решения:
Вместо использования локального экземпляра SQL Server рассмотрите возможность перехода на актуальную, полностью управляемую службу базы данных Azure. Соединитель SQL Server, который использует Logic Apps, также подходит для Базы данных SQL Azure и Управляемого экземпляра SQL Azure. Дополнительные сведения см. в разделе Автоматизация рабочих процессов для базы данных SQL с помощью Azure Logic Apps. Чтобы приступить к миграции, изучите раздел Azure Database Migration Service.
Для выполнения сложных задач автоматизации рекомендуется использовать Функции Azure вместо Logic Apps. Обе службы позволяют создавать бессерверные рабочие процессы. Функции Azure — это служба вычислений, предназначенная для выполнения пользовательского кода или сложной обработки или интеграции с другими службами. Logic Apps — это облачная служба, предназначенная для автоматизации и оркестрации задач и бизнес-рабочих процессов. Он предоставляет визуальный конструктор и множество предварительно созданных соединителей. Дополнительные сведения см. в статье Сравнение служб "Функции Azure" и Azure Logic Apps.
Для упрощения интеграции рекомендуется использовать Power Automate вместо Logic Apps. Дополнительные сведения см. в статье Сравнение Microsoft Power Automate и Azure Logic Apps.
Power Apps также предоставляет решения для автоматизации рабочих процессов, использующих подключение к локальным источникам данных.
Подробности сценария
Приложение логики может хранить данные HTTP-запроса в базе данных SQL Server. Так как Logic Apps функционирует как защищенная конечная точка Управления API Azure, вызовы API могут активировать различные задачи, связанные с данными. Помимо обновления локальных баз данных, можно также отправлять данные Teams или сообщения электронной почты.
Потенциальные варианты использования
Это решение можно использовать для автоматизации задач интеграции данных, выполняемых в ответ на вызовы API.
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Надежность
Надежность гарантирует, что ваше приложение может выполнять обязательства, которые вы выполняете для клиентов. Дополнительные сведения см. в разделе "Обзор основы надежности".
Для обеспечения высокой доступности добавьте в кластер локальный шлюз, а не устанавливайте изолированный шлюз.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".
Локальный шлюз данных использует шифрование учетных данных и проверку подлинности пользователей для защиты данных во время передачи между локальной системой и системой Azure.
Управление API помогает убедиться, что приложение логики вызывают только авторизованные клиенты. Можно также выполнить следующие действия.
Так как Управление API является единственным клиентом, который должен вызывать ваше приложение логики, рассмотрите возможность ограничить входящие IP-адреса приложения. Вы можете настроить приложение логики на прием запросов только с IP-адреса экземпляра службы "Управление API".
Вы можете также использовать одну из приведенных ниже схем авторизации, чтобы ограничить доступ к приложению логики:
- подписанные URL-адреса (SAS);
- OAuth 2.0 с идентификатором Microsoft Entra.
Используйте управление доступом на основе ролей Azure (Azure RBAC), чтобы предоставить только определенным пользователям или группам возможность управления, изменения и просмотра приложений логики.
Доступна информация о каждом запуске приложения логики, например состояние, длительность, входные и выходные данные для каждого действия. Используйте один из приведенных ниже методов для управления доступом к входным и выходным данным в журнале выполнения:
Оптимизация затрат
Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".
В следующей таблице приведены профили затрат на основе различных уровней ожидаемой пропускной способности.
Управление API | Выполнения действий Logic Apps | Выполнения соединителя Logic Apps | Профиль |
---|---|---|---|
Основное | 1000 в день | 1000 в день | Базовый профиль |
Стандартные | 10 000 в день | 10 000 в день | Стандартный профиль |
Premium | 100 000 в день | 100 000 в день | Профиль цен. категории "Премиум" |
Профили не включают в себя стоимость базы данных SQL Server. Чтобы настроить параметры и изучить стоимость запуска этого решения в своей среде, воспользуйтесь калькулятором цен Azure.
Изучите приведенные стратегии по минимизации затрат на Logic Apps:
- Выполнение инструкций SQL в пакетах.
- Создайте хранимые процедуры для эффективной организации результатов базы данных.
- Укажите точные условия триггеров для запуска рабочих процессов.
- Отключите приложения логики, которые не должны выполняться непрерывно.
Оптимизация производительности
Уровень производительности — это способность вашей рабочей нагрузки эффективно масштабироваться в соответствии с требованиями, предъявляемыми к ней пользователями. Дополнительные сведения см. в разделе "Общие сведения о эффективности производительности".
При использовании бессерверной модели, которую использует Logic Apps, служба автоматически масштабируется в соответствии с потребностями. Но учитывайте ограничения операций чтения и записи для локального шлюза данных.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Beatriz Matsui | Консультант
- Шан Сингх | Программист
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Импорт приложения логики в качестве API
- Установка локального шлюза данных для Azure Logic Apps
- Подключение к локальным источникам данных из Azure Logic Apps с помощью локального шлюза данных
Связанные ресурсы
Автоматизация рабочих процессов для базы данных SQL с помощью Azure Logic Apps
Аналогичная архитектура:
- Интеграция корпоративных решений с помощью очередей и событий: приложения логики, реагирующие на вызовы API путем интеграции внутренних систем.