Skip to main content
CF

Ultimate Go: Software Design with Kubernetes

18h 2m 48s
English
Paid

Ultimate Go: Software Design with Kubernetes is a 24-lesson 18 hours 2 minutes self-paced course by Ardan Labs. 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.

Course facts

Lessons
24
Duration
18 hours 2 minutes
Level
All levels
Language
English
Updated
Instructor
Ardan Labs
Price
Premium

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. From the beginning of the course, you will pair-program with your instructor Bill Kennedy as he walks you through the design philosophies, architectural decisions, and best practices as they apply to engineering a production-ready Go service.

With each new feature that is added to the service, you will learn how to deploy and manage the Kubernetes environment used to run the service. Throughout the class, the code being worked on is pushed to a repository for personal access and review.

Additional

https://github.com/ardanlabs/service5-video

Who teaches Ultimate Go: Software Design with Kubernetes? Ardan Labs

Ardan Labs thumbnail

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?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 24 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Day 1, Part 1 - Getting Prepared
All Course Lessons (24)
#Lesson TitleDurationAccess
1
Day 1, Part 1 - Getting Prepared Demo
20:19
2
Day 1, Part 2 - Base Design Philosophies / Project Structure
36:50
3
Day 1, Part 2 - Starting Project / Logging / Package Oriented Design
39:06
4
Day 1, Part 3 - Logging / K8s Semantics / Running Cluster / Docker
52:55
5
Day 1, Part 4 - K8s Deployment / Go Scheduler
47:21
6
Day 1, Part 5 - K8s Quotas and Performance
33:40
7
Day 2, Part 1 - Service Startup/Shutdown / Configuration / Debug Endpoints
55:02
8
Day 2, Part 2 - Load Shedding / Routing
34:45
9
Day 2, Part 3 - Handler Support / Web Framework / Logging Middleware
55:19
10
Day 2, Part 4 - Logging Middleware / Error Handling
46:34
11
Day 2, Part 5 - Error, Panics, and Metrics Middleware
37:17
12
Day 3, Part 1 - JSON Web Tokens
48:29
13
Day 3, Part 2 - Open Policy Agent / Authentication / Authorization
49:51
14
Day 3, Part 3 - Key Store / Auth Middleware
36:33
15
Day 3, Part 4 - Liveness-Readiness Probes / Domain Oriented Data Driven Design (DODDD)
53:03
16
Day 3, Part 5 - DODDD Semantics
39:55
17
Day 4, Part 1 - DODDD Implementation (Business)
01:04:40
18
Day 4, Part 2 - DODDD Implementation (Storage)
32:32
19
Day 4, Part 3 - DODDD Implementation (Migration)
41:56
20
Day 4, Part 4 - DODDD Implementation (Storage/Application)
48:31
21
Day 4, Part 5 - DODDD Implementation (Testing)
50:46
22
Day 5, Part 1 - Application Layer Testing / Query , Ordering, and Filtering
57:08
23
Day 5, Part 2 - Application Layer Testing
36:13
24
Day 5, Part 3 - Transactions / Observability
01:04:03
Unlock unlimited learning

Get instant access to all 23 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Ultimate Go: Software Design with Kubernetes?

Frequently asked questions

What prerequisites are needed for this course?
Prospective students should have a solid understanding of Go programming, including experience with package-oriented design. Familiarity with Docker and basic Kubernetes concepts will be beneficial, as the course involves deploying services in a Kubernetes environment. Prior experience with service architecture and design philosophies would also help in grasping the course content more effectively.
What will I build during the course?
Students will build a production-level Go service using a Domain Driven, Data Oriented Architecture. The service will incorporate various features such as logging, error handling, JSON Web Tokens for authentication, and support for Open Policy Agent for authorization. The code developed during the course will be pushed to a repository for personal access and review.
Who is the target audience for this course?
The course is designed for Go developers who are looking to advance their skills in software design and service deployment using Kubernetes. It's particularly suited for those interested in understanding how to engineer production-ready Go services and manage them in a Kubernetes environment.
How does the course compare to other Go programming courses?
Unlike introductory Go programming courses, this course focuses on building production-level services with an emphasis on Domain Driven, Data Oriented Architecture. It also provides practical insights into deploying and managing services in Kubernetes, making it more suited for developers aiming to work on complex, scalable applications.
What specific tools and platforms are covered in the course?
The course covers various tools and platforms, including Docker for containerization, Kubernetes for deployment and management of services, and Open Policy Agent for implementing authentication and authorization. Students will also engage with Go's logging and error handling frameworks, as well as JSON Web Tokens for secure communications.
What topics are not covered in this course?
The course does not cover the basics of Go programming, so students are expected to be proficient in the language before enrolling. Additionally, it does not delve into the detailed configuration of Kubernetes beyond what is necessary to deploy and manage the services developed during the course.
How much time should I expect to commit to this course?
The course consists of 24 lessons. Although the total runtime is not specified, students should allocate sufficient time for both viewing the lessons and engaging in pair-programming exercises. Given the course's practical nature, additional time may be required to review the code repository and practice deploying services in Kubernetes.