Course Outline
Day 1 – Go Fundamentals and Microservices Architecture
Core overview of the Go language: syntax, tooling, and module management
Microservices architecture: foundational principles, operational benefits, and implementation strategies
Constructing RESTful APIs using the Gin framework
Introduction to GoFR as a contemporary solution for framework development
Foundations of concurrent programming: utilization of goroutines and channels
Supervised project: development of a basic REST microservice
Day 2 – Concurrency, Event-Driven Systems, and gRPC
Asynchronous patterns: designing microservices to interface with external systems
Apache Kafka: constructing publishers and consumers in Go
REST vs. gRPC: comparative analysis of communication protocols
RPC lifecycle and gRPC API models (unary, streaming, and bidirectional)
Error management and timeout configuration in gRPC environments
Installation and configuration of gRPC and Go Micro frameworks
Practical exercises: implementation of microservices utilizing gRPC
Day 3 – Security, Logging, and Deployment
Security implementation: JWT authentication and OpenID Connect standards
Logging and observability practices in Go microservices
Authorization and access control strategies using the PermGuard approach
Containerization with Docker and orchestration using Kubernetes
Code organization and management via Go Workspaces
Laboratory exercise: securing an existing microservice architecture
Summary and subsequent actions
Requirements
- A foundational understanding of software development lifecycle
- Practical experience with the Golang language
- Basic programming proficiency
Target Audience
- Software Developers
- System and Software Architects
Testimonials (4)
The instructor was knowledgeable about the course topic and also other related topics, and was able to answer our questions, or even make a note of questions he didn't immediately know the answer to and got back to use later.
Abe Sabbagh - Enbridge
Course - Advanced RabbitMQ - 2 Days
Possibility to perform independent exercises in the training environment.
Tomasz - PKO Zycie Towarzystwo Ubezpieczen S.A.
Course - Kafka for Administrators
the technical preparation of teachers
Giorgio - Asystel-BDF S.p.A.
Course - Creating a Service Mesh with Istio and Kubernetes
Very practical examples. The trainer has tried to keep a pace where everybody is able to go with even though the group was quite inhomogeneous regarding the knowhow. He has provided a lot of support to basically everybody who asked for it :)