Go for DevOps Engineers

A comprehensive course designed for DevOps engineers to master Go programming for infrastructure automation and tooling.

Go Fundamentals: Data Types and Control Flow

Unit 1: Basic Data Types and Variables

Unit 2: Control Flow Statements

Unit 3: Composite Data Types

Unit 4: Maps and Range Loops

Functions, Packages, and Modules

Unit 1: Functions in Go

Unit 2: Variadic Functions and Custom Packages

Unit 3: Go Modules and Dependency Management

Error Handling in Go

Unit 1: Understanding Go Errors

Unit 2: Custom Errors and Defer

Unit 3: Panic, Recover, and Named Returns

Concurrency with Goroutines and Channels

Unit 1: Goroutines: The Foundation of Concurrency

Unit 2: Channels: Communication is Key

Unit 3: Advanced Concurrency Patterns

Building Command-Line Applications

Unit 1: Command-Line Basics

Unit 2: Working with Flags

Unit 3: Input/Output and Subcommands

Unit 4: Building and Distributing

Working with APIs and JSON Data

Unit 1: Making HTTP Requests

Unit 2: Handling HTTP Responses

Unit 3: Working with JSON Data

Unit 4: Inspecting JSON with jq

Automating Infrastructure Tasks with Go

Unit 1: Cloud Provider API Interactions

Unit 2: Automating Infrastructure Tasks

Unit 3: Health Checks, Monitoring, and Deployments

Testing and Benchmarking Go Code

Unit 1: Introduction to Testing in Go

Unit 2: Advanced Testing Techniques

Unit 3: Benchmarking and Profiling

Advanced Concurrency Patterns

Unit 1: Fan-In, Fan-Out Concurrency

Unit 2: Pipelines and Context Management

Unit 3: Rate Limiting and Sync Package

Building gRPC Microservices

Unit 1: Introduction to gRPC and Protocol Buffers

Unit 2: Implementing gRPC Servers and Clients

Unit 3: Advanced gRPC Features

DevOps Tooling with Go: Building a Custom CLI

Unit 1: CLI Tool Design and Setup

Unit 2: Implementing Core Functionality

Unit 3: Testing, Packaging, and Distribution