Skip to main content

Chapter 2: The Modern Data Stack

"Just give me a report of yesterday's revenue by region" sounds like a five-minute ask.

It isn't. Before that number reaches a dashboard, it has to be produced by a source system, pulled out of that system, landed somewhere, cleaned up, joined against other tables, computed on a schedule, served to whatever renders the dashboard, and watched closely enough that someone finds out if it's wrong before the CEO does.

Seven jobs, hiding inside one sentence. This chapter names them, and shows you where each one is taught in this book.


2.1 Seven Layers, One Pipeline

Every data platform, from a two-person startup to a bank, is doing the same seven jobs. The tools change constantly. The seven jobs don't.

The seven layers of a modern data platform

LayerThe job it doesThe question it answers
Source SystemsWhere data is born: apps, databases, third-party APIs, IoT devices, event streamsWhere does this value actually come from?
IngestionMoving data out of source systems and into your platformHow does data get here, and how often?
StorageLanding and holding data at a cost and access pattern that fits its useWhere does it live, and how cheaply can I keep it?
TransformationCleaning, joining, and reshaping raw data into something usableIs this actually correct and ready to use?
OrchestrationScheduling, sequencing, and retrying every step aboveWhat runs when, in what order, and what happens on failure?
ServingExposing finished data to dashboards, applications, APIs, and modelsWho consumes this, and how fast do they need it?
ObservabilityWatching all of the above for failure, drift, and costHow would anyone know if any of this quietly broke?

Orchestration and observability aren't steps in the line. They wrap around every other layer: scheduling and watching all five of the others, rather than sitting between two of them in sequence.


2.2 The Roadmap This Book Follows

Every part of this book is one or more of those seven layers, taught with the specific tools the industry actually uses in production today.

Cloud Data Engineering training roadmap

PartLayer(s) it coversTools
1. SQLStorage, TransformationQuerying, joins, aggregation, window functions, schema design
2. PythonIngestion, TransformationAPIs, file handling, Pandas, NumPy
3. AirflowOrchestrationDAGs, scheduling, retries, dependency management
4. Engineering PracticesObservability, deliveryDocker, CI/CD, Bash
5. Agentic Data EngineeringCuts across every layerAI-assisted pipeline development and coding agents
6. Snowflake + dbtStorage, Transformation, ServingCloud warehousing, ELT, production dbt
7. KafkaIngestionReal-time streaming, change data capture
8. AWSStorage, Transformation, Serving, OrchestrationS3, Glue, Athena, Redshift, Lambda, Step Functions
9. AzureStorage, Transformation, ServingADF, Databricks, Fabric, Synapse

Notice that no single part owns a layer outright. Storage shows up in SQL, Snowflake, AWS, and Azure, because in a real job you'll meet all four, often in the same quarter. That repetition is deliberate. By the time you reach Part 8, storage design won't be a new idea, just a new tool applied to an idea you've already used three times.


2.3 One Pipeline, Walked End to End

Take a concrete example: a ride-sharing app that pays drivers nightly based on completed trips.

One pipeline, walked end to end

StepWhat happensLayerWhere it's taught
1The app's production database logs every completed tripSource SystemsChapter 1
2A nightly job pulls new trip records via API or database connectionIngestionPart 2 (Python), Part 7 (Kafka for real-time)
3Raw trip records land in a cloud warehouse, unmodifiedStoragePart 1 (SQL), Part 6 (Snowflake)
4Fares, tips, and platform fees are calculated per driverTransformationPart 1 (SQL), Part 6 (dbt)
5The whole sequence runs automatically every night at 2am, with retries if step 2 failsOrchestrationPart 3 (Airflow)
6Driver payout totals are exposed to the payments appServingPart 6, Part 8, Part 9
7An alert fires if fewer trips were processed than the night beforeObservabilityPart 4

That's the whole book, in seven rows. Every remaining chapter is one row, done properly.


2.4 Why No Single Tool Owns This Anymore

A decade ago, one vendor's monolithic platform tried to do all seven jobs at once. That world is mostly gone.

The old monolith approachThe modern data stack
ToolingOne vendor, one platform, for everythingBest tool per layer, connected together
Storage costCompute and storage bundled and expensiveStorage is cheap; compute scales separately
ChangeA platform upgrade touches everything at onceSwap one layer without rebuilding the rest
TalentDeep expertise in one proprietary systemFluency across widely-used, transferable tools

This is also why this book is structured the way it is. You aren't learning "the one tool." You're learning the seven jobs well enough that any specific tool, current or the one that replaces it in five years, is just a new way to do a job you already understand.


Summary

Every data platform does the same seven jobs: source systems produce data, ingestion moves it, storage holds it, transformation shapes it, orchestration schedules all of it, serving exposes it, and observability watches all of it. This book teaches those seven jobs through the tools the industry actually runs in production: SQL, Python, Airflow, Docker and CI/CD, AI-assisted engineering, Snowflake and dbt, Kafka, AWS, and Azure. No single tool owns a layer, and by design, you'll practice storage, transformation, and serving more than once, with different tools, because that's exactly how it works on a real team.

What's Next

Before touching SQL itself, Chapter 3 walks through installing SQL Server, Python, and Git/GitHub, the tools every remaining chapter in this book assumes are already on your machine. Then Part 1 starts with SQL, the layer underneath almost everything else in this book. Chapter 4 begins with querying and filtering, the foundation everything from Chapter 5 onward builds on.