Ultimate Go: Software Design with Kubernetes 2.0 is a 55-lesson 22 hours 32 minutes self-paced course by Ardan Labs. Bill Kennedy of Ardan Labs walks through building Go services the way they'd be built on a real team: starting from clear service boundaries and letting the shape of your data drive the design.
Course facts
Lessons
55
Duration
22 hours 32 minutes
Language
English
Added to CourseFlix
July 2025
Instructor
Ardan Labs
Price
Premium
Before you start
Is it still current?
No release date in the catalog; this is the 2.0 edition. Most of it ages slowly: project layers (lessons 3–5), the service on a local Kubernetes cluster (6–9), config, metrics and load shedding (13–15), a custom router and middleware (16–24), JWT auth checked with OPA (25–34), Postgres with migrations in init containers (37–42) and OTEL tracing (54). One detail changed: lesson 12 adjusts GOMAXPROCS to the pod's CPU quota. Since Go 1.25 the runtime does this by default on Linux from the cgroup CPU limit, and setting GOMAXPROCS by hand turns that default off.
What you end up with
One production-style Go service, grown from an empty project and run in Kubernetes: logging, error and panic handling, a key store and auth service, a user domain split into business, storage, app and API layers (lessons 43–46), tests against real database containers (47–51) and transactions (52–53).
Bill Kennedy of Ardan Labs walks through building Go services the way they'd be built on a real team: starting from clear service boundaries and letting the shape of your data drive the design.
Design Principles in Practice
Modeling domains in Go with explicit rules
Structuring code around how data actually flows through the system
Applying Domain-Driven Design and Data-Oriented Architecture to keep services simple and safe
Building endpoints that are easy to test
Shipping to Kubernetes
Every feature you write gets deployed to a live Kubernetes cluster as you go, so across the 55 lessons you also learn how pods, deployments, and services behave, plus how to read logs and debug issues once code is running. The full source code lives in a public repository for you to explore on your own. Basic Go knowledge and comfort with the command line are expected; some Docker experience helps but isn't required.
Who teaches Ultimate Go: Software Design with Kubernetes 2.0? Ardan Labs
Ardan Labs is a US training company founded by William Kennedy, focused almost entirely on Go (Golang) and the systems-engineering disciplines around it. Bill Kennedy is one of the most cited Go educators alive — co-author of Go in Action (Manning), maintainer of the Ardan Labs blog, and the lead instructor on a multi-track Go syllabus that runs from beginner through ultimate-Go advanced engineering.
The CourseFlix listing under this source carries nineteen Ardan Labs courses — covering Go language fundamentals, concurrency, advanced engineering patterns, Kubernetes (Bill teaches Go as the implementation language for cloud infrastructure), and the data-engineering / AI tracks Ardan added in recent years. Material is paid and aimed at engineers serious about Go as a career-defining language rather than as a syntax pickup.
What lessons are included in Ultimate Go: Software Design with Kubernetes 2.0?
This is a demo lesson (10:00 remaining)
Watch the first 10 minutes free. One payment unlocks all 55 lessons here and every other premium course. No auto-renew.
This course is designed with a lot of details, so that everyone, even with very little programming experience can understand and do it by themselves. I strongly
This is the follow up to "Let's Build a Go Version of Laravel," and is intended for students who have already taken that course! In the first part of this serie
Writing unit tests and integration tests is one of the most-neglected aspects of software development. All too often, a developer will find him or herself say "
This course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Archiecture deployed in Kubernetes.
Recording of live translation Ultimate Go Syntax LIVE (March 2020 year) using Zoom.
1h 48m
Frequently asked questions
What are the prerequisites for this course?
Prospective students should have a basic understanding of Go programming and be comfortable using the command line. While experience with Docker is beneficial, it is not a strict requirement for this course.
What type of projects will I build during the course?
You will build Go services with a focus on Domain Driven Design and Data Oriented Architecture. The course includes practical exercises such as creating Dockerfiles, deploying services to Kubernetes, and implementing features like JWT authentication and database connectivity using Postgres.
Who is the target audience for this course?
The course is aimed at software developers who have foundational Go knowledge and are interested in advancing their skills in service design and Kubernetes deployment. It is particularly useful for those looking to apply Domain Driven Design principles in a microservices architecture.
How does this course compare to other Go programming courses?
This course specifically focuses on integrating Go services with Kubernetes, using Domain Driven Design and Data Oriented Architecture. Unlike general Go programming courses, it emphasizes practical deployment skills and understanding how data flow shapes service design.
What specific tools or platforms will I learn to use?
You will learn to use Kubernetes for running and managing services, understand Docker for containerization, and apply tools like OpenTelemetry (OTEL) for project integration. The course also covers configuring and debugging using Kubernetes tools.
What topics are not covered in this course?
The course does not delve into the basics of Go programming or provide extensive coverage of Docker beyond its application in deploying Go services. It assumes you already have foundational knowledge in these areas.
What is the time commitment for completing this course?
The course consists of 55 lessons and includes coding exercises that you complete alongside the lessons. The exact time commitment can vary based on your pace and prior experience, but it is designed to be hands-on and thorough, requiring a significant investment of time to practice and understand the material.