Vandaag kondigt AWS de beschikbaarheid aan van in-place versie-upgrades voor Door Amazon beheerde workflow voor Apache Airflow (Amazone MWAA). Deze verbetering stelt u in staat om uw bestaande Apache Airflow versie 2.x-omgevingen naadloos te upgraden naar nieuwere beschikbare versies met behoud van de werkstroomgeschiedenis en omgevingsconfiguraties. U kunt nu profiteren van de nieuwste mogelijkheden van het Apache Airflow-platform zonder dat u een geheel nieuwe Amazon MWAA-omgeving hoeft te creëren.
Als je tot nu toe je Amazon MWAA-omgeving wilde upgraden naar een andere Apache Airflow-versie, moest je de Migratie van Amazon MWAA-omgeving instructies. Dit betrof het creëren van een nieuwe Amazon MWAA-omgeving en vervolgens het migreren van al uw configuraties en Gerichte acyclische grafieken (DAG's) eraan. Als u ook de geschiedenis van DAG-runs moest behouden, moest u een back-up maken van uw metadatadatabase en die back-up vervolgens herstellen in de nieuw gemaakte omgeving. Dit proces was foutgevoelig, handmatig en bracht extra kosten met zich mee om twee afzonderlijke Amazon MWAA-omgevingen te onderhouden totdat je de nieuwe kon verifiëren en de oude buiten gebruik kon stellen.
In dit bericht geven we een overzicht van de in-place versie-upgradefunctie, onderzoeken we toepasselijke use-cases, beschrijven we de stappen om deze te gebruiken en geven we aanvullende richtlijnen voor de mogelijkheden ervan.
Overzicht van de oplossing
De nieuw geïntroduceerde in-place versie-upgrades door Amazon MWAA zorgen voor een gestroomlijnde overgang van uw bestaande op Apache Airflow versie 2.x gebaseerde omgevingen naar nieuwere beschikbare Apache Airflow-versies. Amazon MWAA beheert het volledige upgradeproces, van het inrichten van nieuwe Apache Airflow-versies tot het upgraden van de metadatadatabase. In het geval van een mislukte upgrade is Amazon MWAA ontworpen om terug te gaan naar de vorige stabiele versie met behulp van de bijbehorende momentopname van de metadatadatabase.
Het upgraden van uw bestaande omgevingen op Amazon MWAA is een eenvoudig proces. Je kunt je bestaande Apache Airflow 2.0 en latere omgevingen op Amazon MWAA upgraden met slechts een paar klikken op de Amazon MWAA-console, door gebruik te maken van de Amazon MWAA API, de AWS-opdrachtregelinterface (AWS CLI), of met behulp van tools zoals AWS CloudFormatie AWS Cloud-ontwikkelingskit (AWS CDK), of Terraform. Deze functie is beschikbaar in alle momenteel ondersteunde Amazon MWAA-regio's.
Bewerk op de Amazon MWAA-console eenvoudig de omgeving en selecteer een beschikbare Apache Airflow-versie die hoger is dan de huidige versie van uw bestaande omgeving. U kunt ook de Omgeving bijwerken API en specificeer de nieuwe Apache Airflow-versie om een upgradeproces te activeren. Raadpleeg voor meer informatie over interne versie-upgrades De Apache Airflow-versie upgraden uit de Amazon MWAA-documentatie.
Tijdens een upgrade maakt Amazon MWAA eerst een momentopname van de metadatadatabase van de bestaande omgeving, die vervolgens dient als basis voor een nieuwe database. Vervolgens worden alle Apache Airflow-componenten - webserver, planner en werkers - geüpgraded. Ten slotte wordt de nieuw gecreëerde metadatadatabase geüpgraded, waarmee de overgang naar de nieuwe omgeving effectief is voltooid.
Toepasselijke use-cases
U zou moeten overwegen om uw Apache Airflow-versie op Amazon MWAA te upgraden als uw bestaande workflows de wijziging aankunnen en er een nieuwe versie beschikbaar is met functies of verbeteringen die aansluiten bij uw use-case. Door te upgraden, kunt u profiteren van de nieuwste mogelijkheden van het Apache Airflow-platform en de compatibiliteit behouden met nieuwe functies en best practices, zoals datagestuurde planning en nieuwe Amazon-providerpakketten uitgebracht in Apache Airflow 2.4.3. Het upgradeproces brengt downtime van de omgeving met zich mee die tot 2 uur kan duren, afhankelijk van de grootte van de omgeving en kan op verzoek worden uitgevoerd op een tijdstip dat u het beste uitkomt. Als uw bestaande omgeving zo intensief wordt gebruikt dat u zich geen downtime kunt veroorloven, overweeg dan om in plaats daarvan een nieuwe omgeving te maken.
Voorwaarden
Zorg er bij het voorbereiden van de upgrade voor dat u de volgende vereiste stappen voltooit:
- Controleer Apache Airflow-wijzigingen tussen uw bestaande en nieuwe versies van de omgeving. Bekijk de Apache Airflow release notes om de impact te begrijpen van nieuwe functies, belangrijke wijzigingen en bugfixes die alle tussentijdse Apache Airflow-releases hebben gemaakt tussen uw bron- en doelversies.
- Controleer uw bestaande
requirements.txt
bestand om de juiste set afhankelijkheden te verifiëren die vereist zijn voor uw doelomgeving. Controleer bovendien of uwrequirements.txt
bestand heeft het juiste bestand met beperkingen toegevoegd bovenaan het bestand om overeen te komen met uw doelomgeving. Het Apache Airflow constraints-bestand specificeert de afhankelijke modules en providerversies die beschikbaar zijn op het moment van een Apache Airflow-release. Door een bestand met beperkingen toe te voegen, voorkomt u dat incompatibele bibliotheken in uw omgeving worden geïnstalleerd. Vervang in het volgende voorbeeld{Airflow-version}
met het versienummer van uw doelomgeving, en{Python-version}
met de versie van Python die compatibel is met uw omgeving:--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-{Airflow-version}/constraints-{Python-version}.txt"
- Controleer de compatibiliteit van aanvullende Python-bibliotheken die worden genoemd in uw
requirements.txt
bestand dat overeenkomt met uw doelomgeving. Apache Airflow v2.4.3 en hoger gebruiken Python v3.10, terwijl oudere Apache Airflow-versies Python v3.7 gebruiken. Daarom, als u uw bestaande op Apache Airflow v2.0.2/2.2.2 gebaseerde omgeving probeert te upgraden naar Apache Airflow v2.4.3 of hoger, moet u uw aanvullende Python-bibliotheken bijwerken zodat deze overeenkomen met Python v3.10. - Met Apache Airflow v2.4.3 en hoger is de lijst met providerpakketten die Amazon MWAA standaard voor uw omgeving installeert, gewijzigd. Merk op dat sommige import- en operatornamen zijn gewijzigd in het nieuwe providerpakket in Apache Airflow om de naamgevingsconventie voor de providerpakketten te standaardiseren. Vergelijk de lijst met standaard geïnstalleerde providerpakketten in Apache Airflow v2.2.2 of v2.0.2 en configureer eventuele aanvullende pakketten die u mogelijk nodig heeft voor uw nieuwe Apache Airflow v2.4.3 en hogere omgeving.
- Zorg ervoor dat uw DAG's en andere workflowbronnen compatibel zijn met de nieuwe Apache Airflow-versie waarnaar u een upgrade uitvoert.
- Gebruik de aws-mwaa-lokale-runner hulpprogramma om uw bestaande DAG's, vereisten, plug-ins en afhankelijkheden lokaal te testen voordat u deze implementeert op Amazon MWAA. U kunt lokaal een Apache Airflow-doelomgeving maken die vergelijkbaar is met een Amazon MWAA-productie-image
aws-mwaa-local-runner
en controleer of al uw componenten werken voordat u probeert uw Amazon MWAA-omgeving te upgraden. Test bovendien het nieuwe omgevingsupgradeproces in lagere Amazon MWAA-omgevingen zoals dev of staging voordat de upgrade in productieomgevingen wordt uitgerold.
Upgradeproces
Wanneer een upgrade is gestart, stopt Amazon MWAA de bestaande onderliggende Apache Airflow-componenten (webserver, planner en werkers). Dit proces stopt alle werktaken die momenteel worden uitgevoerd. De status van uw omgeving in dit stadium wordt weergegeven als UPDATING
. Het upgradeproces maakt vervolgens een databasemomentopname van de metadatadatabase, gemarkeerd door de status CREATING_SNAPSHOT
. Wanneer de momentopname is voltooid, keert de omgevingsstatus terug naar UPDATING
aangezien Amazon MWAA de aanmaak van een nieuwe Apache Airflow-omgeving activeert die overeenkomt met uw versieselectie en de nodige schemawijzigingen toepast op de bestaande metadatadatabase om deze af te stemmen op de doel-Apache Airflow-omgeving. Tijdens deze fase worden uw gespecificeerde vereisten, plug-ins en andere afhankelijkheden geïnstalleerd.
Na voltooiing wordt uw nieuwe omgeving gemarkeerd als AVAILABLE
, waarmee wordt aangegeven dat het upgradeproces is geslaagd en dat de omgeving klaar is om te worden getest. U kunt nu inloggen op uw Apache Airflow-gebruikersinterface om de aanwezigheid van uw bestaande DAG's, hun historische uitvoeringen, geconfigureerde verbindingen en meer te verifiëren.
Als er echter fouten optreden bij het installeren van uw gespecificeerde vereisten, plug-ins en afhankelijkhedenbestanden, start de omgeving een rollback naar de vorige stabiele versie. Tijdens dit proces wordt uw omgevingsstatus weergegeven als ROLLING_BACK
. Als het terugdraaien succesvol is, is uw vorige stabiele omgeving beschikbaar en wordt de status weergegeven als UPDATE_FAILED
totdat een nieuwe update wordt geprobeerd en slaagt. Als het terugdraaien mislukt, wordt de status weergegeven als UNAVAILABLE
, wat aangeeft dat uw omgeving niet functioneel is.
Als het upgradeproces van uw omgeving mislukt, is het waarschijnlijk dat het onderliggende Amazon Elastic Container-service (Amazone-ECS) AWS Fargate clusters hadden stabilisatieproblemen veroorzaakt door conflicterende vereisten en plug-ins, netwerkproblemen of DB-migratieproblemen na de upgrade van de Apache Airflow-component. Om deze problemen te verminderen, moet u ervoor zorgen dat uw DAG's en vereisten zonder problemen werken met behulp van de aws-mwaa-local-runner
hulpprogramma en, idealiter, testen in een staging Amazon MWAA-omgeving.
Aanvullende overwegingen
Houd rekening met de volgende aanvullende informatie van deze functie:
- Het upgradeproces is op aanvraag beschikbaar en beperkt zich tot het overstappen naar nieuwere versies. In-place versie-upgrades op Amazon MWAA worden niet ondersteund voor versie 1.10.z. Om een belangrijke versie-upgrade uit te voeren, bijvoorbeeld van versie 1.yz naar 2.yz, moet u een nieuwe omgeving maken en uw bronnen migreren.
- U kunt alleen toepasselijke hogere versies selecteren waarnaar u kunt upgraden. Downgraden naar een lagere versie is niet mogelijk.
- Het terugdraaiproces kan extra tijd in beslag nemen en, als dat zo is Amazon eenvoudige opslagservice (Amazon S3) bucket-versiebeheer ingeschakeld, Amazon MWAA is ontworpen om de omgeving terug te zetten naar de vorige werkconfiguratie, inclusief plug-ins en vereisten. Handmatige wijzigingen die in uw DAG's zijn aangebracht, worden tijdens dit proces echter niet ongedaan gemaakt.
- Nadat het upgradeproces met succes is voltooid en de omgeving beschikbaar is, worden actieve DAG's die tijdens de upgrade zijn onderbroken, gepland voor een nieuwe poging, afhankelijk van de manier waarop u nieuwe pogingen voor uw DAG's configureert. U kunt ze ook handmatig activeren of wachten op de volgende geplande run.
- U moet uw omgevingen iteratief upgraden, te beginnen met de minst kritieke eerst.
Conclusie
In dit bericht hebben we het gehad over de nieuwe functie van Amazon MWAA waarmee je je bestaande Amazon MWAA-omgeving kunt upgraden naar hogere Apache Airflow-versies. Deze functie wordt ondersteund op nieuwe en bestaande Amazon MWAA-omgevingen met Apache Airflow 2.x en hoger. Gebruik deze functie om uw Apache Airflow-versies te upgraden met behoud van uw bestaande werkstroomloopgeschiedenis en omgevingsconfiguraties. Door te upgraden, kunt u profiteren van de nieuwste mogelijkheden van het Apache Airflow-platform en de compatibiliteit met nieuwe functies behouden en u houden aan best practices.
Ga voor meer informatie en codevoorbeelden op Amazon MWAA naar de Amazon MWAA-gebruikershandleiding en Amazon MWAA-voorbeelden GitHub-repo.
Apache, Apache Airflow en Airflow zijn gedeponeerde handelsmerken of handelsmerken van de Apache Software Foundation in de Verenigde Staten en/of andere landen.
Over de auteurs
Parnab Basak is een Solutions Architect en een Serverless Specialist bij AWS. Hij is gespecialiseerd in het creëren van nieuwe oplossingen die cloud-native zijn met behulp van moderne softwareontwikkelingspraktijken zoals serverloos, DevOps en analyse. Parnab werkt nauw samen op het gebied van analyse- en integratieservices en helpt klanten AWS-services te gebruiken voor hun workflow-orkestratiebehoeften.
Fernando Gamero is een Senior Solutions Architect-ingenieur bij AWS, met meer dan 25 jaar ervaring in de technologie-industrie, van telecommunicatie, bankieren tot startups. Hij helpt nu klanten met het bouwen van Event Driven Architectures, het adopteren van IoT-oplossingen aan de rand en het op grote schaal transformeren van hun data- en machine learning-pijplijnen.
Shubham Mehta is een ervaren productmanager met meer dan acht jaar ervaring en een bewezen staat van dienst in het leveren van succesvolle producten. In zijn huidige rol als Senior Product Manager bij AWS houdt hij toezicht op Amazon Managed Workflows voor Apache Airflow (Amazon MWAA) en leidt hij de Apache Airflow open-sourcebijdragen om de functionaliteit van het product verder te verbeteren.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- De toekomst slaan met Adryenn Ashley. Toegang hier.
- Koop en verkoop aandelen in PRE-IPO-bedrijven met PREIPO®. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/introducing-in-place-version-upgrades-with-amazon-mwaa/
- : heeft
- :is
- :niet
- $UP
- 1
- 10
- 100
- 110
- 7
- a
- Over
- boven
- accommoderen
- over
- acyclische
- toegevoegd
- toe te voegen
- Extra
- Extra informatie
- Daarnaast
- aanhangen
- adopteren
- De goedkeuring van
- Voordeel
- Na
- richten
- Alles
- toestaat
- ook
- Amazone
- Door Amazon beheerde workflows voor Apache Airflow (Amazon MWAA)
- Amazon Web Services
- an
- analytics
- en
- Het aankondigen
- elke
- apache
- api
- toepasselijk
- ZIJN
- AS
- geassocieerd
- At
- gepoogd
- proberen
- beschikbaarheid
- Beschikbaar
- AWS
- terug
- backup
- Bankieren
- basis
- BE
- geweest
- vaardigheden
- wezen
- BEST
- 'best practices'
- tussen
- Bug
- Gebouw
- by
- CAN
- mogelijkheden
- geval
- gevallen
- veroorzaakt
- verandering
- veranderd
- Wijzigingen
- van nabij
- Cloud
- wolk native
- code
- vergelijken
- verenigbaarheid
- verenigbaar
- compleet
- Voltooid
- het invullen van
- voltooiing
- bestanddeel
- componenten
- Configuratie
- Tegenstrijdig
- aansluitingen
- Overwegen
- troosten
- beperkingen
- Containers
- bijdragen
- Conventie
- te corrigeren
- Kosten
- kon
- landen
- en je merk te creëren
- aangemaakt
- creëert
- Wij creëren
- het aanmaken
- kritisch
- Actueel
- Op dit moment
- Klanten
- DAG
- gegevens
- Gegevensgestuurde
- Database
- Standaard
- het leveren van
- Vraag
- afhankelijk
- Afhankelijk
- het inzetten
- ontworpen
- bestemming
- detail
- gegevens
- Dev
- Ontwikkeling
- DevOps
- anders
- Display
- documentatie
- uitvaltijd
- gedreven
- gedurende
- rand
- effectief
- beide
- ingeschakeld
- ingenieur
- verhogen
- enhancement
- verzekeren
- Geheel
- geheel
- Milieu
- omgevingen
- fout
- Ether (ETH)
- Event
- voorbeeld
- voorbeelden
- bestaand
- ervaring
- ervaren
- Verken
- mislukt
- Storing
- Kenmerk
- Voordelen
- weinig
- Dien in
- Bestanden
- Tot slot
- Voornaam*
- volgen
- volgend
- Voor
- oppompen van
- functioneel
- functionaliteit
- verder
- GitHub
- leiding
- HAD
- Hebben
- met
- he
- hard
- het helpen van
- hoger
- zijn
- historisch
- geschiedenis
- HOURS
- Echter
- HTML
- http
- HTTPS
- if
- beeld
- Impact
- invoer
- verbeteringen
- in
- Inclusief
- onverenigbaar
- wat aangeeft
- -industrie
- informatie
- ingewijden
- installeren
- verkrijgen in plaats daarvan
- instructies
- integratie
- Gemiddeld
- onderbroken
- geïntroduceerd
- de invoering
- betrokken zijn
- iot
- problemen
- IT
- HAAR
- jpg
- voor slechts
- later
- laatste
- LEARN
- leren
- minst
- bibliotheken
- als
- Waarschijnlijk
- Beperkt
- Lijn
- Lijst
- plaatselijk
- inloggen
- machine
- machine learning
- gemaakt
- onderhouden
- groot
- maken
- beheerd
- manager
- beheert
- handboek
- handmatig
- gemarkeerd
- Match
- vermeld
- Metadata
- macht
- trekken
- migreren
- migratie
- denken
- Verzachten
- Modern
- Modules
- meer
- bewegend
- Dan moet je
- namen
- naamgeving
- inheemse
- noodzakelijk
- Noodzaak
- nodig
- behoeften
- netwerken
- New
- nieuwe functie
- Nieuwe mogelijkheden
- nieuwe oplossingen
- onlangs
- volgende
- nu
- aantal
- of
- Oud
- on
- degenen
- Slechts
- open source
- operator
- or
- orkestratie
- bestellen
- Overige
- uit
- over
- overzicht
- pakket
- Paketten
- uitvoeren
- uitgevoerd
- fase
- platform
- Plato
- Plato gegevensintelligentie
- PlatoData
- plugins
- Post
- praktijken
- voorbereiding
- aanwezigheid
- voorkomt
- vorig
- Product
- product manager
- productie
- Producten
- bewezen
- zorgen voor
- leverancier
- Python
- klaar
- record
- regio
- geregistreerd
- los
- Releases
- vervangen
- nodig
- Voorwaarden
- Resources
- herstellen
- behoudende
- Retourneren
- terugkeren
- beoordelen
- Rol
- Rollen
- Rollen
- lopen
- lopend
- Scale
- gepland
- scheduling
- naadloos
- selectie
- senior
- apart
- Serverless
- bedient
- Diensten
- reeks
- moet
- tonen
- aanzienlijke
- gelijk
- Eenvoudig
- eenvoudigweg
- Maat
- Momentopname
- Software
- software development
- Oplossingen
- sommige
- bron
- Tussenruimte
- specialist
- specialiseert
- gespecificeerd
- stabiel
- Stadium
- regie
- Start
- Startups
- Staten
- Status
- Stappen
- Stopt
- mediaopslag
- eenvoudig
- gestroomlijnd
- Hierop volgend
- geslaagd
- Met goed gevolg
- dergelijk
- ondersteunde
- Nemen
- doelwit
- taken
- Technologie
- telecommunicatie
- Terraform
- proef
- Testen
- neem contact
- dat
- De
- hun
- Ze
- harte
- Er.
- daarom
- Deze
- dit
- niet de tijd of
- naar
- tools
- top
- spoor
- handelsmerken
- transformeren
- overgang
- leiden
- twee
- ui
- die ten grondslag liggen
- begrijpen
- United
- Verenigde Staten
- tot
- bijwerken
- upgrade
- opgewaardeerd
- upgrades
- .
- use case
- gebruikt
- Gebruiker
- gebruik
- utility
- controleren
- versie
- Bezoek
- wachten
- gezocht
- was
- Manier..
- we
- web
- webserver
- webservices
- waren
- wanneer
- welke
- en
- wil
- Met
- zonder
- Mijn werk
- werker
- werknemers
- workflow
- workflows
- werkzaam
- Bedrijven
- X
- jaar
- u
- Your
- zephyrnet