Skip to content Skip to content
Vladimir Chavkov

Go Web Services & APIs Training

Build production-grade web services and APIs with Go in this comprehensive 3-day training. Learn to design, implement, and deploy REST and gRPC services using the Go standard library and popular frameworks, with proper authentication, database access, and testing strategies.

Duration3 days (24 hours)
LevelIntermediate
DeliveryIn-person, Live online, Hybrid
CertificationN/A
  • Go developers building backend services
  • Backend engineers moving from other languages to Go
  • API developers designing production services
  • Full-stack developers adding Go to their stack
  • Teams adopting Go for microservices

After completing this training, you’ll be able to:

  • Build REST APIs using the Go standard library and popular routers
  • Design and implement gRPC services with Protocol Buffers
  • Implement middleware for logging, authentication, and rate limiting
  • Integrate with SQL and NoSQL databases using Go patterns
  • Write comprehensive API tests including integration and end-to-end
  • Deploy Go services with proper health checks and graceful shutdown

Module 1: HTTP Server Foundations

  • net/http package deep dive
  • ServeMux and handler patterns
  • Request parsing and response writing
  • JSON encoding and decoding
  • Hands-on: Build a CRUD API with net/http

Module 2: Routing and Middleware

  • Popular routers (chi, gorilla/mux, gin)
  • Middleware patterns and chaining
  • Logging, recovery, and CORS middleware
  • Request validation and error responses
  • Hands-on: Refactor to chi router with middleware stack

Module 3: Authentication and Authorization

  • JWT token generation and validation
  • OAuth2 integration patterns
  • Role-based access control middleware
  • API key authentication
  • Hands-on: Add JWT authentication to the API

Module 4: Database Access

  • database/sql package and connection pooling
  • Query patterns and prepared statements
  • Migrations with golang-migrate
  • Working with sqlx and GORM
  • Hands-on: Add PostgreSQL persistence layer

Module 5: gRPC Services

  • Protocol Buffers and service definitions
  • Unary and streaming RPCs
  • gRPC interceptors and metadata
  • Error handling in gRPC
  • Hands-on: Build a gRPC service with streaming

Module 6: API Design Best Practices

  • RESTful resource design
  • Pagination, filtering, and sorting
  • Versioning strategies
  • API documentation with OpenAPI/Swagger
  • Hands-on: Design and document a complete API

Day 3: Testing, Deployment, and Production Readiness

Section titled “Day 3: Testing, Deployment, and Production Readiness”

Module 7: API Testing

  • Unit testing HTTP handlers
  • httptest package for integration tests
  • Table-driven API tests
  • Mocking dependencies with interfaces
  • Hands-on: Write comprehensive test suites

Module 8: Production Patterns

  • Configuration management (env vars, files, flags)
  • Structured logging with slog
  • Health check endpoints and readiness probes
  • Graceful shutdown and signal handling
  • Hands-on: Add production instrumentation

Module 9: Deployment

  • Multi-stage Docker builds for Go
  • Container-optimized binaries (static linking, scratch images)
  • Kubernetes deployment manifests
  • CI/CD pipeline for Go services
  • Hands-on: Containerize and deploy the service
  • Go Fundamentals or equivalent experience
  • Basic understanding of HTTP and REST concepts
  • Familiarity with SQL databases
  • Understanding of JSON data format
FormatDescription
In-PersonOn-site at your company’s location, hands-on with direct interaction
Live OnlineInteractive virtual sessions with screen sharing and real-time labs
HybridCombination of on-site and remote sessions, flexible scheduling

All formats include hands-on labs, course materials, starter code repositories, and post-training support.