Course Code: golangmicroservices
Duration: 21 hours
Prerequisites:
  • An understanding of software development
  • Experience with Golang
  • Basic programming experience

Audience

  • Developers
  • Software Architects
Overview:

This instructor-led, live training (online or onsite) is aimed at beginner-level / intermediate-level / advanced-level ___ who wish to use Golang to develop microservices oriented solutions.

By the end of this training, participants will be able to:

  • Develop asynchronous microservices in Go
  • Use REST APIs and gRPC in real-world scenario
  • Integrate Kafka and tools for event-driven communication
  • Dockerize and deploy Go microservices with Kubernetes
  • Apply best practices for security, testing, and logging

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Day 1 – Go Fundamentals and Microservices Architecture

Overview of Go: syntax, tools, and modules

Microservices architecture: principles, benefits, and approaches

Building REST APIs with the Gin framework

Introduction to GoFR as a modern alternative

Introduction to concurrent programming: goroutines and channels

Guided project: building a simple REST microservice


Day 2 – Concurrency, Event-Driven Systems, and gRPC

Asynchronous approach: designing microservices that interact with external systems

Kafka: building publishers and consumers in Go

REST vs gRPC: comparison of protocols

RPC lifecycle and gRPC API models (unary, streaming, bidirectional)

Error handling and timeout management in gRPC

Installing and configuring gRPC and Go Micro

Hands-on exercises: implementing microservices using gRPC


Day 3 – Security, Logging, and Deployment

Security: JWT authentication and OpenID Connect

Logging and observability in Go microservices

Authorization and access control with PermGuard approach

Dockerizing and orchestrating with Kubernetes

Organizing code with Go Workspaces

Lab: securing an existing microservice

Summary and Next Steps

Sites Published:

Italia - Microservices with Golang

Uzbekistan - Microservices with Golang