Learn
Data Engineering on AWS

Data Engineering on AWS: Key Services & 6 Critical Best Practices

Amazon Web Services (AWS) provides extensive support for data engineering tasks, such as designing, building, and managing scalable data processing systems.

Amazon Web Services (AWS) provides extensive support for data engineering tasks, such as designing, building, and managing scalable data processing systems. This includes setting up pipelines, cleaning data, and ensuring it is ready for analysis. 

AWS offers a range of tools and services, like storage solutions, data processing capabilities, and big data services, to execute and manage data workflows efficiently. Data engineers use these capabilities to handle both structured and unstructured data.

AWS provides a cloud infrastructure that allows for flexible scaling of data operations, reducing the need for on-premises data management. The shift to cloud computing supports easier data sharing and integration across various services.

Essential AWS Services for Data Engineering Workflows 

Deploy Data Storage (Data Lake, Data Warehouse, or Object Storage)

Effective data storage is essential for data engineering workflows. AWS offers specialized services for different storage needs, including data lakes for unstructured data, data warehouses for structured data, and blob storage for binary data. 

Key AWS services for data storage:

  1. Amazon S3: Suitable for creating data lakes, S3 offers virtually unlimited storage, robust durability, and multiple storage classes for cost optimization. Its integration with services like AWS Glue and Amazon Athena enables seamless data discovery and querying.
  2. Amazon Redshift: Designed for data warehousing, Redshift provides high-performance analytics on structured and semi-structured data. Features like columnar storage, data compression, and parallel query execution make it suitable for processing large datasets.
  3. Amazon EFS and Amazon FSx: Provide scalable, high-performance file storage for use cases requiring file-based workloads. These solutions are especially useful for applications requiring shared file systems or POSIX-compliant access.

Develop Data Ingestion Patterns

Data ingestion involves collecting data from multiple sources, such as databases, APIs, and file systems, and moving it into a centralized location for processing and storage. Automation and orchestration of ingestion workflows are essential for ensuring reliable and efficient data flow.

Key AWS services for data ingestion:

  • Database Migration Service (DMS): Supports real-time or batch migration of databases to AWS with minimal downtime. Can replicate ongoing changes, making it suitable for zero-downtime migrations and synchronization between source and target databases.
  • AWS DataSync: Simplifies data transfer between on-premises systems and AWS storage services, ensuring efficient and secure migration of large datasets.
  • Amazon Kinesis: A platform for real-time data streaming and ingestion. includes Kinesis Data Streams for building custom stream processing applications, Kinesis Data Firehose for direct delivery to destinations, and Kinesis Data Analytics for real-time SQL processing on streaming data.

Data Processing

Data processing involves transforming raw data into structured formats suitable for analysis. This process includes data cleaning, normalization, and aggregation. AWS offers managed services that simplify extract, transform, and load (ETL) tasks while ensuring scalability and automation.

Key AWS services for data processing:

  • AWS Glue: A managed ETL service that automates schema discovery, data profiling, and data transformation tasks. Suitable for cleaning and preparing data for analysis.
  • Amazon EMR: Managed big data service for running distributed processing frameworks like Apache Spark and Hadoop. Suitable for large-scale data transformations and batch processing.
  • AWS Lambda: Serverless compute service for real-time data transformation. Executes code in response to events like data uploads or API requests.

Data Analysis and Visualization

Data visualization involves presenting processed data in a way that is easy to interpret. Visualization tools support interactive dashboards, graphs, and reports, enabling stakeholders to identify trends and insights quickly.

Key AWS services for data visualization:

  • Amazon QuickSight: A serverless business intelligence tool for creating interactive dashboards and reports. Supports querying multiple data sources, including S3, Redshift, and RDS.
  • AWS Data Exchange: Enables data sharing and collaboration through curated datasets. Simplifies access to third-party data for integration into visualizations.
  • Amazon Athena: A serverless query engine that allows SQL-based querying of data stored in S3. Suitable for ad hoc analysis and visualization preparation.

Data Orchestration

Data orchestration coordinates the movement and transformation of data across various AWS services. It defines the sequence, dependencies, and scheduling of tasks to ensure data pipelines run reliably and efficiently.

Key AWS services for data orchestration:

  • Amazon Managed Workflows for Apache Airflow (MWAA): Fully managed Apache Airflow service for authoring, scheduling, and monitoring workflows using Python. Supports features like task dependencies, retries, and error handling.
  • AWS Step Functions: A low-code orchestration service that helps automate workflows with state machines. Provides built-in error handling, retry logic, and support for complex task dependencies.

6 Best Practices for Data Engineering on AWS 

Organizations should consider the following best practices to ensure successful data engineering in AWS environments.

1. Adopt a Serverless or Managed Services Approach

With serverless services like AWS Lambda, developers can run code without provisioning or managing servers, automatically scaling based on demand. Similarly, managed services like AWS Glue, Amazon Relational Database Service (RDS), and Amazon Redshift take care of infrastructure management tasks such as scaling, patching, and backup.

This approach allows data engineers to focus on creating and optimizing data pipelines rather than dealing with operational complexities. For example, AWS Glue simplifies extract, transform, and load (ETL) tasks with built-in automation, while RDS manages databases while abstracting most administrative tasks. 

2. Follow AWS Well-Architected Framework

The AWS Well-Architected Framework provides guidelines and best practices to help organizations design secure, high-performing, resilient, and cost-effective applications. For data engineering, adhering to the framework’s five pillars—operational excellence, security, reliability, performance efficiency, and cost optimization—is critical.

For example, the performance efficiency pillar recommends selecting the right instance types, using caching mechanisms, and leveraging scalable storage solutions like Amazon S3. The reliability pillar emphasizes designing for fault tolerance, such as using multiple Availability Zones (AZs) and automatic failover mechanisms. Regular reviews using the Well-Architected Tool can help identify bottlenecks, vulnerabilities, and inefficiencies in data workflows.

3. Implement Tiered Storage

Tiered storage helps optimize storage costs by aligning data placement with its access frequency and retention requirements. AWS offers multiple storage classes within Amazon S3. A tiered storage strategy involves categorizing datasets by access patterns, implementing lifecycle policies to automate data transfers between tiers, and compressing data to save space.

For data that is frequently accessed, S3 Standard provides high performance and low latency. For less frequently accessed data, S3 Standard-IA (Infrequent Access) or S3 Intelligent-Tiering automatically moves data between tiers based on usage patterns. For long-term archival, S3 Glacier or S3 Glacier Deep Archive significantly reduce storage costs.

4. Implement Schema Evolution

Data schemas often evolve over time due to changing business requirements, new data sources, or updated processes. Managing schema changes helps maintain the integrity of data pipelines. Best practices for schema evolution include using forward-compatible schemas to ensure new fields can be added without breaking downstream processes, implementing automated tests to validate schema changes, and communicating updates to all stakeholders. 

AWS Glue Schema Registry is a tool for managing and enforcing schema consistency in streaming and batch workflows. It enables schema versioning, validation, and compatibility checks, helping prevent data ingestion errors caused by mismatched formats.

5. Leverage Parallelism and Scalability

Data engineering workflows often involve processing large datasets that can strain system resources if not designed for scalability. AWS services like Amazon EMR, AWS Glue, and AWS Lambda are built for parallel processing and horizontal scaling, making them appropriate for handling growing data volumes.

Amazon EMR, for example, supports distributed frameworks like Apache Spark and Hadoop, allowing data to be processed across multiple nodes in parallel. AWS Glue automatically partitions datasets to process them concurrently, while Lambda scales to handle bursts of data ingestion or processing tasks. 

To fully leverage parallelism, design workflows to minimize dependencies between tasks, enabling concurrent execution. Additionally, enable auto-scaling for services like EMR clusters to dynamically adjust capacity based on workload demands.

6. Encrypt Data in Transit and at Rest

AWS provides tools to encrypt data in transit and at rest, protecting it against unauthorized access and tampering. For data at rest, AWS offers built-in encryption options for services like S3, RDS, Redshift, and DynamoDB. These services integrate with AWS Key Management Service (KMS), enabling centralized control over encryption keys.

For data in transit, using Transport Layer Security (TLS) ensures secure communication between clients and servers, protecting data from interception during transfer. AWS services like Amazon CloudFront and API Gateway also support encryption protocols to secure data exchange. To further improve security, implement policies that enforce encryption as a default setting, regularly rotate encryption keys, and use audit logs to monitor access to sensitive data. 

Related content: Read our guide to data engineering tools (coming soon)

Automate Data Engineering on AWS with Dagster

Dagster is an open-source data orchestration platform designed to help teams build reliable, testable, and maintainable data pipelines. When paired with AWS services, Dagster provides a unified control layer for your entire data platform, making it easier to design workflows, manage dependencies, and ensure end-to-end observability across your data ecosystem.

First-Class Orchestration for AWS Services

Dagster integrates seamlessly with key AWS data engineering components, including Amazon S3, Redshift, EMR, Lambda, Glue, and Athena. Engineers can build declarative, Python-based assets and jobs that interact directly with AWS services using Dagster’s AWS integrations and community-maintained libraries.

This allows teams to:

  • Trigger transformations when new files land in S3
  • Orchestrate multi-step workflows that combine services such as EMR, Lambda, and Glue
  • Manage ingestion and transformation logic with clear lineage and typed inputs and outputs
  • Build event-driven pipelines without writing custom glue code

Declarative, Asset-Based Pipelines

Dagster’s software-defined assets model encourages treating data as a product. Instead of manually stitching together tasks, you define assets that represent tables, datasets, or machine learning features. Dagster automatically manages their dependencies, materialization logic, and metadata.

This approach is especially powerful on AWS data stacks:

  • S3 objects can be modeled as assets with clear freshness policies
  • Redshift tables can be updated only when upstream datasets change
  • Downstream transformations can be triggered incrementally and intelligently

By modeling pipelines around data artifacts rather than jobs, teams reduce unnecessary recomputation, simplify debugging, and improve reliability.

Built-In Observability and Logging

Dagster offers a centralized UI for monitoring pipeline execution, understanding lineage, viewing logs, and tracking the health of your system. When orchestrating AWS resources, Dagster acts as a single pane of glass, so there is no need to jump between multiple AWS consoles.

You can easily visualize:

  • Which assets were updated
  • Trigger paths and upstream and downstream dependencies
  • Logs and events tied to specific AWS actions
  • Failed runs, retries, and alerts

Dagster Cloud further enhances observability with hosted infrastructure, event-driven execution, and production-grade monitoring.

Infrastructure Flexibility for Any Environment

Dagster aligns well with the serverless philosophy emphasized in AWS best practices. You can deploy Dagster in several modes depending on your architecture:

  • Dagster Cloud Serverless which provides a fully managed orchestrator
  • Dagster Cloud Hybrid which keeps compute inside your VPC while the Dagster control plane is hosted
  • Self-hosted Dagster running on ECS, EKS, EC2, or Kubernetes

This flexibility allows teams to adopt the architecture that fits best, whether they are orchestrating Glue jobs, Spark clusters on EMR, or container-based transformations.

Ideal for Teams, CI/CD, and Governance

Dagster treats data pipelines as software, which enables:

  • Code reviews for pipeline changes
  • Automated testing of transformations
  • Versioned assets with lineage tracking
  • Policy enforcement and governance at the data layer

This fits naturally into AWS-native CI/CD workflows using CodeBuild, GitHub Actions, or other automation tools.

Dagster Newsletter

Get updates delivered to your inbox

Latest writings

The latest news, technologies, and resources from our team.

When (and When Not) to Optimize Data Pipelines
When (and When Not) to Optimize Data Pipelines

November 17, 2025

When (and When Not) to Optimize Data Pipelines

Engineers often optimize the wrong parts of their pipelines, here's a profiling-first framework to identify real bottlenecks and avoid the premature optimization trap.

Your Data Team Shouldn't Be a Help Desk: Use Compass with Your Data
Your Data Team Shouldn't Be a Help Desk: Use Compass with Your Data

November 13, 2025

Your Data Team Shouldn't Be a Help Desk: Use Compass with Your Data

Compass now supports every major data warehouse. Connect your own data and get AI-powered answers directly in Slack, with your governance intact and your data staying exactly where it is.

Introducing Our New eBook: Scaling Data Teams
Introducing Our New eBook: Scaling Data Teams

November 5, 2025

Introducing Our New eBook: Scaling Data Teams

Learn how real data teams, from solo practitioners to enterprise-scale organizations, build in Dagster’s new eBook, Scaling Data Teams.