Finest practices for upgrading Amazon MWAA environments

Finest practices for upgrading Amazon MWAA environments


Amazon Managed Workflows for Apache Airflow (Amazon MWAA) has change into a cornerstone for organizations embracing data-driven decision-making. As a scalable resolution for managing complicated knowledge pipelines, Amazon MWAA permits seamless orchestration throughout AWS companies and on-premises techniques. Though AWS manages the underlying infrastructure, you need to rigorously plan and execute your Amazon MWAA setting updates in line with the shared accountability mannequin. Upgrading to the most recent Amazon MWAA model can present vital benefits, together with enhanced safety via vital safety patches and potential enhancements in efficiency with sooner DAG parsing and decreased database load. You need to 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 finest practices for upgrading your Amazon MWAA setting and supply a step-by-step information to seamlessly transition to the most recent model.

Resolution overview

Amazon MWAA offers two major improve options:

  • In-place improve – This methodology works finest when you’ll be able to accommodate deliberate downtime. You deploy the brand new model straight in your current infrastructure. In-place model upgrades on Amazon MWAA are supported for environments operating Apache Airflow model 2.x and later. Nonetheless, if you happen to’re operating model 1.10.z or older variations, you need to create a brand new setting 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 setting with the goal model after which transition out of your previous setting to the brand new one.

Every resolution affords a special method that can assist you improve whereas working to keep up knowledge integrity and system reliability.

In-place improve

In-place upgrades work effectively for environments the place you’ll be able to schedule a upkeep window for the improve course of. Throughout this window, Amazon MWAA preserves your workflow historical past. This methodology works finest when you’ll be able to accommodate deliberate downtime. It helps preserve historic knowledge, offers an easy improve course of, and contains rollback capabilities if points happen throughout provisioning. You additionally use fewer sources since you don’t have to create a brand new setting.

You possibly can carry out in-place upgrades via the AWS Administration Console with a single operation. This course of helps scale back operational overhead by managing many improve steps for you.

In the course of the improve course of, your setting can’t schedule or run new duties. Amazon MWAA helps handle the improve course of and implements security measures—if points happen throughout the provisioning section, the service makes an attempt to revert to the earlier steady 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 need to 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:

aws mwaa update-environment --name  --airflow-version 

The next diagram exhibits the Amazon MWAA in-place improve workflow and states.

In-place upgrade workflow and states

Seek advice from Introducing in-place model upgrades with Amazon MWAA for extra particulars.

Cutover improve

A cutover improve offers an alternate resolution when you should reduce downtime, although it requires extra handbook steps and operational planning. With this method, you create a brand new Amazon MWAA setting, migrate your metadata, and handle the transition between environments. Though this methodology affords extra management over the improve course of, it requires extra planning and execution effort in comparison with an in-place improve.

This methodology can work effectively for environments with complicated workflows, notably while you plan to make vital modifications alongside the model improve. The method affords a number of advantages: you’ll be able to reduce manufacturing downtime, carry out complete testing earlier than switching environments, and preserve the power to return to your authentic setting if wanted. You can too evaluate and replace your configurations throughout the transition.

Take into account the next points of the cutover method. While you run two environments concurrently, you pay for each environments. The pricing for every Amazon MWAA setting is dependent upon:

  • Period of setting uptime (billed hourly with per-second decision)
  • Setting measurement configuration
  • Automated scaling capability for employees
  • Scheduler capability

AWS calculates the price of extra computerized scaled employees individually. You possibly can estimate prices in your particular configuration utilizing the AWS Pricing Calculator.

To assist stop knowledge duplication or corruption throughout parallel operation, we advocate implementing idempotent DAGs. The Airflow scheduler mechanically populates some metadata tables (dag, dag_tag, and dag_code) in your new setting. Nonetheless, you should plan the migration of the next extra metadata elements:

  • DAG historical past
  • Variables
  • Slot pool configurations
  • SLA miss data
  • XCom knowledge
  • Job data
  • Log tables

You possibly can select this method when your necessities prioritize minimal downtime and you may handle the extra operational complexity.

The cutover improve course of entails three important steps: creating a brand new setting, restoring it with the present knowledge, and performing the improve. The next diagram illustrates the total workflow.

Cut-over upgrade steps

Within the following sections, we stroll via 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 setting

Full the next steps to create a brand new setting:

  • Generate a template in your new setting configuration utilizing the AWS CLI:

aws mwaa create-environment --generate-cli-skeleton > .json

  • Modify the generated JSON file:
    • Copy configurations out of your backup file .json to .json.
    • Replace the setting title.
    • Preserve the AirflowVersion parameter worth out of your current setting.
    • Overview and replace different configuration parameters as wanted.
  • Create your new setting:

aws mwaa create-environment --cli-input-json

Restore the brand new setting

Full the next steps to revive the brand new setting:

  • 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 setting.
  • Confirm that your new setting accommodates the anticipated metadata out of your authentic setting.

Carry out the model improve

Full the next steps to carry out the model improve:

  • Improve your setting:

aws mwaa update-environment --name --airflow-version

  • Monitor the improve:
    • Monitor the setting standing on the console.
    • Look ahead to error messages or warnings.
    • Confirm the setting reaches the AVAILABLE

Plan your transition timing rigorously. When your authentic setting continues to course of workflows throughout this improve, the metadata between environments can change.

Clear up

After you confirm the soundness of your upgraded setting via monitoring, you’ll be able to start the cleanup course of:

  • Take away your authentic Amazon MWAA setting utilizing the AWS CLI command:

 aws mwaa delete-environment --name

  • Clear up your related sources by eradicating unused backup knowledge 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, be sure you comply with your group’s backup retention insurance policies, preserve crucial backup knowledge in your compliance necessities, and doc configuration modifications made throughout the improve.

This method helps you carry out a managed improve with alternatives for testing and the power to return to your authentic setting if wanted.

Monitoring and validation

You possibly can monitor your improve progress utilizing Amazon CloudWatch metrics, with a deal with DAG processing metrics and scheduler heartbeat. Your setting transitions via a number of states throughout the improve course of, together with UPDATING and CREATING. When your setting exhibits the AVAILABLE state, you’ll be able to start validation testing. We advocate checking system accessibility, testing vital 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 preserve constant setting administration and assist repeatable deployments. Schedule metadata backups utilizing mwaa-dr in periods of low exercise to assist shield your knowledge. When designing your workflows, implement idempotent pipelines to assist handle potential interruptions, and preserve documentation of your configurations and dependencies.

Conclusion

A profitable Amazon MWAA improve begins with deciding on an method that aligns along 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 out there instruments, monitoring capabilities, and beneficial practices may also help you improve to the most recent Amazon MWAA options whereas working to keep up 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 emblems or emblems of the Apache Software program Basis in america and/or different nations.


Concerning the Authors

Anurag Srivastava works as a Senior Large Knowledge Cloud Engineer at Amazon Net Providers (AWS), specializing in Amazon MWAA. He’s keen about serving to clients construct scalable knowledge pipelines and workflow automation options on AWS.

Sriharsh Adari is a Senior Options Architect at Amazon Net Providers (AWS), the place he helps clients work backwards from enterprise outcomes to develop progressive options on AWS. Through the years, he has helped a number of clients on knowledge platform transformations throughout business 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 exhibits, and taking part in Tabla.

Venu Thangalapally is a Senior Options Architect at AWS, based mostly in Chicago, with deep experience in cloud structure, knowledge and analytics, containers, and utility modernization. He companions with Monetary Providers business clients to translate enterprise targets into safe, scalable, and compliant cloud options that ship measurable worth. Venu is keen about leveraging expertise to drive innovation and operational excellence. Exterior of labor, he enjoys spending time along with his household, studying, and taking lengthy walks.

Chandan Rupakheti is a Senior Options Architect at AWS. His important focus at AWS lies within the intersection of analytics, serverless, and AdTech companies. He’s a passionate technical chief, researcher, and mentor with a knack for constructing progressive options within the cloud. Exterior of his skilled life, he loves spending time along with his household and buddies, and listening to and taking part in music.

Leave a Reply

Your email address will not be published. Required fields are marked *