Skip to main content
CF

Introduction to industry REST microservices in Golang (Go)

15h 45m 33s
English
Paid

In this course I'm doing the very same I've been doing for the past 6 years: Analysis, design and development of high-performance microservices in Go. This is not an introduction to Go's concepts, you have free resources for that like the Go Tour (I strongly suggest you to take it!). This is real-life and industry experience revealed in 13+ hours of video and resources that you will not easily find online.

We will cover everything you need:

  • Native web server.

  • HTTP frameworks.

  • Benchmarks.

  • Package organization.

  • MVC pattern.

  • Interfaces: How to design and implement them.

  • Dealing with dates.

  • Unit, Integration and Functional testing.

  • Mocking different artifacts of your application.

  • Consuming external APIs.

  • Mocking external APIs responses

  • Different concurrency designs based on each requirement.

  • Parallelism when we have multi-core VMs.

  • Stress-test our applications

  • Metrics, logging, debugging, profiling.

  • And a lots of more... EVERYTHING you need to work with this amazing technology.

Requirements:
  • Just complete the Golang tour available at Golang's website
Who this course is for:
  • Software engineers.
  • Software developers.
  • Technical leaders.
  • Architects.
  • Anyone who wants to get serious about microservices in Go.

What you'll learn:

  • Install, configure and setup Go
  • Analysis and design of REST microservices.
  • Different architectures and patterns for implementing them in Go.
  • Test as you Go. Ensure the quality of your work.
  • Advanced concurrency patterns.
  • Parallel execution on Multi-Core VMs.
  • HTTP frameworks, comparison and appliance.
  • Consuming external APIs. Test them. Mock them. Measure them. Use them.
  • The ultimate and best way of mocking different layers of your application.
  • Debugging and completely testing your application.
  • Create native webservices.

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 31 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Golang installation & configuration
All Course Lessons (31)
#Lesson TitleDurationAccess
1
Golang installation & configuration Demo
12:40
2
Configuring environment
20:57
3
Testing our first websever
12:21
4
Introduction to MVC
13:17
5
Package organization
45:53
6
Pushing our changes to Git and first PR
14:22
7
Introduction to testing
13:22
8
Unit tests
30:13
9
Benchmarks
35:41
10
How to structure Go artifacts and mock
38:09
11
HTTP Frameworks
35:40
12
Analyzing our target APIs.
13:40
13
Defining our domain structs
34:14
14
REST Api Calls - Native HTTP client
47:40
15
Testing: Mocking native REST Api calls.
39:21
16
Putting all together
48:26
17
Testing: Unit & Integration tests
56:19
18
Concurrency is NOT parallelism
19:23
19
Implementation of concurrent API calls
01:11:28
20
Testing concurrent models
46:51
21
How to limit concurrency
38:25
22
Calculate the shipping box
07:15
23
How to use Mutex
14:09
24
Introduction to logging systems
12:24
25
Log library - logrus
38:42
26
Log library - zap
23:07
27
Infrastructure design for your microservices
31:38
28
Creating an OAuth authentication microservice
01:32:30
29
Mocking entire layers of the application
26:16
30
End of course - Part 1
07:38
31
Extra class - Take a look at my website
03:32
Unlock unlimited learning

Get instant access to all 30 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 should I have before enrolling in this course?
Before enrolling in this course, you should have a basic understanding of the Go programming language. The course assumes familiarity with Go concepts, so it is recommended to complete resources like the Go Tour for foundational knowledge. Additionally, having some experience in software development and understanding of web technologies will be beneficial.
What kind of projects or applications will I build in this course?
Throughout the course, you will work on building high-performance microservices using Go. This includes developing a web server, implementing REST API calls with a native HTTP client, creating OAuth authentication microservices, and designing infrastructure for microservices. These projects are based on real-life industry applications and provide practical experience in building scalable services.
Who is the target audience for this course?
This course is designed for software developers and engineers who have a basic understanding of Go and are interested in advancing their skills in building microservices. It is particularly suited for those looking to gain industry experience and apply real-world practices in the design, analysis, and development of high-performance services.
How does the depth of this course compare to other microservices courses?
The course offers 13+ hours of video and resources focused on real-life industry experience in designing and developing microservices with Go. Unlike introductory courses, this course provides practical insights and advanced techniques, such as implementing concurrent API calls, using logging systems like logrus and zap, and mocking entire application layers. It is more specialized and in-depth than general microservices courses.
What specific tools and platforms will I learn to use in this course?
In this course, you will learn to use various tools and platforms essential for microservices development in Go. This includes HTTP frameworks for REST API implementation, log libraries such as logrus and zap for logging systems, and tools for testing like unit tests, integration tests, and mocking REST API calls. The course also covers infrastructure design for microservices.
What topics are not covered in this course?
The course does not cover introductory concepts of Go programming, as it assumes prior knowledge of the language. It also does not delve into other programming languages or focus on non-industry practices. The emphasis is on practical, industry-relevant techniques for building microservices in Go, rather than a broad overview of unrelated technologies.
How much time should I expect to commit to this course?
The course comprises over 13 hours of video content spread across 31 lessons. Given its practical nature, additional time may be needed to complete exercises, projects, and experiments outside the video lectures. Depending on your pace, you should allocate enough time to fully engage with the material and practice the skills taught in the course.