Node.js Microservices from Scratch

Split a monolith into seven services without losing your weekends

Taught by Grace Ramirez 8 lessons 1 hr 39 min 2 enrolled Published 15 Aug 2026

This is a course about a decision, not a technology. Splitting an application into services is a trade: you give up a single deployment and a local function call, and you get independent releases and independent scaling. Whether that is a good trade depends on facts about your system, and most of the writing on the subject skips straight past them.

Overview

So the first module is the argument against. A monolith is one deployable unit, which is not the same as a mess, and splitting a mess produces several messes with a network between them. Knowing when not to split is the more valuable half of this.

The rest builds the thing properly: three layers inside each service, one gateway in front of them all, a request id that survives every hop, and failures that look like failures rather than hangs. By the end you will have the experience the opinion should be based on.

Introduction

A hands-on course that takes a single Express application and pulls it apart into independently deployable services. You will build a gateway, wire up service-to-service calls, and learn where a three-layer architecture pays for itself and where it does not.

It is written for developers who already ship an Express application and are being asked, by a growing team or a slowing deploy, whether it should be several. The first module is deliberately the argument against: most systems that were split should not have been, and the lesson on boundaries is about recognising which case you are in before any code moves.

Three modules, eight items: six lessons, a knowledge check after the first module, and a final exam. The examples are a working system rather than a diagram - the gateway you build routes real requests, propagates a request id across every hop, and degrades to a readable error when a service behind it is down.

By the end you will be able to decide whether a split is justified, draw the boundary where the data actually divides, lay out each service as routes, services and repositories without the layers leaking into each other, and put one front door in front of all of them.

What you will be able to do

  • Design service boundaries that survive contact with a real product
  • Structure each service as routes, services and repositories
  • Route traffic through an API gateway
  • Propagate a request id across service hops

What each level covers

3 levels · 8 lessons

  1. Why Split at All

    The argument before the architecture. The first lesson is about the monolith you already have, and what is actually wrong with it - which is usually deployment and ownership rather than code. The second is finding boundaries: where the data divides, where a team boundary already exists, and why the wrong line costs more than no line at all.

    3 lessons 26 min of reading

    Start with The Monolith You Already Have →
  2. Three Layers per Service

    The inside of a single service, one layer per lesson. Routes and controllers translate HTTP into a call and nothing more; the service layer holds the rules and must not know what a status code is; repositories own the SQL so a query can change without the rules changing. The rule that makes it work is a single import restriction, and this module is about keeping it.

    3 lessons 40 min of reading

    Start with Layer One: Routes and Controllers →
  3. The Gateway

    What the outside world talks to. The gateway lesson covers routing, the headers that must be stripped and the identity headers that must be set, how a request id survives every hop, and what a service that does not answer should look like to a caller. The final exam covers the whole course.

    2 lessons 34 min of reading

    Start with Building the Gateway →

Guides and articles

Longer reading about this subject, written alongside the course.

Course guide

Before you start

  • Comfortable with JavaScript
  • Have written at least one HTTP endpoint

Common questions

What does the Node.js Microservices from Scratch course cover?
It is 3 levels and 8 lessons: Why Split at All; Three Layers per Service; The Gateway. Each level ends with a quiz, and the last one is an exam over the whole course.
How long does it take?
About 99 minutes of reading and exercises - roughly 1.7 hours. It is self-paced with no cohort and no start date, so you can leave and come back and the site remembers where you were.
What do I need to know first?
Comfortable with JavaScript. Have written at least one HTTP endpoint.
Is it free?
Yes. Every lesson, example and quiz in this course is free to read, and you do not need an account to read them. Signing in only adds progress tracking and quiz results.
What will I be able to do afterwards?
Design service boundaries that survive contact with a real product. Structure each service as routes, services and repositories. Route traffic through an API gateway. Propagate a request id across service hops.