AWS Nitro System
AWS Nitro System — это аппаратно-программная платформа, разработанная компанией Amazon Web Services (AWS) для создания и управления виртуальными машинами (инстансами) в облачной инфраструктуре. Система представляет собой набор специализированных микросхем и программного обеспечения, которые берут на себя функции виртуализации, управления вводом-выводом и обеспечения безопасности, полностью вытесняя традиционные гипервизоры и специализированное ПО с серверов. Nitro System является ключевым компонентом, лежащим в основе всех современных типов инстансов EC2, начиная с пятого поколения.
История
До появления Nitro System виртуальные машины в Amazon EC2 работали на основе модифицированной версии гипервизора Xen. Эта архитектура имела ряд ограничений: гипервизор потреблял значительную часть ресурсов процессора и памяти, а также создавал узкие места в производительности операций ввода-вывода (I/O). Для обхода этих проблем AWS использовала сложные программные решения, такие как паравиртуализация сетевых и дисковых драйверов.
Разработка Nitro System началась в 2013 году как внутренний проект по созданию более эффективной и масштабируемой платформы. Целью было не просто улучшить Xen, а полностью переосмыслить архитектуру виртуализации. В 2017 году на конференции AWS re:Invent было официально объявлено о запуске первого поколения инстансов на базе Nitro — C5 и I3m. С этого момента AWS начала поэтапный перевод всех новых типов инстансов на новую платформу, отказавшись от Xen.
К 2020 году подавляющее большинство инстансов EC2 работало на Nitro. Система стала основой для всех новых сервисов, включая инстансы с выделенными хостами (Dedicated Hosts), инстансы для высокопроизводительных вычислений (HPC) и инстансы с графическими ускорителями (GPU).
Архитектура и компоненты
Nitro System состоит из трёх основных компонентов: специализированных аппаратных карт (Nitro Cards), лёгкого гипервизора (Nitro Hypervisor) и чипа безопасности (Nitro Security Chip).
Nitro Cards (Карты Nitro)
Это специализированные платы расширения, устанавливаемые на материнскую плату сервера. Каждая карта отвечает за определённую функцию, что позволяет разгрузить центральный процессор (CPU) от задач виртуализации.
- Nitro Card для управления виртуализацией (Nitro Controller): Карта, которая управляет жизненным циклом виртуальной машины: её запуск, остановка, мониторинг состояния и обработка команд от API AWS. Она также реализует функции гипервизора на аппаратном уровне.
- Nitro Card для сети (Elastic Network Adapter, ENA): Обеспечивает высокоскоростной сетевой ввод-вывод. Карта берёт на себя обработку сетевых пакетов, реализуя аппаратную виртуализацию сети. Это позволяет достигать пропускной способности до 100 Гбит/с на один инстанс.
- Nitro Card для хранения (Elastic Block Store, EBS): Управляет доступом к блочному хранилищу EBS. Карта обрабатывает все операции ввода-вывода с дисками, минуя гипервизор и хост-процессор. Это обеспечивает низкую задержку и высокую пропускную способность для дисковой подсистемы.
Nitro Hypervisor (Гипервизор Nitro)
В отличие от традиционных гипервизоров (например, KVM или Xen), гипервизор Nitro является чрезвычайно лёгким и минималистичным. Его кодовая база составляет всего несколько тысяч строк кода (по сравнению с миллионами строк у Xen). Он выполняет только базовые функции управления процессами и памятью, не участвуя в обработке операций ввода-вывода. Это снижает накладные расходы на виртуализацию до менее 1% ресурсов процессора, что практически неотличимо от производительности физического сервера.
Nitro Security Chip (Чип безопасности Nitro)
Это специализированный чип, который обеспечивает аппаратную изоляцию и защиту данных. Он выполняет следующие функции:
- Шифрование: Аппаратное шифрование всех данных, передаваемых между картами Nitro и памятью инстанса.
- Изоляция: Гарантирует, что данные одного инстанса недоступны другому инстансу или хост-системе.
- Загрузка: Обеспечивает верифицированную загрузку (verified boot) всего стека ПО, начиная с прошивки и заканчивая ядром операционной системы гостя.
Преимущества
Внедрение Nitro System дало AWS несколько ключевых преимуществ перед конкурентами и собственными предыдущими решениями.
- Производительность: Практически полное отсутствие накладных расходов на виртуализацию (near-bare-metal performance). Инстансы на Nitro обеспечивают производительность, сравнимую с физическими серверами.
- Безопасность: Аппаратная изоляция на уровне чипов делает атаки на гипервизор или соседние инстансы крайне затруднительными. Каждый инстанс получает собственный аппаратный корень доверия.
- Гибкость: AWS может быстро создавать новые типы инстансов, просто подключая разные комбинации карт Nitro. Это позволяет предлагать инстансы с разными пропорциями CPU, памяти, сети и хранилища.
- Скорость: Время запуска новых инстансов сократилось до секунд, так как гипервизору не нужно загружать сложное ПО для управления I/O.
- Масштабируемость: Аппаратная архитектура позволяет легко масштабировать инфраструктуру, добавляя новые серверы с картами Nitro.
Типы инстансов на Nitro
Практически все современные типы инстансов Amazon EC2 работают на платформе Nitro. К ним относятся:
- Общего назначения: M5, M5a, M6g, T3, T4g.
- Оптимизированные для вычислений: C5, C5n, C6g, C7g.
- Оптимизированные для памяти: R5, R5a, R6g, X1e, X2gd.
- Оптимизированные для хранения: I3, I3en, D2, H1.
- С графическими ускорителями (GPU): P3, P4d, G4dn, G5.
- Высокопроизводительные вычисления (HPC): Hpc6a, Hpc6id.
- Выделенные хосты (Dedicated Hosts): C5, M5, R5 и другие на Nitro.
Критика и ограничения
Несмотря на очевидные преимущества, система Nitro не лишена недостатков.
- Закрытость: Nitro System является полностью проприетарным решением AWS. Клиенты не имеют доступа к исходному коду гипервизора или прошивкам карт. Это создаёт зависимость от одного поставщика (vendor lock-in).
- Сложность аудита: Невозможность провести независимый аудит безопасности аппаратного и программного обеспечения Nitro. AWS предоставляет сертификаты соответствия (например, SOC, PCI DSS), но не публикует детальные спецификации.
- Стоимость: Инстансы на Nitro, как правило, дороже, чем аналогичные по характеристикам инстансы на базе Xen предыдущих поколений, хотя разница компенсируется более высокой производительностью.
- Ограничения конфигурации: Некоторые старые операционные системы или специализированные драйверы могут не поддерживаться на Nitro, что требует миграции на более новые версии.
Влияние на индустрию
AWS Nitro System стала эталоном для всей облачной индустрии. Конкуренты, такие как Microsoft Azure и Google Cloud, также разрабатывают собственные аппаратные решения для виртуализации (например, Azure SmartNIC и Google Titan). Однако Nitro остаётся наиболее зрелой и широко развёрнутой системой, демонстрирующей, что отказ от традиционных гипервизоров в пользу специализированного «железа» является наиболее эффективным путём для достижения максимальной производительности и безопасности в публичных облаках.
Источники
- AWS re:Invent 2017: Keynote by Werner Vogels
- AWS re:Invent 2020: Keynote by Peter DeSantis
- Официальная документация Amazon EC2 (раздел о Nitro System)
- Статья "AWS Nitro System: The Platform for the Cloud" в блоге AWS
- Презентации AWS на конференциях по облачным вычислениям (например, USENIX ATC)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →