Working with Microservices in Go (Golang) (Udemy.com)
Build highly available, scalable, resilient distributed applications using Go
Created by: Trevor Sawler
Last updated June 2024
What you will learn
- Learn what Microservices are and when to use them
- How to develop loosely coupled, single purpose applications which work together as a distributed application
- How to communicate between services using JSON, Remote Procedure Calls, and gRPC
- How to push events to microservices using the Advanced Message Queuing Protocol (AMQP) using RabbitMQ
- How to deploy your distributed application to Docker Swarm
- How to deploy your your distributed application to a Kubernetes Cluster
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100
Course Description
For a long time, web applications were usually a single application that handled everything—in other words, a monolithic application. This monolith handled user authentication, logging, sending email, and everything else. While this is still a popular (and useful) approach, today, many larger scale applications tend to break things up into microservices. Today, most large organizations are focused on building web applications using this approach, and with good reason.
Microservices, also known as the microservice architecture, are an architectural style which structures an application as a loosely coupled collection of smaller applications. The microservice architecture allows for the rapid and reliable delivery of large, complex applications. Some of the most common features for a microservice are:
it is maintainable and testable;
it is loosely coupled with other parts of the application;
it can deployed by itself;
it is organized around business capabilities;
it is often owned by a small team.
In this course, we'll develop a number of small, self-contained, loosely coupled microservices that will 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. The microservices we build will include the following functionality:
A Front End service, that just displays web pages;
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;
A Mail service, which takes a JSON payload, converts into a formatted email, and send it out.
All of these services will be written in Go, commonly referred to as Golang, a language which is particularly well suited to building distributed web applications.
We'll also learn how to deploy our distributed application to a Docker Swarm and Kubernetes, and how to scale up and down, as necessary, and to update individual microservices with little or no downtime.
Please note that this course requires you to download Docker Desktop from Docker. If you are a Udemy Business user, please check with your employer before downloading software.
Instructor Details
- 4.6 Rating
3,184 Reviews
Trevor Sawler
I have twenty years of experience in professional software development, and twenty years of experience as a University professor.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.
More courses by Trevor Sawler
Building Modern Web Applications with Go (Golang) (2022)
4.6 (5,848 Reviews)
Provider: Udemy
Time: 29.6h
$84.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
Building Web Applications with Go - Intermediate Level (2025)
4.8 (597 Reviews)
Provider: Udemy
Time: 18.7h
$84.99
More Go courses
Succinct Go Structs, Maps, Interfaces & Exercises (BOOK 3) (2025)
4.9 (31 Reviews)
Provider: Udemy
Time: 4h
$54.99
gRPC [Golang] Master Class: Build Modern API & Microservices (2023)
4.7 (5,106 Reviews)
Provider: Udemy
Time: 3.8h
$99.99
Go Bootcamp: Master Golang with 1000+ Exercises and Projects (2021)
4.7 (4,012 Reviews)
Provider: Udemy
Time: 15.8h
$99.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
Go: The Complete Modern Golang Developer's Guide (2024)
4.7 (32 Reviews)
Provider: Udemy
Time: 10.8h
$64.99
Reviews
By Marcus Ong on 4/30/2026
Started this course as a way to learn Golang for a new backend role, but managed to get so much more out of it. To truly understand the networking involved between the microservices, I would recommend you to not use the exact ports / endpoints used by Mr Sawler. It is a lot of content packed into 11 hours. On the surface, it may seem like you can complete the course in 3-4 days, but in actual fact, I spent close to 30 hours tinkering with the code and breaking things.
By Lucas Cabral on 3/17/2026
Excelente curso para dominar arquitecturas distribuidas con Go. Trevor Sawler explica con maestría la integración de Docker, gRPC y RabbitMQ, priorizando siempre la escalabilidad y las mejores prácticas de la industria. Una inversión imprescindible para cualquier desarrollador que busque transicionar de aplicaciones monolíticas a sistemas de microservicios robustos y de nivel empresarial. Totalmente recomendado.
By Werner Engelbrecht on 2/21/2026
What an experience, this is probably one of the most complete and useful courses that I've seen which can be used in a corporate environment. Even though I used this course to start learning golang, I found it to be quite interesting and never boring (like other traditional beginner courses). I know that I'm missing the core concepts of go, but I'm coming from 6 years experience in C#, biggest difference thus far is the syntax and the placement logic (not using classes for everything). Thank you, this was a fun course!
By Matt Stein on 1/31/2026
I've done a few of your Go Programming Languages now and you are a great teacher. I learned so much about backend web development that I couldn't have learned anywhere else. Now, thanks to your inspiration, I have created simple microservices of my own as well as multiple projects using Go for the backend. Thanks a ton for teaching and making the world of programming a better place. You do a great thing!!!
By Greg Yeomans on 9/5/2025
This is my second GO course taught by Trevor Sawler. He seems very knowledgeable about the language. While I didn't notice any glaring issues with the course as I did the "Building Modern Web Applications with Go (Golang)" course, I do wish he would include more comments within the code to help further clarify what the code is doing. While he does seem to explain what the code is doing...that's fine during the session lecture, but if you come back to the code sometime after taking the course, unless you are able to engross yourself in the language it would be easy to forget what is happening at the line level of code, much less what each function may be doing. I have always heard the code comments are a must, but they are lacking in both of these courses. IMHO! One other minor nitpick, I wish that at least one JSON, RPC, and gRPC call was functional within the finished product to maintain those examples. Otherwise good course.
By Francisco Gonzalez on 5/30/2024
I like the course, however I feel you need to explain more in the part of kubernetes with the different Operating systems, I use debian but I had problems when I wanted to probe minikube tunnel and I don't know why I can't access to the localhost, I created the pods in kubernetes I can see with kubectl get svc but I don't get to access and I can't finish that section, I share you my repo in github: https://github.com/FranciscoGB03/go, I hope you can help me, and thanks for the course
By Marcos Issler on 7/31/2023
First, I would like to thank Trevor for the course. It is very well explained, the lessons are well structured, with the content thoroughly explained, and an excellent teaching method. Something that is not seen in all courses. This one, in particular, focuses on microservices and Golang. As it is a fast-paced course, it starts with a focus on the Go language and the construction of each microservices. The project, folders, files and the code is very well done too. In the following chapters, it shows how to interconnect these microservices using various existing technologies. Each technology takes into consideration its requirements and should be used depending on each project ahead. Throughout the course, the code is well-written and organised, just like the project itself. It covers a great amount of information with a focus on microservices, without diving too deep into other details of the Golang language. If you have a basic knowledge of Go, you will be able to absorb the content of this course very well. If not, you can still follow along, but I recommend taking a basic course beforehand. Congratulations, Trevor! I am very pleased with the content, and I will definitely look for other courses from your portfolio. Thank you for sharing.
By Simeon Georgiev Georgiev on 5/15/2023
Awesome course! It's really suitable also for experienced developers that want to switch to Go and learn more about Docker Swarm and Kubernetes. After I finished the course I already had a simple Go app that is working and now I can start building my own. It's a good think that the author is not using any frameworks and just some libraries so I was able to understand Go and now adopting a framework seems easy. But I definitely recommend also reading a book or taking a course just about Go, if you are new to the language, before taking the course so the learning curve is even smoother.
By David Liu on 6/26/2022
This course covers a lot of grounds, building go microservices, service composition, containerization, multi-tier architecture. It is a good intro to building microservices. It is definitely one of the good ones I can find anywhere. It is one of the rare ones I stayed to the end of the course. (Now I wish some of the things could have been done more realistically, eg using viper config rather than hardcoding. Centralized configuration, centralized logging, feature flagging and token-based authentication, these are a must in real world microservice development.)
By Vern_russell@hotmail.com Russell on 6/16/2022
Usually the instructor will provide examples using tested code. Being a Linux person, the code is not condusive to windows. As a result I have wasted a lot of time trying to get the machine configured to work and it might take forever to get through the course. I may have to wait to resume when windows tested version of this is part of actual lectures instead of digging through questions and answers which has been very hit and mis.








![gRPC [Golang] Master Class: Build Modern API & Microservices](/programming/go/images/1792960_19b1_11.jpg?v=1789268175)


