Skip to main content
CF

NodeJS Microservices: Breaking a Monolith to Microservices

6h 57m 13s
English
Paid

Welcome to the NodeJS and Kafka: Breaking a Monolith to Microservices Course! This course is designed to elevate your Javascript development skills by diving into the world of Microservices Architecture. We will begin with a pre-built monolith, so you can jump directly into learning about microservices. This course is tailored for those who already have a solid grasp of Javascript and aspire to quickly master more advanced topics.

My teaching style is clear and concise, focusing only on necessary explanations to ensure you gain the most relevant knowledge efficiently.

Course Objectives

Throughout this course, you will build on the pre-built monolith and explore the following:

  • Understanding Microservices Architecture: Gain insight into how applications are structured in a microservices environment.
  • Configuring Kafka with NodeJS: Learn the steps to properly set up Kafka within a NodeJS framework.
  • Internal HTTP Requests: Explore how to effectively manage internal communication between services.
  • Creating an Authentication Microservice: Develop a dedicated service focusing solely on authentication processes.
  • Running Docker with Multiple Networks: Understand how to leverage Docker to manage complex network configurations.
  • Producing Kafka Events to Multiple Topics: Master the technique of generating events across different Kafka topics.
  • Custom Middleware & Services: Learn how to create middleware and service components tailored to your application's needs.
  • Data Importation from Multiple Databases: Acquire the skills to integrate and manage data from various database systems.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 70 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 70 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (70)
#Lesson TitleDurationAccess
1
Introduction Demo
04:26
2
Setup
08:25
3
Stripe Keys
04:33
4
Exploring the Code
05:37
5
Monolith vs Microservices
02:50
6
Email Diagram
00:40
7
Setup
02:33
8
Kafka Setup
05:38
9
Confluent Cloud CLI
05:01
10
Consuming Kafka Messages
07:49
11
Producing Kafka Messages
06:47
12
Sending Emails
06:51
13
Users Diagram
00:46
14
Setup
07:33
15
Importing Data
07:22
16
Http Requests
07:50
17
Login
06:30
18
Requests with Headers
06:41
19
Storing Tokens
10:00
20
Profile
04:41
21
Refactoring Users Service
13:43
22
Ambassadors
05:10
23
Removing User Entity
08:39
24
External Networks
06:03
25
Scopes
06:00
26
Admin Diagram
00:37
27
Setup
07:57
28
Importing Data
07:09
29
Moving Controllers
08:27
30
Configuring Kafka
11:21
31
Consuming Messages
07:50
32
Dynamic Methods
08:57
33
Ambassador and Checkout Diagram
00:32
34
Setup
07:40
35
Importing Data
07:17
36
Moving Controllers
10:11
37
Configuring Kafka
05:12
38
Consuming Kafka Messages
07:42
39
Consumer Service
04:44
40
Handling Erros
05:54
41
Setup
06:17
42
Moving Controllers
02:05
43
Configuring Kafka
04:25
44
Producing to Multiple Topics
08:59
45
Testing the Frontend
07:43
46
Kubernetes
01:38
47
Pods
08:26
48
Environment Variables
05:20
49
Kompose
06:25
50
Secrets
07:26
51
Kubernetes Engine
02:21
52
Cloud Shell
04:29
53
Cloud SDK
03:09
54
Container Registry
05:58
55
Cloud SQL
08:13
56
Authorized Networks
05:25
57
Users Kubernetes Files
04:04
58
Users Deployment
06:11
59
Private IP
05:05
60
Ingress
10:08
61
Admin Setup
09:04
62
Admin Kubernetes Files
05:55
63
Admin Deployment
03:30
64
Ambassador Setup
07:09
65
Ambassador Kubernetes Files
04:07
66
Ambassador Deployment
04:20
67
Checkout Setup
05:49
68
Checkout Kubernetes Files
03:05
69
Checkout Deployment
02:30
70
Testing the Frontend
04:19
Unlock unlimited learning

Get instant access to all 69 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are necessary before taking this course?
Prospective students should have a solid understanding of Javascript before enrolling in this course. The course is designed to build upon this foundation, diving into advanced topics such as microservices architecture and Kafka integration. Familiarity with basic web development concepts and NodeJS is also recommended to fully benefit from the material.
What will I build during this course?
Throughout the course, students will transform a pre-built monolith into a microservices architecture. Key projects include creating an authentication microservice, configuring Kafka to manage event streams, and deploying services using Docker with multiple networks. The course also covers producing Kafka events to multiple topics and creating custom middleware and service components.
Who is the target audience for this course?
This course is targeted at Javascript developers who have a solid grasp of the language and are looking to expand their skills into microservices architecture. It is particularly suitable for those interested in learning how to integrate Kafka with NodeJS and manage complex network configurations using Docker and Kubernetes.
How does the depth of this course compare to others on similar topics?
This course delves into specific aspects of microservices architecture, such as configuring Kafka within a NodeJS framework and running Docker with multiple networks. It provides practical, hands-on experience by focusing on real-world applications, unlike some courses which may only cover theoretical aspects of microservices.
What specific tools or platforms will I learn to use?
Students will learn to use several tools and platforms, including Kafka for event streaming, Docker for managing network configurations, and Kubernetes for deploying applications. The course also covers the Confluent Cloud CLI for Kafka setup, and Google Cloud services such as Cloud Shell, Cloud SDK, and Container Registry.
What topics are not covered in this course?
The course does not cover basic Javascript programming or introductory web development topics. It assumes students already possess these skills. Additionally, the course does not focus on non-Javascript languages or alternative architectures outside of microservices, such as serverless computing or monolithic application development.
How much time should I expect to commit to this course?
The course consists of 70 lessons. While the total runtime is not specified, students should anticipate a significant time commitment to complete all lessons, exercises, and projects. Given the course's depth and practical nature, students may also need to allocate additional time for experimenting with the tools and concepts introduced.