Amazon Managed Workflows for Apache Airflow (Amazon MWAA) has grow to be a cornerstone for organizations embracing data-driven decision-making. As a scalable resolution for managing complicated information pipelines, Amazon MWAA permits seamless orchestration throughout AWS providers and on-premises methods. Though AWS manages the underlying infrastructure, you will need to rigorously plan and execute your Amazon MWAA surroundings updates in line with the shared duty mannequin. Upgrading to the most recent Amazon MWAA model can present vital benefits, together with enhanced safety by way of crucial safety patches and potential enhancements in efficiency with quicker DAG parsing and diminished database load. You should use superior options whereas sustaining ecosystem compatibility and receiving prioritized AWS assist. The important thing to profitable upgrades lies in choosing the proper resolution and following a methodical implementation method.
On this submit, we discover greatest practices for upgrading your Amazon MWAA surroundings and supply a step-by-step information to seamlessly transition to the most recent model.
Answer overview
Amazon MWAA supplies two major improve options:
- In-place improve – This methodology works greatest when you possibly can accommodate deliberate downtime. You deploy the brand new model instantly in your present infrastructure. In-place model upgrades on Amazon MWAA are supported for environments working Apache Airflow model 2.x and later. Nevertheless, in the event you’re working model 1.10.z or older variations, you will need to create a brand new surroundings and migrate your sources, as a result of these variations don’t assist in-place upgrades.
- Cutover improve – This methodology helps reduce disruption to manufacturing environments. You create a brand new Amazon MWAA surroundings with the goal model after which transition out of your outdated surroundings to the brand new one.
Every resolution gives a distinct method that can assist you improve whereas working to take care of information integrity and system reliability.
In-place improve
In-place upgrades work effectively for environments the place you possibly can schedule a upkeep window for the improve course of. Throughout this window, Amazon MWAA preserves your workflow historical past. This methodology works greatest when you possibly can accommodate deliberate downtime. It helps keep historic information, supplies a simple improve course of, and consists of rollback capabilities if points happen throughout provisioning. You additionally use fewer sources since you don’t have to create a brand new surroundings.
You’ll be able to carry out in-place upgrades by way of the AWS Administration Console with a single operation. This course of helps cut back operational overhead by managing many improve steps for you.
Throughout the improve course of, your surroundings can’t schedule or run new duties. Amazon MWAA helps handle the improve course of and implements security measures—if points happen through the provisioning part, the service makes an attempt to revert to the earlier secure model.
Earlier than you start an in-place improve, we advocate testing your DAGs for compatibility with the goal model, as a result of DAG compatibility points can have an effect on the improve course of. You should use the Amazon MWAA native runner to check DAG compatibility earlier than you begin the improve. You can begin the improve utilizing both the console and specifying the brand new model or the AWS Command Line Interface (AWS CLI). The next is an instance Amazon MWAA improve command utilizing the AWS CLI:
The next diagram reveals the Amazon MWAA in-place improve workflow and states.
Seek advice from Introducing in-place model upgrades with Amazon MWAA for extra particulars.
Cutover improve
A cutover improve supplies another resolution when you could reduce downtime, although it requires extra guide steps and operational planning. With this method, you create a brand new Amazon MWAA surroundings, migrate your metadata, and handle the transition between environments. Though this methodology gives extra management over the improve course of, it requires further planning and execution effort in comparison with an in-place improve.
This methodology can work effectively for environments with complicated workflows, notably once you plan to make vital modifications alongside the model improve. The method gives a number of advantages: you possibly can reduce manufacturing downtime, carry out complete testing earlier than switching environments, and keep the power to return to your unique surroundings if wanted. You may as well evaluate and replace your configurations through the transition.
Take into account the next points of the cutover method. Whenever you run two environments concurrently, you pay for each environments. The pricing for every Amazon MWAA surroundings is dependent upon:
- Length of surroundings uptime (billed hourly with per-second decision)
- Surroundings dimension configuration
- Computerized scaling capability for employees
- Scheduler capability
AWS calculates the price of further automated scaled employees individually. You’ll be able to estimate prices to your particular configuration utilizing the AWS Pricing Calculator.
To assist stop information duplication or corruption throughout parallel operation, we advocate implementing idempotent DAGs. The Airflow scheduler robotically populates some metadata tables (dag, dag_tag, and dag_code) in your new surroundings. Nevertheless, you could plan the migration of the next further metadata elements:
- DAG historical past
- Variables
- Slot pool configurations
- SLA miss information
- XCom information
- Job information
- Log tables
You’ll be able to select this method when your necessities prioritize minimal downtime and you may handle the extra operational complexity.
The cutover improve course of entails three primary steps: creating a brand new surroundings, restoring it with the prevailing information, and performing the improve. The next diagram illustrates the complete workflow.
Within the following sections, we stroll by way of the important thing steps to carry out a cutover improve.
Stipulations
Earlier than you start the improve course of, full the next steps:
Create a brand new surroundings
Full the next steps to create a brand new surroundings:
- Generate a template to your new surroundings configuration utilizing the AWS CLI:
- Modify the generated JSON file:
- Copy configurations out of your backup file
.json to .json. - Replace the surroundings identify.
- Preserve the AirflowVersion parameter worth out of your present surroundings.
- Evaluation and replace different configuration parameters as wanted.
- Copy configurations out of your backup file
- Create your new surroundings:
Restore the brand new surroundings
Full the next steps to revive the brand new surroundings:
- Use the mwaa-dr PyPI bundle to create and run the restore DAG.
- This course of copies metadata out of your S3 backup bucket to the brand new surroundings.
- Confirm that your new surroundings accommodates the anticipated metadata out of your unique surroundings.
Carry out the model improve
Full the next steps to carry out the model improve:
- Improve your surroundings:
- Monitor the improve:
- Observe the surroundings standing on the console.
- Look ahead to error messages or warnings.
- Confirm the surroundings reaches the AVAILABLE
Plan your transition timing rigorously. When your unique surroundings continues to course of workflows throughout this improve, the metadata between environments can change.
Clear up
After you confirm the steadiness of your upgraded surroundings by way of monitoring, you possibly can start the cleanup course of:
- Take away your unique Amazon MWAA surroundings utilizing the AWS CLI command:
- Clear up your related sources by eradicating unused backup information from S3 buckets, deleting non permanent AWS Id and Entry Administration (IAM) roles and insurance policies created for the improve, and updating your DNS or routing configurations.
Earlier than eradicating any sources, ensure you observe your group’s backup retention insurance policies, keep obligatory backup information to your compliance necessities, and doc configuration modifications made through the improve.
This method helps you carry out a managed improve with alternatives for testing and the power to return to your unique surroundings if wanted.
Monitoring and validation
You’ll be able to observe your improve progress utilizing Amazon CloudWatch metrics, with a give attention to DAG processing metrics and scheduler heartbeat. Your surroundings transitions by way of a number of states through the improve course of, together with UPDATING and CREATING. When your surroundings reveals the AVAILABLE state, you possibly can start validation testing. We advocate checking system accessibility, testing crucial workflow operations, and verifying exterior connections. For detailed monitoring steering, see Monitoring and metrics for Amazon Managed Workflows for Apache Airflow.
Key issues
Think about using infrastructure as code (IaC) practices to assist keep constant surroundings administration and assist repeatable deployments. Schedule metadata backups utilizing mwaa-dr during times of low exercise to assist shield your information. When designing your workflows, implement idempotent pipelines to assist handle potential interruptions, and keep documentation of your configurations and dependencies.
Conclusion
A profitable Amazon MWAA improve begins with deciding on an method that aligns together with your operational necessities. Whether or not you select an in-place or cutover improve, thorough preparation and testing assist assist a managed transition. Utilizing obtainable instruments, monitoring capabilities, and really useful practices might help you improve to the most recent Amazon MWAA options whereas working to take care of your workflow operations.
For extra particulars and code examples on Amazon MWAA, check with the Amazon MWAA Consumer Information and Amazon MWAA examples GitHub repo.
Apache, Apache Airflow, and Airflow are both registered logos or logos of the Apache Software program Basis in the USA and/or different nations.
Concerning the Authors
Anurag Srivastava works as a Senior Large Knowledge Cloud Engineer at Amazon Internet Companies (AWS), specializing in Amazon MWAA. He’s obsessed with serving to prospects construct scalable information pipelines and workflow automation options on AWS.
Sriharsh Adari is a Senior Options Architect at Amazon Internet Companies (AWS), the place he helps prospects work backwards from enterprise outcomes to develop revolutionary options on AWS. Over time, he has helped a number of prospects on information platform transformations throughout trade verticals. His core space of experience embody Expertise Technique, Knowledge Analytics, and Knowledge Science. In his spare time, he enjoys taking part in sports activities, binge-watching TV reveals, and taking part in Tabla.
Venu Thangalapally is a Senior Options Architect at AWS, primarily based in Chicago, with deep experience in cloud structure, information and analytics, containers, and software modernization. He companions with Monetary Companies trade prospects to translate enterprise targets into safe, scalable, and compliant cloud options that ship measurable worth. Venu is obsessed with leveraging know-how to drive innovation and operational excellence. Exterior of labor, he enjoys spending time together with his household, studying, and taking lengthy walks.
Chandan Rupakheti is a Senior Options Architect at AWS. His primary focus at AWS lies within the intersection of analytics, serverless, and AdTech providers. He’s a passionate technical chief, researcher, and mentor with a knack for constructing revolutionary options within the cloud. Exterior of his skilled life, he loves spending time together with his household and pals, and listening to and taking part in music.