Tool & Technology Reference: Every Box on the Canvas
The real tools for each box on the pipeline canvas, on AWS, Google Cloud, Azure and open source. What each one does, how its bill is shaped, and five reference stacks.
⏱ 19 min readTopics chapter readerLevel · Reference
01 · Overview
Start here
⏱ 6 min · Topic 1 of 12
This is a reference chapter. You do not read it once from top to bottom. You open it when you must pick a tool.
The pipeline builder has a canvas. Each box on it is one kind of tool: ingestion, storage, processing, orchestration or serving.
Open source means the code is public and free to use. Vendor means a company sells the product.
What you will find
Five questions that shorten a list of tools.
One section for each box on the canvas, with real tools from AWS, Google Cloud, Azure and open source.
Six shapes a bill can take, with made-up numbers.
Five example stacks. A stack is the set of tools one team uses together.
You already know the ideas behind these boxes. Data Sources & Ingestion Patterns (chapter 5) covered how data comes in. Storage Layers & File Formats (chapter 23) covered where it rests.
Orchestration & Scheduling (chapter 10) covered what runs the steps. Applied Pipeline Design: How To Architect Any Pipeline (chapter 28) taught how to design one. This chapter only names the tools.
Check before you rely on it
Product names, features and prices change often. This chapter has no real prices, and its few numbers are made up. Before you buy, read the vendor’s current price page.
02 · Choosing
Five questions to shortlist tools
⏱ 6 min · Topic 2 of 12
Do not compare every tool with every other tool. First answer five questions about your team and your need. Each answer removes some tools from the list.
The table shows the five questions, what each one removes, and an answer for the shop. The five-minute need comes from chapter 28. The other answers are made up:
Five questions, with the shop’s answers
Question
It removes
Shop answer
Who runs it after launch?
Tools that need a person who must fix them day and night.
One engineer. So choose tools that a vendor runs.
How fresh must the data be?
Tools that are too slow, or far too fast.
Five minutes. So nightly batch is out. Sub-second streaming is not needed.
What is the budget?
Tools that bill while idle.
Small. So prefer pay-per-use tools that cost nothing when idle.
How hard is it to leave?
Tools that lock your data in.
Keep files in an open format, so the engine can change later.
What does the team know?
Tools nobody can fix.
The team knows SQL. So use SQL tools such as a warehouse and dbt.
The answers use tools such as a warehouse and dbt. The next sections explain each tool.
A vendor-run tool is a managed tool. A tool you run on your own machines is self-hosted.
Managed has a bigger invoice. Self-hosted takes more of your engineers’ time, and time costs money too.
Try to add at most one new tool in each project. If two new tools fail together, you cannot tell which one broke.
Interview question
Which tool would you use for this pipeline? Answer with the five questions first. Name a tool only after you say what each answer removed.
03 · Box 1 of 5
Sources & ingestion
⏱ 8 min · Topic 3 of 12
Ingestion tools get data out of its source and into your system. They read databases, apps and event streams. Databases such as PostgreSQL, MySQL, Amazon RDS, Google Cloud SQL, Spanner and Azure SQL Database are common sources.
A cluster is a group of machines that work together. To replay is to read old events again.
This table lists the main jobs and real tools for each. One row can list several tools, because many tools do the same job:
Ingestion jobs and tools
Job
Open source or vendor
AWS
Google Cloud
Azure
Copy tables and files on a schedule
Airbyte (its code is public), Fivetran
AWS Glue, AWS Database Migration Service (DMS)
BigQuery Data Transfer Service, Storage Transfer Service
Azure Data Factory
Copy data from rented apps (software as a service, SaaS)
Fivetran, Airbyte
Amazon AppFlow
BigQuery Data Transfer Service
Azure Data Factory connectors
Read a database’s change log (CDC)
Debezium
AWS DMS
Datastream
Debezium on your own cluster. Check Data Factory’s change-data support.
Carry events that many readers can replay
Apache Kafka, Confluent (a company that sells Kafka)
Amazon Managed Streaming for Apache Kafka (MSK), Kinesis Data Streams
Pub/Sub, Google Cloud Managed Service for Apache Kafka
Azure Event Hubs
Hand each message to one worker (a queue)
RabbitMQ
Amazon Simple Queue Service (SQS), with Simple Notification Service (SNS) to send copies
Pub/Sub
Azure Service Bus
Route events by rules
—
Amazon EventBridge
Eventarc
Azure Event Grid
CDC means reading the changes a database writes in its own log. Change Data Capture (CDC), chapter 6, taught it.
The hardest choice here is a queue or a log. A queue gives each message to one reader, then forgets it. A log keeps events, so many readers can read them, and replay them.
Take three click events from the shop website. A dashboard job and a fraud job both need all three. A third job starts a month later and needs the old ones too:
Three click events, three readers
Reader
Log (for example Kafka)
Queue (for example SQS)
Dashboard job
Reads events 1, 2 and 3.
Gets some events, for example 1 and 3.
Fraud job
Reads events 1, 2 and 3.
Gets the others, for example event 2.
New job, a month later
Starts at event 1, if the log still keeps it.
Gets nothing from the past.
The two jobs share one queue, so each message goes to only one of them. To give each job every message, send copies through SNS to one queue for each job. Old events still cannot be replayed.
A log keeps events only for a set time. Kinesis Data Streams keeps them 24 hours by default, and you can raise that. Kafka keeps them for the time you configure.
Watch out
You often learn that you needed a log only when a second team asks for the same events. By then, many programs depend on the queue. If a second reader is likely, choose a log first.
04 · Box 2 of 5
Storage & lakehouse
⏱ 10 min · Topic 4 of 12
Storage is where data rests after ingestion. Chapter 23 explained the layers. Here are real tools for each layer.
Object storage holds files cheaply. A table format adds table rules on top of the files. Apache Iceberg, Delta Lake and Apache Hudi are table formats.
A query engine reads the files and runs SQL on them. A warehouse bundles storage and a query engine in one product.
A lakehouse is object storage plus a table format plus a query engine.
This table lists the jobs and tools:
Storage jobs and tools
Job
Open source or vendor
AWS
Google Cloud
Azure
Keep files cheaply (object storage)
Ceph or Garage (self-hosted)
Amazon S3
Cloud Storage
Azure Data Lake Storage Gen2 (ADLS Gen2)
Add table rules to files (table format)
Apache Iceberg, Delta Lake, Apache Hudi
On S3
On Cloud Storage
On ADLS Gen2
Store tables for analysis (warehouse)
Snowflake, Databricks SQL
Amazon Redshift
BigQuery
Azure Synapse Analytics, Microsoft Fabric
Run SQL straight on files
Trino
Amazon Athena
BigQuery external tables
Synapse serverless SQL pool
Serve fast lookups to an app
Cassandra, Redis, OpenSearch
DynamoDB, OpenSearch Service
Bigtable
Azure Cosmos DB
Here is the shop’s orders table in one of these layers. The same query works on Athena, Trino, BigQuery or Snowflake, because it is plain SQL:
Orders 101, 102, 104 and 106 are paid. Order 105 is pending. Order 103 is refunded.
Only the engine changes. The files and the SQL stay the same.
Warehouses bill in different ways. Auto-suspend stops a warehouse after a quiet time. Serverless means the vendor manages the machines, and you pay for use.
A provisioned cluster is a group of machines that you size and start yourself.
Capacity is a fixed amount of compute that you rent by the hour. A dedicated pool is a set of machines kept ready for your queries.
This table shows what each one charges for:
What each warehouse or engine charges for
Tool
You pay for
Compute cost when idle
Snowflake
Compute time while a warehouse runs, plus stored data.
Low, if auto-suspend is on.
BigQuery
Data scanned by queries, or reserved capacity. Stored data is extra.
None on pay-per-scan.
Amazon Redshift
Machine hours on a provisioned cluster, or compute used on Serverless.
A provisioned cluster bills while it runs.
Databricks SQL
Databricks units (DBUs). Some compute types also bill the cloud machines.
Low, if auto-stop (like auto-suspend) is on.
Synapse and Fabric
Synapse: dedicated pool hours, or data processed on serverless SQL. Fabric: a capacity you size, by the hour or reserved.
Dedicated pools and pay-as-you-go Fabric capacity bill until you pause them. Serverless SQL does not.
Amazon Athena
Data scanned by each query, or reserved capacity.
None on pay-per-scan.
Remember
Warehouses change every few years, but the data stays. Parquet is a file format for tables (chapter 23). Parquet files with Iceberg or Delta Lake can be read by a new engine, so you keep the data.
05 · Box 3 of 5
Processing & transforms
⏱ 8 min · Topic 5 of 12
Processing tools change data: clean it, join it and add it up. Transformation Fundamentals (chapter 8) taught the jobs. These are the tools.
Ask first: would SQL in the warehouse do the work? If yes, use SQL. dbt is a tool that runs your SQL files inside the warehouse, in the right order.
The shop wants revenue for each customer. It is one SQL file, and no cluster:
Asha has two paid orders, 40.00 and 25.00. Ben and Omar have no paid order, so they do not appear.
A tool such as Spark is for work that SQL cannot do, or data too big for one machine. Spark and Flink spread the work over many machines.
This table lists each kind of work and real tools. State means what a stream engine remembers between events:
Processing jobs and tools
Job
Open source or vendor
AWS
Google Cloud
Azure
SQL on data in the warehouse
dbt
Redshift SQL
BigQuery SQL
Synapse or Fabric SQL
Code on big data (Spark)
Apache Spark, Databricks
AWS Glue, Amazon Elastic MapReduce (EMR)
Dataproc
Azure Databricks, Synapse Spark, Fabric
Continuous streaming with state
Apache Flink
Amazon Managed Service for Apache Flink
Dataflow (built on Apache Beam)
Azure Stream Analytics
A small step for each event
—
AWS Lambda
Cloud Run functions
Azure Functions
A container on a schedule
—
AWS Batch or Amazon Elastic Container Service (ECS) tasks, with EventBridge Scheduler
Cloud Run jobs, with Cloud Scheduler
Azure Container Apps jobs
Copy and move data with a visual tool
—
AWS Glue Studio
Cloud Data Fusion
Azure Data Factory
Small data with complex logic
DuckDB, Polars, plain Python
Runs on any small machine
Runs on any small machine
Runs on any small machine
Stream Processing (chapter 14) taught how a stream engine keeps state. Scaling & Performance (chapter 25) taught how to tune a big job.
Watch out
Spark is not the default. For a table this small, a cluster adds cost and work for no gain. Add Spark only when the data or the logic needs it.
Two bills
Managed Spark often has two charges: the platform, such as EMR, Dataproc or Databricks units, and the cloud machines under it. Count both.
06 · Box 4 of 5
Orchestration & quality
⏱ 6 min · Topic 6 of 12
An orchestrator runs the steps in order, retries failures and shows what happened. Chapter 10 taught the ideas.
A backfill re-runs a job for past days. An environment is one running copy of Airflow, with its own machines. This table lists real tools:
Orchestrators
Tool
What it is
Who runs it
How you pay
cron
A clock on one machine. It starts a command at a set time.
You
Free. It has no retries or backfills.
Apache Airflow
Open source. You write steps and their order as code.
You
Free software. You pay for machines and your time.
Amazon Managed Workflows for Apache Airflow (MWAA)
Airflow, run for you on AWS.
AWS
An environment bills while it exists. MWAA Serverless bills only while tasks run.
Cloud Composer
Airflow, run for you on Google Cloud.
Google Cloud
Billed while the environment exists.
Azure Data Factory
Pipelines and triggers on Azure.
Azure
Billed by runs and the work they do.
Dagster, Prefect
Open source tools with paid cloud versions.
You, or the vendor
Free to self-host. Cloud plans have a small free tier or a trial, then are paid.
AWS Step Functions
Chains AWS services as a flow of steps.
AWS
Billed by steps (Standard) or by requests and time (Express).
With only a few jobs that do not depend on each other, cron can be enough. You need an orchestrator when jobs depend on each other and you need retries, backfills and a view of what failed.
Other tools guard the data. Data Quality & Validation (chapter 20) and Schema Evolution & Data Contracts (chapter 22) taught why. This table lists the tools:
Amazon SQS dead-letter queue, Pub/Sub dead-letter topic, Azure Service Bus dead-letter queue
Watch out
Delete a test Airflow environment when you finish. Stopping its jobs does not stop its bill.
07 · Box 5 of 5
Serving & monitoring
⏱ 6 min · Topic 7 of 12
Serving is how people and programs use the data. It also covers the tools that watch the platform. Data Observability & Monitoring (chapter 21) taught the ideas.
A BI tool turns tables into charts and dashboards. BI means business intelligence. This table shows how each tool charges today:
BI tools and how they charge
Tool
How you pay
Tableau
Per user, by role.
Power BI
Per user, or a capacity your company buys.
Looker
A platform fee plus users. Quote-based.
Looker Studio
Free to use. A paid tier adds features.
Amazon Quick Sight (formerly QuickSight)
Per user. Large groups of readers can buy session capacity.
Metabase, Apache Superset
Open source. You host them, or buy a hosted plan.
A semantic layer is one place where a metric is defined once. It stops three dashboards from showing three different revenue numbers. Looker and Power BI have one built in.
Per-user pricing grows with the number of people, not with the data. A hundred people who look once a month can cost more than the warehouse. Check the price per user for occasional viewers.
This table lists the other serving and monitoring jobs:
Serving and monitoring jobs
Job
Open source or vendor
AWS
Google Cloud
Azure
Catalog: what data exists and who owns it
DataHub, OpenMetadata, Unity Catalog (Databricks)
AWS Glue Data Catalog
Knowledge Catalog (formerly Dataplex)
Microsoft Purview
Watch jobs and machines
Datadog, Grafana
Amazon CloudWatch
Cloud Monitoring
Azure Monitor
Watch the data itself
Monte Carlo, Soda
AWS Glue Data Quality
Knowledge Catalog data quality scans
Microsoft Purview Data Quality
Alert a person
PagerDuty
CloudWatch alarms with SNS
Cloud Monitoring alerts
Azure Monitor alerts
Share machine learning features for training and live use
Feast
SageMaker AI Feature Store
Vertex AI Feature Store
Azure Machine Learning managed feature store
Watch out
A job that succeeds does not prove the numbers are right. Job monitoring shows that code ran, and only data checks show that half the rows are missing. Run both.
08 · The money
Six shapes of a data bill
⏱ 8 min · Topic 8 of 12
Most tools bill in one or more of six shapes. Two tools with different shapes cannot be compared by unit price. Work out what your own workload would cost under each shape.
The table lists the six shapes. Each one has a behavior that makes the bill grow:
AWS Lambda (it also bills the compute time of each call), Amazon SQS, Step Functions
High event volume.
6. Free, plus your time
The hours of your engineers.
Kafka, Airflow, Spark, dbt Core
A small team with too many tools to run.
These prices are made up to show the shape of each bill. Real prices differ by tool and change often. Here 1 TB (terabyte) is 1,000 GB (gigabytes):
Made-up prices, to show the shape
Shape
Made-up price
Costly way
Cheaper way
Data scanned
$10 per TB scanned
Scan 200 GB (0.2 TB): $2.00.
Scan 2 GB (0.002 TB): $0.02. That is 100 times less.
Compute time
$7 per hour
Warehouse on 24 hours a day: $168.
Auto-suspend, 2 hours of work: $14. That is 12 times less.
Rows moved
$1 per 1,000 rows that change in a month
A nightly job touches all 1,000,000 rows: $1,000.
Only 10,000 different rows change in the month: $10. That is 100 times less.
Seats
$11 per user a month
100 viewers, each with a seat: $1,100.
If your tool allows it, send the 95 occasional viewers a scheduled email report. Pay for 5 users: $55.
Requests
$2 per million requests
Send each event as its own request: 500 million requests, $1,000.
Send events in groups of 10: 50 million requests, $100.
Free, plus time
Tool $0. Engineer day $400.
Two engineer days a month: $800.
A managed service at $500 a month is cheaper than $800.
Each row shows the same work done two ways. The costly way is not wrong. It does the thing the shape punishes.
Check your tool first. F64 is a large Power BI capacity size. Tableau, and Power BI below F64, need a paid seat for each person who gets the email.
Four more things change a bill. Check them for every tool:
Stored data: a fee for each GB you keep each month. Object storage such as Amazon S3 bills mostly this way.
Floor cost: what the tool bills when nothing runs. A managed Airflow environment and a provisioned cluster have one.
Commitment discount: you promise a fixed amount of use for a lower price. It helps only when your load is steady.
Egress: a fee when data leaves a cloud or moves between regions (cloud data centres in different places). It grows large when you copy much data.
Interview question
Which warehouse would you choose? Name the billing shape first. Then say what that shape punishes, and whether your workload does it.
09 · Put together
Five reference stacks
⏱ 7 min · Topic 9 of 12
A stack is easier to judge than a single tool. These five go from tiny to large, with no prices, because prices change.
The table lists the five stacks. Each one is one way to move the shop’s orders to a report:
Five reference stacks
Stack
Pieces
Who runs it
The shop’s orders 101–106
1. Tiny
PostgreSQL, cron, dbt Core, Metabase
One engineer runs all four.
Cron starts dbt. dbt builds the revenue table. Metabase charts it.
2. Managed
Fivetran or Airbyte Cloud, Snowflake or BigQuery, dbt, a BI tool
Vendors run most pieces. One or two engineers own the SQL.
An ingestion tool such as Fivetran copies orders to the warehouse. dbt builds revenue. The BI tool shows it.
3. Lakehouse
S3 or Cloud Storage, Iceberg or Delta Lake, Spark, dbt, Airflow, Athena or Trino, a BI tool
A small team of engineers.
Files land in object storage. Spark and dbt build tables. Athena or Trino answers queries.
4. Add streaming
Kafka or a cloud stream, Flink or Spark Structured Streaming
Extra engineers, on top of stack 2 or 3.
Order events reach readers in seconds, next to the daily batch.
5. Enterprise
A lakehouse and a warehouse, a catalog, data checks, contracts, many teams
A platform team plus owners in each team.
Orders have an owner, a contract and a check before anyone reads them.
These are not steps everyone must climb. Many small teams can stay on stack 1 or 2.
In stack 4, streaming is added next to batch and does not replace it. Lambda, Kappa & Streaming-First (chapter 16) shows designs where streaming does replace batch. There, Lambda is a design, not AWS Lambda.
Move up only when a real need forces it. These needs are examples:
The data grows past what the warehouse can process at a fair cost.
A reader needs data in seconds, not minutes. Check that number first.
A rule says where data may live or who may read it. Security, Governance & Compliance (chapter 27) covers this.
Every piece you add is one more thing someone must keep healthy. That cost does not appear on the invoice, and it lasts as long as the platform.
Interview question
Design a platform for a small company. A strong answer starts with stack 1 or 2. It then says exactly what would force you to move up.
10 · Recap
Recap
⏱ 3 min · Topic 10 of 12
Answer five questions about your team and need before you name a tool.
Each box has real tools on AWS, Google Cloud, Azure and open source. Many do the same job.
Choose a log, not a queue, when a second reader is likely.
Try SQL in the warehouse before you reach for Spark.
Name the billing shape of a tool before you compare two tools.
Judge a stack by how many pieces someone must run. Start small.
Check yourself
Without looking: what is the difference between a queue and a log? Then say which billing shape makes an idle warehouse costly.
11 · Practice
Practice lab
⏱ 3 min · Topic 11 of 12
Here are five scenarios. Each box could be one of several tools. Build each design on the canvas with the chapter closed, and the review names the requirement you missed.