Astăzi, AWS anunță disponibilitatea actualizărilor de versiuni in loc pentru Flux de lucru gestionat de Amazon pentru Apache Airflow (Amazon MWAA). Această îmbunătățire vă permite să actualizați fără probleme mediile existente Apache Airflow versiunea 2.x la versiuni mai noi disponibile, păstrând în același timp istoricul rulării fluxului de lucru și configurațiile mediului. Acum puteți profita de cele mai recente capacități ale platformei Apache Airflow fără a fi nevoie să creați un mediu Amazon MWAA complet nou.
Până acum, dacă doriți să faceți upgrade mediului Amazon MWAA la o altă versiune Apache Airflow, trebuia să urmați Migrarea mediului Amazon MWAA instrucțiuni. Aceasta a implicat crearea unui nou mediu Amazon MWAA și apoi migrarea tuturor configurațiilor și Grafice aciclice direcționate (DAG-uri) la acesta. Dacă trebuia, de asemenea, să păstrați istoricul rulărilor DAG, trebuia să faceți o copie de rezervă a bazei de date cu metadate și apoi să restaurați acea copie de rezervă în mediul nou creat. Acest proces a fost predispus la erori, manual și a implicat costuri suplimentare pentru a menține două medii Amazon MWAA separate până când ați putut verifica noul și dezafecta cel vechi.
În această postare, oferim o prezentare generală a funcției de actualizare a versiunii în loc, explorăm cazurile de utilizare aplicabile, detaliem pașii pentru ao utiliza și oferim îndrumări suplimentare cu privire la capacitățile sale.
Prezentare generală a soluției
Actualizările versiunii locale recent introduse de Amazon MWAA oferă o tranziție simplificată de la mediile existente bazate pe Apache Airflow versiunea 2.x la versiunile Apache Airflow disponibile mai noi. Amazon MWAA gestionează întregul proces de actualizare, de la furnizarea de noi versiuni Apache Airflow până la actualizarea bazei de date cu metadate. În cazul unui eșec de actualizare, Amazon MWAA este proiectat să revină la versiunea stabilă anterioară folosind instantaneul asociat bazei de date cu metadate.
Actualizarea mediilor existente pe Amazon MWAA este un proces simplu. Puteți să vă actualizați mediile existente Apache Airflow 2.0 și ulterioare pe Amazon MWAA cu doar câteva clicuri pe consola Amazon MWAA, utilizând API-ul Amazon MWAA, Interfața liniei de comandă AWS (AWS CLI) sau folosind instrumente precum Formarea AWS Cloud, Kit AWS Cloud Development (AWS CDK) sau Terraform. Această funcție este disponibilă în toate regiunile Amazon MWAA acceptate în prezent.
Pe consola Amazon MWAA, pur și simplu editați mediul și selectați o versiune Apache Airflow disponibilă mai mare decât versiunea actuală a mediului dvs. existent. De asemenea, puteți utiliza UpdateEnvironment API și specificați noua versiune Apache Airflow pentru a declanșa un proces de actualizare. Pentru a afla mai multe despre actualizările versiunii la locul lor, consultați Actualizarea versiunii Apache Airflow din documentația Amazon MWAA.
În timpul unui upgrade, Amazon MWAA creează mai întâi un instantaneu al bazei de date de metadate a mediului existent, care servește apoi drept bază pentru o nouă bază de date. Ulterior, toate componentele Apache Airflow - server web, programator și lucrători - sunt actualizate. În cele din urmă, noua bază de date cu metadate este actualizată, completând efectiv tranziția la noul mediu.
Cazuri de utilizare aplicabile
Ar trebui să luați în considerare actualizarea versiunii dvs. Apache Airflow pe Amazon MWAA dacă fluxurile de lucru existente se pot adapta la schimbare și este disponibilă o nouă versiune cu funcții sau îmbunătățiri care se aliniază cazului dvs. de utilizare. Prin actualizare, puteți profita de cele mai recente capacități ale platformei Apache Airflow și puteți menține compatibilitatea cu noile funcții și cele mai bune practici, cum ar fi programarea bazată pe date și noile pachete de furnizori Amazon. lansat în Apache Airflow 2.4.3. Procesul de actualizare implică o perioadă de nefuncționare a mediului care poate dura până la 2 ore până la finalizare, în funcție de dimensiunea mediului și poate fi efectuat la cerere la momentul care vi se potrivește cel mai bine. Dacă mediul dvs. existent este utilizat intens, astfel încât să nu vă permiteți un timp de nefuncționare, luați în considerare crearea unui mediu nou.
Cerințe preliminare
Când vă pregătiți pentru upgrade, asigurați-vă că parcurgeți următorii pași esențiali:
- Verificați modificările Apache Airflow între versiunile dvs. existente și cele noi ale mediului. Examinați fluxul de aer Apache Note de lansare pentru a înțelege impactul noilor funcții, modificări semnificative și remedieri de erori pe care le-au făcut toate versiunile intermediare Apache Airflow între versiunile sursă și destinație.
- Examinați-vă existentul
requirements.txt
fișier pentru a verifica setul corect de dependențe necesare pentru mediul dvs. țintă. În plus, verificați dacă dvsrequirements.txt
fișierul are fișierul de constrângeri corect adăugat în partea de sus a fișierului pentru a se potrivi cu mediul țintă. Fișierul de constrângeri Apache Airflow specifică modulele dependente și versiunile furnizorului disponibile la momentul lansării Apache Airflow. Adăugarea unui fișier de constrângeri împiedică instalarea bibliotecilor incompatibile în mediul dumneavoastră. În exemplul următor, înlocuiți{Airflow-version}
cu numărul de versiune al mediului țintă și{Python-version}
cu versiunea de Python care este compatibilă cu mediul dvs.:--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-{Airflow-version}/constraints-{Python-version}.txt"
- Verificați compatibilitatea bibliotecilor Python suplimentare menționate în documentul dvs
requirements.txt
fișier pentru a se potrivi cu mediul țintă. Apache Airflow v2.4.3 și versiunile superioare folosesc Python v3.10, în timp ce versiunile mai vechi Apache Airflow folosesc Python v3.7. Prin urmare, dacă încercați să actualizați mediul existent bazat pe Apache Airflow v2.0.2/2.2.2 la Apache Airflow v2.4.3 sau o versiune ulterioară, ar trebui să actualizați bibliotecile Python suplimentare pentru a se potrivi cu Python v3.10. - Cu Apache Airflow v2.4.3 și versiuni ulterioare, lista pachetelor de furnizori pe care Amazon MWAA le instalează în mod implicit pentru mediul dvs. s-a schimbat. Rețineți că unele importuri și nume de operator s-au schimbat în noul pachet de furnizor în Apache Airflow pentru a standardiza convenția de denumire în toate pachetele de furnizor. Comparați lista pachetelor de furnizor instalate implicit în Apache Airflow v2.2.2 sau v2.0.2 și configurați orice pachete suplimentare de care aveți nevoie pentru noul dvs. mediu Apache Airflow v2.4.3 și o versiune ulterioară.
- Asigurați-vă că DAG-urile și alte resurse ale fluxului de lucru sunt compatibile cu noua versiune Apache Airflow la care faceți upgrade.
- Folosește aws-mwaa-local-runner utilitar pentru a testa DAG-urile, cerințele, pluginurile și dependențele existente la nivel local înainte de a le implementa pe Amazon MWAA. Puteți crea un mediu țintă Apache Airflow care este similar cu o imagine de producție Amazon MWAA folosind local
aws-mwaa-local-runner
și verificați că toate componentele dvs. funcționează înainte de a încerca să actualizați mediul dvs. Amazon MWAA. În plus, testați noul proces de actualizare a mediului în medii Amazon MWAA inferioare, cum ar fi dev sau staging înainte de a lansa upgrade-ul în mediile de producție.
Proces de upgrade
Când a fost inițiată o actualizare, Amazon MWAA oprește componentele Apache Airflow existente subiacente (server web, programator și lucrători). Acest proces oprește toate sarcinile de lucru care rulează în prezent. Starea mediului dumneavoastră în această etapă se va afișa ca UPDATING
. Procesul de actualizare creează apoi un instantaneu al bazei de date cu metadate, marcat de stare CREATING_SNAPSHOT
. Când instantaneul este complet, starea mediului revine la UPDATING
deoarece Amazon MWAA declanșează crearea unui nou mediu Apache Airflow care se potrivește cu selecția dvs. de versiune și aplică modificările necesare schemei bazei de date de metadate existente pentru a o alinia cu mediul țintă Apache Airflow. În această fază, sunt instalate cerințele, pluginurile și alte dependențe specificate.
La finalizare, noul dvs. mediu este marcat ca AVAILABLE
, indicând faptul că procesul de actualizare a avut succes și mediul este pregătit pentru testare. Acum vă puteți conecta la interfața de utilizare Apache Airflow pentru a verifica prezența DAG-urilor existente, rulările lor istorice, conexiunile configurate și multe altele.
Cu toate acestea, dacă există eșecuri în instalarea cerințelor, pluginurilor și fișierelor de dependențe specificate, mediul inițiază o deplasare la versiunea stabilă anterioară. În timpul acestui proces, starea mediului dumneavoastră se va afișa ca ROLLING_BACK
. Dacă rollback-ul are succes, mediul stabil anterior va fi disponibil și starea se va afișa ca UPDATE_FAILED
până când se încearcă o nouă actualizare și reușește. Dacă derularea eșuează, starea se va afișa ca UNAVAILABLE
, indicând faptul că mediul dvs. nu este funcțional.
Dacă procesul de actualizare a mediului dvs. eșuează, este probabil ca cel de bază Serviciul Amazon de containere elastice (Amazon ECS) AWS Fargate clusterele au avut probleme de stabilizare cauzate de cerințe și pluginuri conflictuale, probleme de rețea sau probleme de migrare a bazei de date după actualizarea componentei Apache Airflow. Pentru a atenua aceste probleme, asigurați-vă că DAG-urile și cerințele dvs. funcționează fără probleme de utilizare aws-mwaa-local-runner
utilitate și, în mod ideal, testați într-un mediu Amazon MWAA.
Considerații suplimentare
Rețineți următoarele informații suplimentare despre această caracteristică:
- Procesul de actualizare este disponibil la cerere și se va limita la trecerea la versiuni mai noi. Actualizările versiunii la locul lor pe Amazon MWAA nu sunt acceptate pentru versiunea 1.10.z. Pentru a efectua o actualizare majoră a versiunii, de exemplu de la versiunea 1.yz la 2.yz, trebuie să creați un mediu nou și să migrați resursele.
- Puteți selecta doar versiunile superioare aplicabile la care puteți face upgrade. Trecerea la o versiune inferioară nu este disponibilă.
- Procesul de rollback poate dura mai mult timp și, dacă aveți Serviciul Amazon de stocare simplă Versiunea compartimentului (Amazon S3) activată, Amazon MWAA este conceput pentru a reveni la configurația anterioară de lucru, inclusiv pluginuri și cerințe. Cu toate acestea, orice modificări manuale aduse DAG-urilor dvs. nu vor fi anulate în timpul acestui proces.
- După ce procesul de actualizare s-a finalizat cu succes și mediul este disponibil, toate DAG-urile care rulează care au fost întrerupte în timpul actualizării sunt programate pentru o reîncercare, în funcție de modul în care configurați reîncercările pentru DAG-urile dvs. De asemenea, le puteți declanșa manual sau puteți aștepta următoarea rulare programată.
- Ar trebui să vă actualizați iterativ mediile, începând cu cele mai puțin critice.
Concluzie
În această postare, am vorbit despre noua caracteristică a Amazon MWAA care vă permite să actualizați mediul dvs. existent Amazon MWAA la versiuni mai mari Apache Airflow. Această funcție este acceptată pe mediile Amazon MWAA noi și existente care rulează Apache Airflow 2.x și versiuni ulterioare. Utilizați această funcție pentru a vă actualiza versiunile Apache Airflow, păstrând în același timp istoricul de rulare a fluxului de lucru și configurațiile mediului. Prin actualizare, puteți profita de cele mai recente capacități ale platformei Apache Airflow și puteți menține compatibilitatea cu noile funcții și puteți respecta cele mai bune practici.
Pentru detalii suplimentare și exemple de cod pe Amazon MWAA, vizitați Ghidul utilizatorului Amazon MWAA si Amazon MWAA exemple GitHub repo.
Apache, Apache Airflow și Airflow sunt fie mărci comerciale înregistrate, fie mărci comerciale ale Apache Software Foundation în Statele Unite și / sau în alte țări.
Despre Autori
Parnab Basak este arhitect de soluții și specialist fără server la AWS. El este specializat în crearea de noi soluții native din cloud, folosind practici moderne de dezvoltare de software, cum ar fi serverless, DevOps și analize. Parnab lucrează îndeaproape în domeniul serviciilor de analiză și integrare, ajutând clienții să adopte serviciile AWS pentru nevoile lor de orchestrare a fluxului de lucru.
Fernando Gamero este inginer Senior Solutions Architect la AWS, având peste 25 de ani de experiență în industria tehnologiei, de la telecomunicații, bancar până la startup-uri. Acum îi ajută pe clienți să construiască arhitecturi bazate pe evenimente, să adopte soluții IoT la margine și să-și transforme conductele de date și de învățare automată la scară.
Shubham Mehta este un manager de produs cu experiență, cu peste opt ani de experiență și cu o experiență dovedită în furnizarea de produse de succes. În rolul său actual de Senior Product Manager la AWS, el supraveghează Amazon Managed Workflows pentru Apache Airflow (Amazon MWAA) și conduce contribuțiile open-source Apache Airflow pentru a îmbunătăți și mai mult funcționalitatea produsului.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Mintând viitorul cu Adryenn Ashley. Accesați Aici.
- Cumpărați și vindeți acțiuni în companii PRE-IPO cu PREIPO®. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/big-data/introducing-in-place-version-upgrades-with-amazon-mwaa/
- :are
- :este
- :nu
- $UP
- 1
- 10
- 100
- 110
- 7
- a
- Despre Noi
- mai sus
- găzdui
- peste
- aciclic
- adăugat
- adăugare
- Suplimentar
- informatii suplimentare
- În plus,
- adera
- adopta
- Adoptarea
- Avantaj
- După
- alinia
- TOATE
- permite
- de asemenea
- Amazon
- Fluxuri de lucru gestionate de Amazon pentru Apache Airflow (Amazon MWAA)
- Amazon Web Services
- an
- Google Analytics
- și
- anunțare
- Orice
- Apache
- api
- aplicabil
- SUNT
- AS
- asociate
- At
- a încercat să
- încercarea
- disponibilitate
- disponibil
- AWS
- înapoi
- Backup
- Bancar
- bază
- BE
- fost
- înainte
- fiind
- CEL MAI BUN
- Cele mai bune practici
- între
- Bug
- Clădire
- by
- CAN
- capacități
- caz
- cazuri
- cauzată
- Schimbare
- si-a schimbat hainele;
- Modificări
- îndeaproape
- Cloud
- Nor nativ
- cod
- comparaţie
- compatibilitate
- compatibil
- Completă
- Terminat
- completarea
- completare
- component
- componente
- Configuraţie
- În conflict
- Conexiuni
- Lua în considerare
- Consoleze
- constrângeri
- Recipient
- contribuţii
- Convenție
- corecta
- Cheltuieli
- ar putea
- țări
- crea
- a creat
- creează
- Crearea
- creaţie
- critic
- Curent
- În prezent
- clienţii care
- DAG
- de date
- Pe bază de date
- Baza de date
- Mod implicit
- livrarea
- Cerere
- Dependent/ă
- În funcție
- Implementarea
- proiectat
- destinație
- detaliu
- detalii
- dev
- Dezvoltare
- DevOps
- diferit
- Afişa
- documentaţie
- nefuncționare
- condus
- în timpul
- Margine
- în mod eficient
- oricare
- activat
- inginer
- spori
- sporire
- asigura
- Întreg
- în întregime
- Mediu inconjurator
- medii
- eroare
- Eter (ETH)
- eveniment
- exemplu
- exemple
- existent
- experienţă
- cu experienţă
- explora
- eșuează
- Eșec
- Caracteristică
- DESCRIERE
- puțini
- Fișier
- Fişiere
- În cele din urmă
- First
- urma
- următor
- Pentru
- din
- funcțional
- funcționalitate
- mai mult
- GitHub
- îndrumare
- HAD
- Avea
- având în
- he
- puternic
- ajutor
- superior
- lui
- istoric
- istorie
- ORE
- Totuși
- HTML
- http
- HTTPS
- if
- imagine
- Impactul
- importurile
- îmbunătățiri
- in
- Inclusiv
- incompatibil
- indicând
- industrie
- informații
- Initiaza
- Instalarea
- in schimb
- instrucțiuni
- integrare
- Intermediar
- întrerupt
- introdus
- introducerea
- implicat
- IoT
- probleme de
- IT
- ESTE
- jpg
- doar
- mai tarziu
- Ultimele
- AFLAȚI
- învăţare
- cel mai puțin
- biblioteci
- ca
- Probabil
- Limitat
- Linie
- Listă
- la nivel local
- log
- maşină
- masina de învățare
- făcut
- menține
- major
- face
- gestionate
- manager
- gestionează
- manual
- manual
- marcat
- Meci
- menționat
- Metadata
- ar putea
- migra
- Migrarea
- migrațiune
- minte
- diminua
- Modern
- Module
- mai mult
- în mişcare
- trebuie sa
- nume
- denumire
- nativ
- necesar
- Nevoie
- necesar
- nevoilor
- rețele
- Nou
- optiune noua
- Funcții noi
- noi soluții
- recent
- următor
- acum
- număr
- of
- Vechi
- on
- cele
- afară
- open-source
- operator
- or
- orchestrație
- comandă
- Altele
- afară
- peste
- Prezentare generală
- pachet
- ofertele
- efectua
- efectuată
- fază
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- Plugin-uri
- Post
- practicile
- pregătirea
- prezenţă
- previne
- precedent
- proces
- Produs
- manager de produs
- producere
- Produse
- dovedit
- furniza
- furnizorul
- Piton
- gata
- record
- regiuni
- înregistrată
- eliberaţi
- Lansări
- înlocui
- necesar
- Cerinţe
- Resurse
- restabili
- reținere
- Returnează
- reveni
- revizuiască
- Rol
- sul
- Rulare
- Alerga
- funcţionare
- Scară
- programată
- programare
- perfect
- selecţie
- senior
- distinct
- serverless
- servește
- Servicii
- set
- să
- Arăta
- semnificativ
- asemănător
- simplu
- pur şi simplu
- Mărimea
- Instantaneu
- Software
- de dezvoltare de software
- soluţii
- unele
- Sursă
- Spaţiu
- specialist
- specializată
- specificată
- stabil
- Etapă
- înscenare
- Pornire
- Startup-urile
- Statele
- Stare
- paşi
- opriri
- depozitare
- simplu
- raționalizate
- Ulterior
- de succes
- Reușit
- astfel de
- Suportat
- Lua
- Ţintă
- sarcini
- Tehnologia
- de telecomunicaţii
- Terraform
- test
- Testarea
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- prin urmare
- Acestea
- acest
- timp
- la
- Unelte
- top
- urmări
- mărci comerciale
- transformare
- tranziţie
- declanşa
- Două
- ui
- care stau la baza
- înţelege
- Unit
- Statele Unite
- până la
- Actualizează
- upgrade-ul
- modernizate
- upgrade-uri
- utilizare
- carcasa de utilizare
- utilizat
- Utilizator
- folosind
- utilitate
- verifica
- versiune
- Vizita
- aștepta
- dorit
- a fost
- Cale..
- we
- web
- server de web
- servicii web
- au fost
- cand
- care
- în timp ce
- voi
- cu
- fără
- Apartamente
- lucrător
- muncitorii
- flux de lucru
- fluxuri de lucru
- de lucru
- fabrică
- X
- ani
- tu
- Ta
- zephyrnet