
In this article, I’ve picked the best free and paid online courses to learn Microservices, a software development architecture where large, complex applications are broken down and modularized into small, maintainable services. Each service is specialized towards a specific goal yet are able to communicate and work together as a whole to deliver a unified user experience. 5 courses are available for free!
Here are my top picks. Click on one to skip to the course details:
What is Microservices?
Microservices is a software development architecture where an application is made up of multiple independent services. Each service is typically only responsible for one specific action, can be deployed on its own separately from other services, and has its own database. This is in contrast to monolithic architecture, where a single system or code base is responsible for delivering many business solutions.
Thanks to the autonomous and modular nature of microservices, developers can reliably build and deliver large, complex applications that can scale and adapt quickly to changing business requirements while maintaining a high level of performance. It is for this reason that many companies like Amazon, Netflix, Twitter, and Uber are embracing microservices as a solution to vulnerable, hard-to-maintain monolithic applications.
Best Courses Guides Methodology
I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:
- Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of 200+ Microservices courses by rating, reviews, and bookmarks.
- Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
- Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.
Course Ranking Statistics
Here are some aggregate stats about the ranking:
- 5 courses are free or free-to-audit, while 4 are paid
- 3 courses are beginner level, 5 are intermediate level, while 1 is advanced level.
- Around 1.7K people follow 200+ Microservices Courses on Class Central.
Without further ado, let’s go through the top picks.
My #1 pick for the best course to learn Microservices is Microservices Full Course – Learn Microservices in 4 Hours from Edureka.
This free course covers the theory and basic concepts of microservices from scratch with examples. Not only that, you’ll also be able to name popular technologies used with Microservices such as Docker and Spring Boot.
Although the course uses Java in its demos, no knowledge of any specific programming language is required to take this course.
What You’ll Learn
You’ll start off this course with an introduction to microservices — what they are, their architecture, and their benefits. Then, you’ll cover the basics of Docker and Spring Boot to get a taste of how microservices are implemented.
There are other service-oriented architectures out there, so what makes microservices special? You’ll cover the difference between these two architectures, before discussing APIs and how they are used in microservices. Moving on, you’ll also discuss a variety of design patterns (asynchronous messaging, chain of responsibility, circuit breaker) that you can follow to formulate the right kind of microservice behavior.
Fortunately, there are a lot of resources and tools for microservices out there. You’ll discuss what programming languages, API management, messaging, toolkits, architectural frameworks, and more are there for microservices. Not only that, you’ll also learn the best practices needed to secure a microservices application from being exploited by hackers. Finally, you’ll go through 50 of the top interview questions surrounding microservices.
How You’ll Learn
This course is 3–4 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he/she codes.
Institution | edureka! |
Provider | YouTube |
Level | Beginner |
Workload | 3–4 hours |
Enrollments | 710K |
Likes | 8.5K |
Certificate | None |
Fun Facts
- Edureka is a live and interactive e-learning platform with the mission of making learning accessible to everyone. They offer courses ranging from cloud computing to machine learning to cyber security.
If you’re interested in this course, you can find more information about the course and how to enroll here.
My second pick for the best Microservices course is Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka by EA Algorithm.
This paid course focuses on the architectures, patterns, and technologies related to microservices. In the end, you will be able to deploy your application to Kubernetes on Google Cloud using Google Kubernetes Engine.
To take this course, you’ll need to have knowledge of Java, Spring Boot, and back-end development experience.
What You’ll Learn
The course begins with microservices powered by Spring Boot, where you’ll develop them in Java. Then, you’ll learn about the Clean and Hexagonal architectures that’ll help you isolate domain logic from outside dependencies. Domain Driven Design (DDD) is important when implementing business logic into microservices, as it provides you with strategic patterns to help you implement your domain logic. You’ll learn about the principles of DDD.
Moving on, you’ll learn about Kafka, a distributed streaming platform that is used to publish and subscribe to streams of records. It stores data in persistence disc stores while also being scalable. You’ll use Kafka in the implementation of Saga, Outbox, and CQRS patterns, which you’ll learn more deeply about too.
Finally, you’ll become familiar with Kubernetes, a container orchestration system that reduces operational complexities. You’ll learn how to containerize and cluster your microservices in Kubernetes.
How You’ll Learn
This course is 18 hours long. You’ll learn by watching the lecture videos and completing quizzes. Each section contains multiple choice quizzes to check your progress throughout the course.
Institution | EA Algorithm |
Provider | Udemy |
Instructor | Ali Gelenler |
Level | Intermediate |
Workload | 18 hours |
Enrollments | 7.7K |
Rating | 4.5 / 5.0 (623) |
Certificate | Paid |
Fun Facts
- EA Algorithm is an IT training and consulting company specialized in teaching on distributed complex systems with a practical and easy-to-understand approach.
- Ali Gelenler is a senior software engineer and architect with 18 years of experience working on backend technologies with distributed environments. He is an expert on performance optimizations, Java, Spring, Spring boot, Microservices, Architectural patterns, Web security, Database technologies, Cloud based solutions, Kafka and Elasticsearch.
If you’re interested in this course, you can find more information about the course and how to enroll here.
My third pick for the best Microservices course is Developing Cloud-Native Apps w/ Microservices Architectures by RedHat.
In this free course, you’ll learn all about cloud-native microservices. You’ll review multiple microservices frameworks and runtimes, as well as learn the techniques to deploy them through a hassle-free DevOps pipeline. By the end, you’ll have experience with containers, Docker, Spring Boot, NodeJS, .NET, OpenShift, Jenkins, Vert.x, Kubernetes, and many more technologies.
To take this course, you’ll need Java programming knowledge.
What You’ll Learn
First, you’ll cover the basics and discuss what microservices are and why we should break up monolithic applications into microservices. Then, you’ll focus on building and deploying the API for these microservices on Docker Kubernetes. Microservices have some defining characteristics, like elasticity which allows them to discover servers autonomously and know how to invoke and execute things, and resilience that allows them to tolerate some degree of failure (e.g: circuit breakers and hystrix).
Next, you’ll learn how to integrate microservices into the continuous delivery and continuous deployment pipeline, while at the same time keeping them secure by authenticating and authorizing user credentials.
Logging, monitoring, and tracing allow you to keep track of transactions in your system. For example, if a user makes a transaction from point A, you view the locations downstream from there and see where those transactions are tied to. Finally, you’ll learn about advanced deployment strategies like the Blue/Green Deployment and Canary Deployment.
How You’ll Learn
This course is 2–3 hours long. You’ll learn by watching the lecture videos and following along with the instructor in the live demos.
Institution | RedHat |
Provider | Udemy |
Instructor | Burr Sutter |
Level | Beginner |
Workload | 2–3 hours |
Enrollments | 38K |
Rating | 4.3 / 5.0 (1.8K) |
Certificate | None |
Fun Facts
- Red Hat is an American software company that provides open source software products to enterprises. It was acquired by IBM for $34 billion.
- Burr Sutter is the Director for Developer Experience at Red Hat. His areas of expertise include Cloud, Docker, Kubernetes, OpenShift, Java EE, SOA, Business Rules, BPM, PaaS, Mobile and IoT.
If you’re interested in this course, you can find more information about the course and how to enroll here.
Build and Implement Microservices Patterns by NIIT StackRoute aims to teach you how to create an application using multiple microservices. You’ll have hands-on practice building and establishing communication between microservices using Node.js.
The prerequisite for this course is JavaScript.
What You’ll Learn
The first week of the course establishes the difference between traditional monolithic applications and microservices applications. You’ll explore the difference in architecture between these two, and then work to develop your own microservice using NodeJS.
In the second week, you’ll learn how to make microservices communicate between one another synchronously or asynchronously. You’ll study the request-response model and RabbitMQ to help you accomplish these goals.
How You’ll Learn
This course is 2 weeks long with a total length of 12 hours. You’ll learn by watching the lecture videos, reading the course material, getting your hands dirty doing the hands-on programming assignments, and answering end-of-week quizzes.
Institution | NIIT StackRoute |
Provider | Coursera |
Level | Intermediate |
Workload | 12 hours |
Certificate | Paid |
Fun Facts
If you’re interested in this course, you can find more information about the course and how to enroll here.
In this 10 days free-to-audit course, you’ll learn about several key principles and practices about microservices that will enable you to be successful with microservices.
By the end of this course, you will be ready to design and build your own microservices applications, and identify which technologies and practices are a good fit in your context.
No specific knowledge of any programming language needed.
What You’ll Learn
First, you will learn what microservices are, along with the problems they solve and the practical challenges of building microservices, including how to make sure that developers are as productive as possible.
Then, you will look at how you can architect microservices, making good decisions about service boundaries and data ownership. You’ll see how these principles are applied by exploring an example e-commerce Docker application that follows the microservices architecture. Finally, you will look at some options for how microservices can communicate with each other reliably and how to automate their deployment, and monitor them in production.
How You’ll Learn
This course is 2–3 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Provider | PluralSight |
Instructor | Mark Heath |
Level | Beginner |
Workload | 2–3 hours |
Rating | 4.5 / 5.0 (365) |
Certificate | None |
Fun Facts
- Mark Heath is a software architect at NICE Systems creating cloud based digital evidence management systems for the police. He is also the creator of NAudio, an open source audio framework for .NET. He is passionate about continually improving his skills and training other developers, and in recent years has been particularly focused on the challenges of creating scalable and reliable Azure-deployed systems.
If you’re interested in this course, you can find more information about the course and how to enroll here.
Spring Boot Microservices Level 1: Communication and Discovery introduces you to building microservices with Spring Boot and Spring Cloud. By the end of this free course, you’ll have created an application made up of 4 microservices that can dynamically communicate with each other.
To take this course, you’ll need Java programming experience.
What You’ll Learn
You’ll start this course off by looking at the difference between microservices and service-oriented architectures. Then, you’ll begin building a movie catalog application from scratch, but before that you’ll need to design the layout of the microservice application.
First, you’ll build the movie catalog service API, the movie info service API, and the rating service API. You’ll learn many things, like how to configure the server ports and how to handle communication between each other using an external microservice API. Finally, you’ll learn how to have your microservices dynamically discover what microservices it needs to talk to with Eureka (server and client side).
How You’ll Learn
This course is 2–3 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Institution | Java Brains |
Provider | YouTube |
Level | Intermediate |
Workload | 2–3 hours |
Views | 4.7M |
Certificate | None |
Fun Facts
If you’re interested in this course, you can find more information about the course and how to enroll here.
As the course name suggests, .NET Microservices – Full Course for Beginners teaches you the foundational elements of a microservices architecture with .NET and C# by building a real microservices-based application. You’ll use MongoDB, Docker Compose, Postman, and other technologies to help you.
To take this free course, you’ll need to have C# programming experience.
What You’ll Learn
The course begins with an introduction to microservices and how they are better than monolith applications. Then, you’ll create your first microservice, a catalog service, with the .NET CLI and learn about the REST API and DTOs. After that, you’ll add the database storage with MongoDB and package it with a Docker container.
The next microservice you’ll build is an inventory microservice. For this project, you’ll learn how to use Postman for the API, NuGet to reuse common code., and Docker Compose to contain MongoDB.
Now that you have two microservices, you’ll want them to talk to one another. Hence, you’ll learn how to communicate both synchronously and asynchronously using the most optimal development patterns. Finally, you’ll end the course by integrating the microservices to the front end to have them work in tandem.
How You’ll Learn
This course is 7–8 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Institution | freeCodeCamp |
Provider | YouTube |
Instructor | Julio Casal |
Level | Intermediate |
Workload | 7–8 hours |
Views | 180K |
Likes | 4.1K |
Certificate | Paid |
Fun Facts
- Julio Casal is a Senior Software Engineer at Microsoft in the Xbox Cloud Gaming department. Before that, he was a software developer at Oracle and served as a software consultant at various companies.
- The course also has a website here.
- He has a series teaching the .NET REST API on his YouTube channel.
If you’re interested in this course, you can find more information about the course and how to enroll here.
Microservices with Node JS and React by Stephen Grider walks you through every single step of building a production-ready microservice app using a minimal number of outside libraries. Along the way, you’ll build your skills with both front end and back end technologies like MongoDB, Docker, Kubernetes, and TypeScript.
The only JavaScript experience you’ll need for this paid course is basic knowledge of Node, Express, and React.
What You’ll Learn
You’ll begin the course by getting a hang of the fundamental ideas around microservices, like how microservices are deeply connected with both the frontend and backend of the tech stack. Then, you’ll get to work creating a mini-microservices app, which will involve learning how to run services with docker and orchestrating them with Kubernetes.
Moving on, you’ll learn the best patterns and practices to create scalable microservices for a variety of app domains. You’ll also learn how to model and manage databases and also test isolated microservices. Building a Server-Side-Rendered React app using Hooks and Next JS will also be one of the projects you’ll complete.
After developing the app, you’ll work on the backend. You’ll learn about CRUD, implement a custom event bus, understand event floor, handle concurrency issues, and much more related to client-server interactions.
How You’ll Learn
This course is 54 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Provider | Udemy |
Instructor | Stephen Grider |
Level | Advanced |
Workload | 54 hours |
Enrollments | 88K |
Rating | 4.7 / 5.0 (13K) |
Certificate | Paid |
Fun Facts
- Stephen Grider has been building complex Javascript front ends for top corporations in the San Francisco Bay Area. He teaches on Udemy to share the knowledge he has gained with other software engineers.
- The instructor also has a Discord server that you can join upon enrolling in the course.
If you’re interested in this course, you can find more information about the course and how to enroll here.
Working with Microservices in Go by Trevor Sawler teaches you how to build scalable, resilient distributed applications or microservices in Go, a language perfect for building distributed web applications.
By the end of this paid course, you’ll be able to build large-scale web applications as a collection of smaller efficient applications with Docker Swarm, Kubernetes, and Go.
To take this course, you’ll need a basic understanding of the Go programming language.
What You’ll Learn
In this course, you’ll develop a number of microservices in Go. These microservices will communicate with one another and a simple front-end application with a REST API, with RPC, over gRPC, and by sending and consuming messages using AMQP, the Advanced Message Queuing Protocol. These microservices are:
- A front end service that just displays web pages with HTML/CSS and JavaScript,
- An authentication service with a Postgres database,
- A logging service with a MongoDB database,
- A listener service which receives messages from RabbitMQ and acts upon them,
- A broker service which is an optional single point of entry into the microservice cluster,
- And a mail service which takes a JSON payload, converts it into a formatted email, and sends it out.
You’ll deploy these applications to a Docker Swarm and Kubernetes and see how you can scale your applications when necessary as well as update individual microservices with little to no downtime.
How You’ll Learn
This course is 11–12 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Provider | Udemy |
Instructor | Trevor Sawler |
Level | Intermediate |
Workload | 11–12 hours |
Enrollments | 5K |
Rating | 4.7 / 5.0 (417) |
Certificate | None |
Fun Facts
If you’re interested in this course, you can find more information about the course and how to enroll here.
Source link