Сьогодні AWS оголошує про доступність оновлень версії на місці для Керований робочий процес Amazon для Apache Airflow (Amazon MWAA). Це вдосконалення дозволяє легко оновити існуючі середовища Apache Airflow версії 2.x до новіших доступних версій, зберігаючи історію виконання робочого процесу та конфігурації середовища. Тепер ви можете скористатися найновішими можливостями платформи Apache Airflow без необхідності створювати абсолютно нове середовище Amazon MWAA.
Досі, якщо ви хотіли оновити середовище Amazon MWAA до іншої версії Apache Airflow, ви повинні були дотримуватися Міграція середовища Amazon MWAA інструкції. Це передбачало створення нового середовища Amazon MWAA, а потім перенесення всіх ваших конфігурацій і Орієнтовані ациклічні графи (DAG) до нього. Якщо вам також потрібно було зберегти історію запусків DAG, вам потрібно було зробити резервну копію вашої бази метаданих, а потім відновити цю резервну копію в щойно створеному середовищі. Цей процес був схильний до помилок, проводився вручну та передбачав додаткові витрати на підтримку двох окремих середовищ Amazon MWAA, доки ви не зможете перевірити нове та вивести з експлуатації старе.
У цій публікації ми надаємо огляд функції оновлення версії на місці, досліджуємо відповідні випадки використання, детально описуємо кроки для її використання та надаємо додаткові вказівки щодо її можливостей.
Огляд рішення
Нещодавно представлені оновлення версій на місці від Amazon MWAA забезпечують спрощений перехід від існуючих середовищ на основі Apache Airflow версії 2.x до нових доступних версій Apache Airflow. Amazon MWAA керує всім процесом оновлення, від надання нових версій Apache Airflow до оновлення бази метаданих. У разі помилки оновлення Amazon MWAA розроблено для повернення до попередньої стабільної версії за допомогою пов’язаного знімка бази даних метаданих.
Оновлення наявних середовищ на Amazon MWAA є простим процесом. Ви можете оновити існуючі середовища Apache Airflow 2.0 і пізніших версій на Amazon MWAA лише кількома клацаннями миші на консолі Amazon MWAA за допомогою API Amazon MWAA, Інтерфейс командного рядка AWS (AWS CLI), або за допомогою таких інструментів, як AWS CloudFormation, Набір хмарних розробок AWS (AWS CDK), або Terraform. Ця функція доступна в усіх підтримуваних регіонах Amazon MWAA.
На консолі Amazon MWAA просто відредагуйте середовище та виберіть доступну версію Apache Airflow, вищу за поточну версію наявного середовища. Ви також можете використовувати UpdateEnvironment API та вкажіть нову версію Apache Airflow, щоб запустити процес оновлення. Щоб дізнатися більше про оновлення версії на місці, див Оновлення версії Apache Airflow з документації Amazon MWAA.
Під час оновлення Amazon MWAA спочатку створює знімок існуючої бази метаданих середовища, який потім служить основою для нової бази даних. Згодом усі компоненти Apache Airflow — веб-сервер, планувальник і робочі — оновлюються. Нарешті, новостворена база даних метаданих оновлюється, фактично завершуючи перехід до нового середовища.
Застосовні випадки використання
Вам слід розглянути питання про оновлення версії Apache Airflow на Amazon MWAA, якщо ваші існуючі робочі процеси можуть врахувати зміни та доступна нова версія з функціями або вдосконаленнями, які відповідають вашому варіанту використання. Оновивши, ви зможете скористатися найновішими можливостями платформи Apache Airflow і підтримувати сумісність із новими функціями та передовими методами, такими як планування на основі даних і нові пакети постачальників Amazon випущено в Apache Airflow 2.4.3. Процес оновлення включає час простою середовища, який може тривати до 2 годин, залежно від розміру середовища, і може бути виконаний за вимогою у найкращий для вас час. Якщо ваше існуюче середовище інтенсивно використовується, тому ви не можете дозволити собі час простою, подумайте про створення нового середовища.
Передумови
Готуючись до оновлення, переконайтеся, що ви виконали наступні передумови:
- Перевірте зміни Apache Airflow між існуючою та новою версіями середовища. Перегляньте Apache Airflow Примітки до випуску щоб зрозуміти вплив нових функцій, значних змін і виправлень помилок у всіх проміжних випусках Apache Airflow між вихідною та цільовою версіями.
- Перегляньте свій існуючий
requirements.txt
файл, щоб перевірити правильний набір залежностей, необхідних для вашого цільового середовища. Крім того, переконайтеся, що вашіrequirements.txt
має правильний файл обмежень, доданий у верхній частині файлу, щоб відповідати вашому цільовому середовищу. Файл обмежень Apache Airflow визначає залежні модулі та версії постачальників, доступні на момент випуску Apache Airflow. Додавання файлу обмежень запобігає встановленню несумісних бібліотек у вашому середовищі. У наступному прикладі замініть{Airflow-version}
з номером версії вашого цільового середовища та{Python-version}
з версією Python, яка сумісна з вашим середовищем:--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-{Airflow-version}/constraints-{Python-version}.txt"
- Перевірте сумісність додаткових бібліотек Python, згаданих у вашому
requirements.txt
файл відповідно до цільового середовища. Apache Airflow v2.4.3 і вище використовують Python v3.10, тоді як старіші версії Apache Airflow використовують Python v3.7. Таким чином, якщо ви намагаєтеся оновити існуюче середовище на основі Apache Airflow v2.0.2/2.2.2 до Apache Airflow v2.4.3 або новішої версії, вам слід оновити додаткові бібліотеки Python, щоб вони відповідали Python v3.10. - З Apache Airflow версії 2.4.3 і вище список пакетів постачальників, які Amazon MWAA встановлює за умовчанням для вашого середовища, змінився. Зауважте, що в новому пакеті провайдера в Apache Airflow змінилися деякі імпортовані дані та назви операторів, щоб стандартизувати угоду про найменування в пакетах провайдерів. Порівняйте список пакетів постачальників, встановлених за замовчуванням в Apache Airflow версії 2.2.2 або версії 2.0.2 і налаштуйте будь-які додаткові пакети, які можуть знадобитися для вашого нового середовища Apache Airflow версії 2.4.3 і новішої версії.
- Переконайтеся, що ваші DAG та інші ресурси робочого процесу сумісні з новою версією Apache Airflow, до якої ви оновлюєтеся.
- Використовувати aws-mwaa-локальний-бігун утиліта для локального тестування існуючих DAG, вимог, плагінів і залежностей перед розгортанням на Amazon MWAA. Ви можете локально створити цільове середовище Apache Airflow, схоже на робочий образ Amazon MWAA
aws-mwaa-local-runner
і переконайтеся, що всі компоненти працюють, перш ніж намагатися оновити середовище Amazon MWAA. Крім того, перевірте процес оновлення нового середовища в середовищах Amazon із низьким рівнем MWAA, наприклад dev або staging, перш ніж розгортати оновлення у робочих середовищах.
Процес оновлення
Коли оновлення розпочато, Amazon MWAA зупиняє існуючі основні компоненти Apache Airflow (веб-сервер, планувальник і робочі). Цей процес зупиняє будь-які поточні робочі завдання. Статус вашого середовища на цьому етапі буде показано як UPDATING
. Потім у процесі оновлення створюється знімок бази даних метаданих, позначений статусом CREATING_SNAPSHOT
. Після завершення знімка статус середовища повертається до UPDATING
оскільки Amazon MWAA ініціює створення нового середовища Apache Airflow, яке відповідає вибраній версії, і застосовує необхідні зміни схеми до наявної бази метаданих, щоб узгодити її з цільовим середовищем Apache Airflow. Під час цього етапу встановлюються вказані вами вимоги, плагіни та інші залежності.
Після завершення ваше нове середовище буде позначено як AVAILABLE
, що вказує на те, що процес оновлення пройшов успішно та середовище готове до тестування. Тепер ви можете увійти до свого інтерфейсу користувача Apache Airflow, щоб перевірити наявність наявних груп DAG, їх історичних запусків, налаштованих з’єднань тощо.
Однак, якщо під час інсталяції зазначених вами файлів вимог, плагінів і залежностей виникають помилки, середовище ініціює відкат до попередньої стабільної версії. Під час цього процесу ваш статус середовища відображатиметься як ROLLING_BACK
. Якщо відкат пройде успішно, ваше попереднє стабільне середовище буде доступним, а статус відображатиметься як UPDATE_FAILED
доки спроба нового оновлення не завершиться успішно. Якщо відкат не вдасться, статус відобразиться як UNAVAILABLE
, що означає, що ваше середовище не працює.
Якщо процес оновлення вашого середовища не вдається, ймовірно, що лежить в основі Служба еластичних контейнерів Amazon (Amazon ECS) AWS Fargate кластери мали проблеми зі стабілізацією, викликані суперечливими вимогами та плагінами, проблемами з мережею або міграцією БД після оновлення компонента Apache Airflow. Щоб пом’якшити ці проблеми, переконайтеся, що ваші DAG і вимоги працюють без проблем за допомогою aws-mwaa-local-runner
утиліти та, в ідеалі, тестування в проміжному середовищі Amazon MWAA.
Додаткові міркування
Зверніть увагу на наступну додаткову інформацію про цю функцію:
- Процес оновлення доступний за запитом і обмежуватиметься переходом на новіші версії. Оновлення версій на місці Amazon MWAA не підтримується для версії 1.10.z. Щоб виконати основне оновлення версії, наприклад, з версії 1.yz до 2.yz, ви повинні створити нове середовище та перенести свої ресурси.
- Ви можете вибрати лише відповідні новіші версії, до яких можна оновити. Повернення до нижчої версії недоступне.
- Процес відкату може зайняти додатковий час і, якщо у вас є Служба простого зберігання Amazon (Amazon S3) увімкнено керування версіями сегмента, Amazon MWAA розроблено для повернення середовища до попередньої робочої конфігурації, включаючи плагіни та вимоги. Однак будь-які зміни, внесені вручну до ваших DAG, не буде скасовано під час цього процесу.
- Після успішного завершення процесу оновлення та доступності середовища для будь-яких запущених DAG, які були перервані під час оновлення, планується повторна спроба залежно від того, як ви налаштували повторні спроби для своїх DAG. Ви також можете запустити їх вручну або дочекатися наступного запланованого запуску.
- Ви повинні періодично оновлювати свої середовища, починаючи спочатку з найменш критичних.
Висновок
У цій публікації ми розповідали про нову функцію Amazon MWAA, яка дозволяє оновити наявне середовище Amazon MWAA до вищих версій Apache Airflow. Ця функція підтримується в нових і існуючих середовищах Amazon MWAA, на яких працює Apache Airflow 2.x і вище. Використовуйте цю функцію, щоб оновити свої версії Apache Airflow, зберігаючи наявні історії виконання робочих процесів і конфігурації середовища. Оновивши, ви зможете скористатися найновішими можливостями платформи Apache Airflow, підтримувати сумісність із новими функціями та дотримуватися найкращих практик.
Щоб отримати додаткові відомості та приклади коду на Amazon MWAA, відвідайте Посібник користувача Amazon MWAA і Amazon MWAA приклади репо GitHub.
Apache, Apache Airflow і Airflow є зареєстрованими товарними знаками або товарними знаками Apache Software Foundation в США та / або інших країнах.
Про авторів
Парнаб Басак є архітектором рішень і фахівцем з безсерверних технологій в AWS. Він спеціалізується на створенні нових хмарних рішень, використовуючи сучасні методи розробки програмного забезпечення, такі як безсерверний режим, DevOps і аналітика. Parnab тісно співпрацює у сфері аналітичних та інтеграційних служб, допомагаючи клієнтам адаптувати послуги AWS для їхніх потреб у організації робочого процесу.
Фернандо Гамеро є старшим інженером-архітектором рішень в AWS, має понад 25 років досвіду роботи в галузі технологій, від телекомунікацій, банківської справи до стартапів. Зараз він допомагає клієнтам створювати керовані подіями архітектури, запроваджувати рішення IoT на межі та масштабно трансформувати їхні дані та конвеєри машинного навчання.
Шубхам Мехта є досвідченим менеджером із продукції з понад восьми роками досвіду та підтвердженою репутацією доставки успішних продуктів. У своїй нинішній посаді старшого менеджера з продуктів в AWS він контролює керовані робочі процеси Amazon для Apache Airflow (Amazon MWAA) і очолює внески Apache Airflow з відкритим кодом для подальшого вдосконалення функціональності продукту.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- Купуйте та продавайте акції компаній, які вийшли на IPO, за допомогою PREIPO®. Доступ тут.
- джерело: https://aws.amazon.com/blogs/big-data/introducing-in-place-version-upgrades-with-amazon-mwaa/
- : має
- :є
- : ні
- $UP
- 1
- 10
- 100
- 110
- 7
- a
- МЕНЮ
- вище
- розмістити
- через
- ациклічні
- доданий
- додати
- Додатковий
- Додаткова інформація
- Додатково
- дотримуватися
- прийняти
- Прийняття
- Перевага
- після
- вирівнювати
- ВСІ
- дозволяє
- Також
- Amazon
- Керовані робочі процеси Amazon для Apache Airflow (Amazon MWAA)
- Amazon Web Services
- an
- аналітика
- та
- Оголошуючи
- будь-який
- Apache
- API
- застосовно
- ЕСТЬ
- AS
- асоційований
- At
- спробував
- спроба
- наявність
- доступний
- AWS
- назад
- резервна копія
- Banking
- основа
- BE
- було
- перед тим
- буття
- КРАЩЕ
- передового досвіду
- між
- Помилка
- Створюємо
- by
- CAN
- можливості
- випадок
- випадків
- викликаний
- зміна
- змінилися
- Зміни
- тісно
- хмара
- Хмара рідна
- код
- порівняти
- сумісність
- сумісний
- повний
- Зроблено
- завершення
- завершення
- компонент
- Компоненти
- конфігурація
- Конфлікти
- Зв'язки
- Вважати
- Консоль
- обмеження
- Контейнер
- внески
- Конвенція
- виправити
- витрати
- може
- країни
- створювати
- створений
- створює
- створення
- створення
- критичний
- Поточний
- В даний час
- Клієнти
- DAG
- дані
- керовані даними
- Database
- дефолт
- надання
- Попит
- залежний
- Залежно
- розгортання
- призначений
- призначення
- деталь
- деталі
- DEV
- розробка
- DevOps
- різний
- дисплей
- документація
- час простою
- керований
- під час
- край
- фактично
- або
- включений
- інженер
- підвищувати
- Посилення
- забезпечувати
- Весь
- повністю
- Навколишнє середовище
- середовищах
- помилка
- Ефір (ETH)
- Event
- приклад
- Приклади
- існуючий
- досвід
- досвідчений
- дослідити
- зазнає невдачі
- Провал
- особливість
- риси
- кілька
- філе
- Файли
- в кінці кінців
- Перший
- стежити
- після
- для
- від
- функціональний
- функціональність
- далі
- GitHub
- керівництво
- було
- Мати
- має
- he
- сильно
- допомогу
- вище
- його
- історичний
- історія
- ГОДИННИК
- Однак
- HTML
- HTTP
- HTTPS
- if
- зображення
- Impact
- імпорт
- поліпшення
- in
- У тому числі
- несумісні
- вказуючи
- промисловість
- інформація
- Посвячені
- установка
- замість
- інструкції
- інтеграція
- Проміжний
- перерваний
- введені
- введення
- залучений
- КАТО
- питання
- IT
- ЙОГО
- JPG
- просто
- пізніше
- останній
- УЧИТЬСЯ
- вивчення
- найменш
- libraries
- як
- Ймовірно
- обмеженою
- Лінія
- список
- локально
- журнал
- машина
- навчання за допомогою машини
- made
- підтримувати
- основний
- зробити
- вдалося
- менеджер
- управляє
- керівництво
- вручну
- позначено
- матч
- згаданий
- метадані
- може бути
- мігрувати
- мігруючи
- міграція
- mind
- Пом'якшити
- сучасний
- Модулі
- більше
- переміщення
- повинен
- Імена
- іменування
- рідний
- необхідно
- Необхідність
- необхідний
- потреби
- мережа
- Нові
- Нова функція
- Нові можливості
- нові рішення
- нещодавно
- наступний
- зараз
- номер
- of
- Старий
- on
- ті,
- тільки
- з відкритим вихідним кодом
- оператор
- or
- оркестровка
- порядок
- Інше
- з
- над
- огляд
- пакет
- пакети
- виконувати
- виконується
- фаза
- платформа
- plato
- Інформація про дані Платона
- PlatoData
- plugins
- пошта
- практики
- підготовка
- наявність
- запобігає
- попередній
- процес
- Product
- менеджер по продукції
- Production
- Продукти
- доведений
- забезпечувати
- Постачальник
- Python
- готовий
- запис
- райони
- зареєстрований
- звільнити
- Релізи
- замінювати
- вимагається
- Вимога
- ресурси
- відновлення
- утримує
- Умови повернення
- повернути
- огляд
- Роль
- Котити
- рухомий
- прогін
- біг
- шкала
- плановий
- планування
- плавно
- вибір
- старший
- окремий
- Без сервера
- служить
- Послуги
- комплект
- Повинен
- Показувати
- значний
- аналогічний
- простий
- просто
- Розмір
- Знімок
- Софтвер
- розробка програмного забезпечення
- Рішення
- деякі
- Source
- Простір
- спеціаліст
- спеціалізується
- зазначений
- стабільний
- Стажування
- інсценування
- Починаючи
- Стартапи
- Штати
- Статус
- заходи
- Зупиняє
- зберігання
- просто
- обтічний
- Згодом
- успішний
- Успішно
- такі
- Підтриманий
- Приймати
- Мета
- завдання
- Технологія
- зв'язок
- Terraform
- тест
- Тестування
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- отже
- Ці
- це
- час
- до
- інструменти
- топ
- трек
- торговельні марки
- перетворення
- перехід
- викликати
- два
- ui
- що лежить в основі
- розуміти
- United
- Сполучені Штати
- до
- Оновити
- модернізація
- підвищений
- оновлення
- використання
- використання випадку
- використовуваний
- користувач
- використання
- утиліта
- перевірити
- версія
- візит
- чекати
- хотів
- було
- шлях..
- we
- Web
- Веб-сервер
- веб-сервіси
- були
- коли
- який
- в той час як
- волі
- з
- без
- Work
- робочий
- робочі
- робочий
- Робочі процеси
- робочий
- працює
- X
- років
- ви
- вашу
- зефірнет