Поделиться через


Обзор конфигураций Azure Databricks

Azure Databricks — это облачная платформа, которая сочетает в себе лучшие возможности инженерии данных и науки о данных. Он позволяет вам создавать, управлять и анализировать конвейеры данных с помощью Apache Spark — быстрой и масштабируемой среды с открытым исходным кодом для обработки больших данных. Azure Databricks также предоставляет совместное рабочее пространство для специалистов по обработке данных и инженеров для совместной работы над проектами Машинное обучение и искусственного интеллекта.

Если вы работаете в правительственном или государственном секторе, эта справочная архитектурная документация содержит обоснованные рекомендации по использованию Azure Databricks с суверенной целевой зоной или развертыванием Azure Landing Zone с применением инициатив базовой политики суверенитета .

Документация по продукту Azure Databricks предлагает подробную информацию по различным статьям. Этот документ дополняет документацию, предоставляя вам тщательно подобранные рекомендации по ключевым концепциям и параметрам настройки среды Azure Databricks.

Основные возможности Azure Databricks

Azure Databricks обладает богатым набором функций, но в этой эталонной архитектуре мы сосредоточимся на элементах инфраструктуры. Azure Databricks предлагает:

  • Интерактивные блокноты: используйте блокноты для написания кода на Python, Scala, SQL или R и визуализируйте результаты с помощью диаграмм и графиков. Делитесь блокнотами и комментируйте их с членами команды, а также интегрируйте их с популярными инструментами, такими как GitHub и Azure DevOps.

  • Параметры вычислений: Azure Databricks предоставляет различные параметры вычислений для поддержки рабочих нагрузок по инжинирингу данных, науке о данных и аналитике данных. Эти возможности включают масштабируемые бессерверные вычисления по требованию для ноутбуков и заданий, выделенные вычисления для универсального анализа и автоматизированных заданий, а также хранилища SQL для выполнения команд SQL. Пулы экземпляров предлагают простаивающие, готовые к использованию экземпляры для сокращения времени запуска и автоматического масштабирования, повышая эффективность в различных сценариях обработки данных.

  • Интеграция данных: легко подключайтесь к различным источникам и местам назначения данных, таким как хранилище BLOB-объектов Azure, Azure Data Lake Storage, база данных SQL Azure, Azure Synapse Analytics, Azure Cosmos DB и многим другим. Используйте Delta Lake — надежное и производительное решение для озера данных, которое поддерживает транзакции ACID и принудительное применение схем.

  • Машинное обучение: Создавайте, обучайте и развертывайте модели Машинное обучение с использованием популярных фреймворков, таких как TensorFlow, PyTorch, Scikit-learn и XGBoost. Используйте MLflow — платформу с открытым исходным кодом для управления жизненным циклом Машинное обучение, чтобы отслеживать эксперименты, регистрировать показатели и развертывать модели.

  • Безопасность предприятия: безопасный доступ к данным и их обработка с помощью таких функций, как управление доступом на основе ролей, шифрование, аудит и соответствие требованиям. Интегрируйте Azure Databricks с Microsoft Entra ID, Azure Key Vault и Azure Private Link для защиты идентификации и данных.

  • Управление данными и обмен ими: Unity Catalog упрощает обмен данными внутри организаций и обеспечивает безопасность аналитики в облаке, предоставляя управляемую версию Delta Sharing для внешнего обмена и унифицированную модель управления данными для хранилища данных.

Архитектура Databricks высокого уровня

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

Скриншот высокоуровневой архитектуры Databricks.

Плоскость управления

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

Плоскость управления работает в подписке Azure, принадлежащей Azure Databricks, и взаимодействует с классическими и бессерверными вычислительными плоскостями через защищенные API. Плоскость управления также предоставляет веб-интерфейс и REST API для взаимодействия пользователей с Azure Databricks.

Вычислить плоскость

Вычислительная плоскость — это место, где обрабатываются ваши данные. Существует два типа вычислительных плоскостей — бессерверные и классические. Бессерверная вычислительная плоскость предлагает мгновенные и эластичные ресурсы, в то время как классическая вычислительная плоскость опирается на предварительно подготовленную инфраструктуру.

Бессерверная вычислительная плоскость

Бессерверные вычисления идеально подходят для нерегламентированных запросов, блокнотов и кратковременных рабочих нагрузок. Например, вы можете использовать бессерверные вычисления для запуска команд SQL в блокнотах или выполнения легких заданий. В плоскости безсерверных вычислений ресурсы запускаются в вычислительном объекте слой в учетной записи Azure Databricks.

Azure Databricks создает бессерверную вычислительную плоскость в том же регионе Azure, что и классическая вычислительная плоскость вашей рабочей области. Он управляет пулом серверов, размещенных в учетной записи Databricks, на которых запущены контейнеры Kubernetes, которые можно назначить пользователю за считанные секунды. Для получения более подробной информации см. Анонс Databricks Serverless SQL: мгновенная, управляемая, безопасная и готовая к производству платформа для рабочих нагрузок SQL - The Databricks Blog.

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

На изображении показана плоскость безсерверных вычислений.

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

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

Весь трафик между вами, плоскостью управления, плоскостью вычислений и облачными сервисами направляется через глобальную сеть Azure, а не через общедоступный Интернет. Бессерверная вычислительная плоскость для бессерверных хранилищ SQL не использует настраиваемое клиентом внутреннее подключение Azure Private Link. Плоскость управления Azure Databricks подключается к плоскости бессерверных вычислений с помощью mTLS, при этом доступ по IP разрешен только для IP-адреса плоскости управления.

Все подключенные хранилища защищены стандартным для отрасли шифрованием AES-256, а весь трафик между пользователем, плоскостью управления, плоскостью вычислений и облачными сервисами шифруется с использованием как минимум TLS 1.2. Бессерверные хранилища SQL не используют управляемые клиентом ключи для управляемых дисков.

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

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

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

Классический вычислительный самолет

Классическая вычислительная плоскость подходит для длительных задач, производственных нагрузок и постоянных потребностей в ресурсах. Например, вы можете использовать выделенные вычисления для конвейеров ETL, обучения Машинное обучение и задач по инжинирингу данных.

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

Администраторы Azure Databricks могут использовать политики кластера для управления многими аспектами кластеров, включая доступные типы экземпляров, версии Databricks и размеры экземпляров.

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