We may earn an affiliate commission when you visit our partners.
Course image
Clément Jean

gRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square & Netflix and enables programmers to write micro-services in any language they want while keeping the ability to easily create communications between these services. It relies on Protocol Buffers for the transport mechanism and Service Definition language. 

Read more

gRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square & Netflix and enables programmers to write micro-services in any language they want while keeping the ability to easily create communications between these services. It relies on Protocol Buffers for the transport mechanism and Service Definition language. 

In this course, we are going to explore in depth, with hands-on lectures, all the aspects to get started with gRPC

This course is hands-on and you will implement two services: Greet and a Calculator Service

In just a few hours, you will know everything you need to know to write your .proto files, generate code in your Favourite Programming, and implement your services, servers and client in Golang. There will be plenty of hands-on lectures and exercises for you to practice your newly acquired skills. 

It's time to say goodbye to slow and clunky REST API, and opt-in for a better API framework

gRPC Golang Master Class is the best way to get a great overview of all the possibilities offered by gRPC with your favourite language

> Learn the gRPC theory to understand how gRPC works> Compare gRPC and REST API paradigm> Write your gRPC service definition in .proto files> Generate Server & Client Code in Golang using the gRPC plugin> Implement Unary, Server Streaming, Client Streaming & Bi-Directional Streaming API> Practice your learning with Exercises & Solutions> Implement advanced concepts such as Error Handling, Deadlines & SSL Security> Implement a full CRUD API on top of MongoDB> Get pointers to expand your learning journey and get inspired by real world gRPC services

Note: This course expects you have some preliminary knowledge about Protocol Buffers and Golang. 

Section outline:

  • gRPC Course Overview: Get an understand of the course objectives, how the course is structured, download the course code and get ready.

  • [Theory] gRPC Internals Deep Dive: Learn how gRPC works behind the scenes. Learn about HTTP/2, Protocol Buffers efficiencies, and the differences of gRPC and REST.

  • [Hands-On] gRPC Project Overview & Setup: Setup your project and learn how to trigger code generation

  • [Hands-On] gRPC Unary: API description & implementation

  • [Hands-On] gRPC Server Streaming: API description & implementation

  • [Hands-On] gRPC Client Streaming: API description & implementation

  • [Hands-On] gRPC Bi-Directional Streaming: API description & implementation

  • [Hands-On] gRPC Advanced Features Deep Dive: Advanced features such as Error Handling, Deadlines, SSL Security. 

  • Next Steps: Some useful real-world links & where to take your learning from here

Instructor

My name is Clément Jean, and I'll be your instructor in this course. I teach about Protocol Buffers and gRPC with my focus always on helping my students improve their professional proficiencies. I am also the author of some of the most highly-rated & best-selling courses.

With development being a widely accepted and pursued career, I've decided it's time for students to properly learn about gRPC. So, let’s kick start the course. You are in good hands.

This Course Also Comes With:

  • Lifetime Access to All Future Updates

  • A responsive instructor in the Q&A Section

  • Links to interesting articles, and lots of good code to base your next template onto

  • Udemy Certificate of Completion Ready for Download

  • A 30 Day "No Questions Asked" Money Back Guarantee.

I hope to see you inside the course.

Enroll now

What's inside

Learning objectives

  • Learn the grpc theory to understand how grpc works
  • Compare grpc and rest api paradigm
  • Write your grpc service definition in .proto files
  • Generate server & client code in golang using the protoc grpc plugin
  • Implement unary, server streaming, client streaming & bi-directional streaming api
  • Practice your learning with exercises & solutions
  • Implement advanced concepts such as error handling, deadlines & ssl security
  • Implement a full crud api on top of mongodb
  • Get pointers to expand your learning journey and get inspired by real world grpc services

Syllabus

gRPC Course Overview
gRPC Introduction
Course Objective
About your instructor
Read more
Important Message
Prerequisites
Code Download
[Theory] gRPC Internals Deep Dive
Why this section?
Protocol Buffers & Language Interoperability
HTTP/2
4 Types of gRPC APIs
Scalability in gRPC
Security in gRPC (SSL)
gRPC vs REST
Section Summary - why use gRPC
Quiz on GRPC
[Hands-On] gRPC Project Overview & Setup
Project Setup (Golang + VSCode + Protoc)
Go Dependencies Setup
Makefile (Windows)
Makefile
Server Setup Boilerplate Code
Client Setup Boilerplate Code
[Hands-On] gRPC Unary
Unary API Server Implementation
Unary API Client Implementation
[Exercise] Sum API
[Solution] Sum API
[Hands-On] gRPC Server Streaming
Server Streaming API Server Implementation
Server Streaming API Client Implementation
[Exercise] Primes API
[Solution] Primes API
[Hands-On] gRPC Client Streaming
Client Streaming API Server Implementation
Client Streaming API Client Implementation
[Exercise] Avg API
[Solution] Avg API
[Hands-On] gRPC Bi-Directional Streaming
Bi-Directional Streaming API Server Implementation
Bi-Directional Streaming API Client Implementation
[Exercise] Max API
[Solution] Max API
[Hands-On] gRPC Advanced Features Deep Dive
[Hands-On] Errors implementation
[Hands-On] Deadlines
[Hands-On] SSL Security
gRPC Reflection & Evans CLI
[Hands-On] CRUD API with MongoDB
Install Docker
Docker-Compose setup
Blog Service Golang Setup
CreateBlog Server
CreateBlog Client
ReadBlog Server
ReadBlog Client
UpdateBlog Server
UpdateBlog Client
ListBlog Server
ListBlog Client
DeleteBlog Server
DeleteBlog Client
Next Steps
gRPC in real life
Congrats & Next Steps
Bonus Lecture: Student Special Coupons for my Other courses

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores gRPC, which is a framework for building modern and fast API, used by top tech companies such as Netflix, Square, and Google
Taught by Clément Jean, who specializes in Protocol Buffers and gRPC
Provides hands-on lectures and exercises for practical application of skills
Covers advanced concepts such as Error Handling and SSL Security
Involves implementing a full CRUD API on top of MongoDB for practical experience
Requires preliminary knowledge of Protocol Buffers and Golang, which may limit accessibility for beginners

Save this course

Save gRPC [Golang] Master Class: Build Modern API & Microservices to your list so you can find it easily later:
Save

Reviews summary

Comprehensive grpc course

Learners say this course is comprehensive, fast-paced, and suitable for their learning level. It teaches you to build modern APIs and microservices using Go.
The course helped move at a good pace.
"It is a little fast-paced but you are able to go over several subjects"
The course covers several subjects.
"you are able to go over several subjects"
Course materials are valuable.
"This course was very helpful"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in gRPC [Golang] Master Class: Build Modern API & Microservices with these activities:
Review Protocol Buffers Concepts and Basics
Start by familiarizing yourself with Protocol Buffers, which is fundamental to gRPC's functionality and usage.
Browse courses on Protocol Buffers
Show steps
  • Read a general introduction to Protocol Buffers.
  • Review examples of Protocol Buffers message definitions.
  • Practice creating and compiling Protocol Buffers message definitions.
Follow a Step-by-Step gRPC Server Implementation Tutorial
Gain practical experience by following a guided tutorial that takes you through the process of setting up and running a gRPC server.
Show steps
  • Find a reputable tutorial on gRPC server implementation.
  • Follow the steps outlined in the tutorial.
  • Run the code and verify that the server is functioning correctly.
Practice Writing gRPC Service Definitions
Master the syntax and structure of gRPC service definitions by trying out different scenarios and edge cases.
Show steps
  • Design a simple gRPC service definition.
  • Implement the service definition using the protoc compiler.
  • Test the generated code by creating a client and server.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a gRPC Workshop or Meetup
Immerse yourself in the gRPC community and learn from experts by attending a workshop or meetup dedicated to the technology.
Show steps
  • Research upcoming gRPC workshops or meetups.
  • Register for an event that aligns with your interests.
  • Attend the event and actively participate in discussions and hands-on sessions.
Develop a CRUD API Using gRPC
Solidify your understanding of gRPC by building a complete CRUD (Create, Read, Update, Delete) API using its capabilities.
Show steps
  • Design the gRPC service definition for the CRUD API.
  • Implement the server and client code for the CRUD operations.
  • Test the API by performing CRUD operations on a data store.
Help Peers Troubleshoot and Debug gRPC Issues
Reinforce your own gRPC knowledge by assisting others in resolving challenges and deepening their understanding.
Show steps
  • Join a gRPC community or forum.
  • Offer assistance and guidance to peers facing gRPC-related issues.
  • Collaborate on finding solutions and debugging code.
Contribute to an Open-Source gRPC Project
Expand your gRPC knowledge and make a meaningful contribution to the community by participating in an open-source project.
Show steps
  • Identify an open-source gRPC project that aligns with your interests.
  • Review the project's documentation and codebase.
  • Propose a feature or bug fix, and contribute code to the project.
Create a Real-Time Chat Application Using gRPC
Apply your gRPC skills to a practical project by building a real-time chat application that utilizes its features.
Show steps
  • Design the gRPC service definition for the chat application.
  • Implement the server and client code for handling chat messages.
  • Integrate the chat application with a front-end interface.

Career center

Learners who complete gRPC [Golang] Master Class: Build Modern API & Microservices will develop knowledge and skills that may be useful to these careers:
Software Engineer
A Software Engineer designs, develops, and tests software applications. In this role, you would use your knowledge of gRPC to implement fast and efficient API and microservices. This course provides a great foundation for building scalable, modern API and microservices as a Software Engineer.
Database Administrator
A Database Administrator designs, builds, and maintains databases. In this role, you would use your knowledge of gRPC to design, build, and maintain databases. This course provides a great foundation for designing, building, and maintaining databases as a Database Administrator.
Web Developer
A Web Developer builds and maintains websites. In this role, you would use your knowledge of gRPC to build and maintain websites that are fast and efficient. This course provides a great foundation for building scalable, modern websites as a Web Developer.
Data Engineer
A Data Engineer designs, builds, and maintains data pipelines. In this role, you would use your knowledge of gRPC to build and maintain data pipelines that are fast and efficient. This course provides a great foundation for building scalable, modern data pipelines as a Data Engineer.
DevOps Engineer
A DevOps Engineer automates and manages the software development process. In this role, you would use your knowledge of gRPC to automate and manage the software development process. This course provides a great foundation for automating and managing the software development process as a DevOps Engineer.
Cloud Engineer
A Cloud Engineer designs, builds, and maintains cloud infrastructure. In this role, you would use your knowledge of gRPC to design, build, and maintain cloud infrastructure. This course provides a great foundation for designing, building, and maintaining cloud infrastructure as a Cloud Engineer.
Security Engineer
A Security Engineer designs, builds, and maintains computer security systems. In this role, you would use your knowledge of gRPC to design, build, and maintain computer security systems. This course provides a great foundation for designing, building, and maintaining computer security systems as a Security Engineer.
Network Engineer
A Network Engineer designs, builds, and maintains computer networks. In this role, you would use your knowledge of gRPC to design, build, and maintain computer networks. This course provides a great foundation for designing, building, and maintaining computer networks as a Network Engineer.
Software Architect
A Software Architect designs, builds, and maintains software systems. In this role, you would use your knowledge of gRPC to design, build, and maintain software systems. This course provides a great foundation for designing, building, and maintaining software systems as a Software Architect.
Mobile Developer
A Mobile Developer builds and maintains mobile applications. In this role, you would use your knowledge of gRPC to build and maintain mobile applications that are fast and efficient. This course provides a great foundation for building scalable, modern mobile applications as a Mobile Developer.
Systems Engineer
A Systems Engineer designs, builds, and maintains computer systems. In this role, you would use your knowledge of gRPC to design, build, and maintain computer systems. This course provides a great foundation for designing, building, and maintaining computer systems as a Systems Engineer.
Technical Lead
A Technical Lead leads and manages a team of software engineers. In this role, you would use your knowledge of gRPC to lead and manage a team of software engineers. This course provides a great foundation for leading and managing a team of software engineers as a Technical Lead.
Engineering Manager
An Engineering Manager leads and manages a team of software engineers. In this role, you would use your knowledge of gRPC to lead and manage a team of software engineers. This course provides a great foundation for leading and managing a team of software engineers as an Engineering Manager.
CTO
A CTO leads and manages the technology strategy of a company. In this role, you would use your knowledge of gRPC to lead and manage the technology strategy of a company. This course provides a great foundation for leading and managing the technology strategy of a company as a CTO.
Lead Software Engineer
A Lead Software Engineer leads and manages a team of software engineers. In this role, you would use your knowledge of gRPC to lead and manage a team of software engineers. This course provides a great foundation for leading and managing a team of software engineers as a Lead Software Engineer.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in gRPC [Golang] Master Class: Build Modern API & Microservices.
The official book on the Go programming language, essential for understanding the code examples and exercises in the course.
Provides a broader context for understanding the design and implementation of scalable and reliable data services, which is relevant for building gRPC-based APIs.
A practical guide to building and deploying microservices in Go, covering topics such as architecture, testing, and monitoring, which are relevant to gRPC-based microservices.
Provides a comprehensive overview of web programming in Go. It covers topics such as HTTP, routing, and middleware. While it does not focus specifically on gRPC, it valuable resource for anyone looking to build web applications in Go.
Provides a deep dive into microservices development in Go. It covers topics such as service design, API development, and deployment. While it does not focus specifically on gRPC, it valuable resource for anyone looking to build microservices in general.
Comprehensive guide to gRPC for Node.js developers. It covers the basics of gRPC, as well as more advanced topics such as streaming, error handling, and security.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to gRPC [Golang] Master Class: Build Modern API & Microservices.
gRPC [Java] Master Class: Build Modern API & Micro...
Most relevant
Using gRPC in ASP.NET Core 6
Most relevant
Protocol Buffer Fundamentals
Most relevant
Microservices with gRPC [Java + Spring Boot + Protobuf]
Most relevant
Working with Microservices in Go (Golang)
Collaboration and Crawling W/ Google's Go (Golang)...
Transcoding HTTP/JSON API calls to gRPC through API...
Backend Web Development with Go: Build an E-Manual Server
Building REST APIs in Rust 2021 with Actix Web
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser