Skip to main content
CourseFlix

Ultimate Go: Software Design with Kubernetes 2.0

22h 32m 42s
English
Paid

This course shows you how to build Go services with Domain Driven Design and Data Oriented Architecture. You write code from the start as Bill Kennedy guides you through each design choice and step. You see how each part fits into a working service.

You also learn how to run and manage your service in Kubernetes. You deploy each feature as you build it. The full code lives in a public repo so you can review it and try new ideas on your own.

What You Learn

You learn how to design clear service boundaries. You build small parts that fit together. You see how data shapes your code and how to keep your service simple and safe.

  • Model domains in Go with clear rules.
  • Structure code around data flow.
  • Build endpoints that are easy to test.
  • Deploy and update services in Kubernetes.

How the Course Works

You code along with the lessons. Each step adds one new idea. This helps you see why each choice matters. You push new features to Kubernetes so you can watch them run.

Hands-On Practice

You write, run, and test Go code in small pieces. You check how each part behaves before you move on. This keeps the service easy to change.

Kubernetes Use

You deploy each change to a live cluster. You learn how pods, deployments, and services work. You also learn how to read logs and debug issues in the cluster.

What You Need

You should know the basics of Go. You should also know how to use the command line. Some experience with Docker helps but is not required.

Additional

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

About the Author: 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.

Watch Online 55 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: 1.1 Design Philosophy, Guidelines, What to Expect
All Course Lessons (55)
#Lesson TitleDurationAccess
1
1.1 Design Philosophy, Guidelines, What to Expect Demo
09:52
2
1.2 Tooling and Images to Install
10:44
3
2.1 Project Layers, Policies, and Guidelines
21:35
4
2.2 Prepare Project
06:04
5
2.3 Build Service with Logging
24:00
6
3.1 Clusters, Nodes, Pods
13:13
7
3.2 Start the Kubernetes Cluster
09:23
8
3.3 Create/Build Dockerfile for the Service
16:28
9
3.4 Create/Apply K8s Deployment for the Service
27:00
10
4.1 Understanding the Go Scheduler
20:04
11
4.2 Understanding CPU Quotas
12:01
12
4.3 Adding Quotas and Adjusting GOMAXPROCS
15:27
13
5.1 Configuration
24:04
14
5.2 Debugging / Metrics
22:40
15
5.3 Shutdown Signaling and Load Shedding
09:42
16
6.1 Basic Structure of an HTTP Router
21:47
17
6.2 Liveness and Readiness Handlers
11:13
18
6.3 Customize the Router
22:21
19
6.4 Middleware Support
07:50
20
6.5 Sending Responses
04:32
21
7.1 Logging
31:57
22
7.2 Error Handling
44:44
23
7.3 Panic Handling
14:53
24
7.4 Metrics
28:24
25
8.1 Understanding JWT
19:47
26
8.2 Private/Public Key Generation
09:04
27
8.3 Token Generation
15:11
28
8.4 Token Signature Validation with OPA
26:57
29
9.1 Key Store Package
09:39
30
10.1 Auth Package
45:07
31
10.2 Auth Unit Test
27:55
32
10.3 Add Middleware
35:43
33
10.4 Auth Service
50:55
34
10.5 Auth Client
51:10
35
11.1 Architecture Review
33:05
36
11.2 Data Flow Trust vs Non-Trust
15:42
37
12.1 Kubernetes Support for Postgres
16:58
38
12.2 Create Database Package
16:33
39
12.3 Update Readiness Handler to Perform DB Checks
33:28
40
13.1 Maintaining Database Schemas and Seeds
15:42
41
13.2 Admin Tooling and Init Containers to Automate Migrations
11:01
42
13.3 Code Cleanup and Changes
01:24:56
43
14.1 User Business Domain Support
01:06:00
44
14.2 User Storage Domain Support
27:44
45
14.3 User App Domain Support
01:03:03
46
14.4 User API Domain Support
27:43
47
15.1 Starting and Stopping Containers
16:33
48
15.2 Database Testing Support
15:37
49
15.3 Unit and API Testing Support
23:51
50
15.4 Write User Business Test
21:44
51
15.5 Write User API Tests
26:24
52
16.1 Delegate System
15:26
53
16.2 Transaction System
55:52
54
17.1 Integrate OTEL into the Project
19:21
55
18.1 Check For Dependency Upgrades, Rebuild, Run
24:33
Unlock unlimited learning

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

Learn more about subscription

Course content

55 lessons · 22h 32m 42s
Show all 55 lessons
  1. 1 1.1 Design Philosophy, Guidelines, What to Expect 09:52
  2. 2 1.2 Tooling and Images to Install 10:44
  3. 3 2.1 Project Layers, Policies, and Guidelines 21:35
  4. 4 2.2 Prepare Project 06:04
  5. 5 2.3 Build Service with Logging 24:00
  6. 6 3.1 Clusters, Nodes, Pods 13:13
  7. 7 3.2 Start the Kubernetes Cluster 09:23
  8. 8 3.3 Create/Build Dockerfile for the Service 16:28
  9. 9 3.4 Create/Apply K8s Deployment for the Service 27:00
  10. 10 4.1 Understanding the Go Scheduler 20:04
  11. 11 4.2 Understanding CPU Quotas 12:01
  12. 12 4.3 Adding Quotas and Adjusting GOMAXPROCS 15:27
  13. 13 5.1 Configuration 24:04
  14. 14 5.2 Debugging / Metrics 22:40
  15. 15 5.3 Shutdown Signaling and Load Shedding 09:42
  16. 16 6.1 Basic Structure of an HTTP Router 21:47
  17. 17 6.2 Liveness and Readiness Handlers 11:13
  18. 18 6.3 Customize the Router 22:21
  19. 19 6.4 Middleware Support 07:50
  20. 20 6.5 Sending Responses 04:32
  21. 21 7.1 Logging 31:57
  22. 22 7.2 Error Handling 44:44
  23. 23 7.3 Panic Handling 14:53
  24. 24 7.4 Metrics 28:24
  25. 25 8.1 Understanding JWT 19:47
  26. 26 8.2 Private/Public Key Generation 09:04
  27. 27 8.3 Token Generation 15:11
  28. 28 8.4 Token Signature Validation with OPA 26:57
  29. 29 9.1 Key Store Package 09:39
  30. 30 10.1 Auth Package 45:07
  31. 31 10.2 Auth Unit Test 27:55
  32. 32 10.3 Add Middleware 35:43
  33. 33 10.4 Auth Service 50:55
  34. 34 10.5 Auth Client 51:10
  35. 35 11.1 Architecture Review 33:05
  36. 36 11.2 Data Flow Trust vs Non-Trust 15:42
  37. 37 12.1 Kubernetes Support for Postgres 16:58
  38. 38 12.2 Create Database Package 16:33
  39. 39 12.3 Update Readiness Handler to Perform DB Checks 33:28
  40. 40 13.1 Maintaining Database Schemas and Seeds 15:42
  41. 41 13.2 Admin Tooling and Init Containers to Automate Migrations 11:01
  42. 42 13.3 Code Cleanup and Changes 01:24:56
  43. 43 14.1 User Business Domain Support 01:06:00
  44. 44 14.2 User Storage Domain Support 27:44
  45. 45 14.3 User App Domain Support 01:03:03
  46. 46 14.4 User API Domain Support 27:43
  47. 47 15.1 Starting and Stopping Containers 16:33
  48. 48 15.2 Database Testing Support 15:37
  49. 49 15.3 Unit and API Testing Support 23:51
  50. 50 15.4 Write User Business Test 21:44
  51. 51 15.5 Write User API Tests 26:24
  52. 52 16.1 Delegate System 15:26
  53. 53 16.2 Transaction System 55:52
  54. 54 17.1 Integrate OTEL into the Project 19:21
  55. 55 18.1 Check For Dependency Upgrades, Rebuild, Run 24:33

Related courses

  • Golang mini course for beginners thumbnail

    Golang mini course for beginners

    Sources: Anthony GG
    Golang mini course for beginners is a compact and comprehensible course for developers who are just beginning to get acquainted with the Go programming...
    2 hours 54 minutes 34 seconds 0 / 5
  • Go (Golang) Programming The Complete Go Bootcamp 2023 thumbnailFree

    Go (Golang) Programming The Complete Go Bootcamp 2023

    Sources: Udemy
    Fully updated for 2021. This Go Programming course covers every major topic, including Pointers, Methods, and Interfaces (Go OOP), Concurrency In-Depth…
    17 hours 49 minutes 29 seconds
  • Ultimate Go: Advanced Engineering thumbnail

    Ultimate Go: Advanced Engineering

    Sources: Ardan Labs
    Learn advanced Go concepts by building a reference implementation of a blockchain in Go!
    16 hours 20 minutes 42 seconds

Frequently asked questions

What is Ultimate Go: Software Design with Kubernetes 2.0 about?
This course shows you how to build Go services with Domain Driven Design and Data Oriented Architecture. You write code from the start as Bill Kennedy guides you through each design choice and step. You see how each part fits into a…
Who teaches Ultimate Go: Software Design with Kubernetes 2.0?
Ultimate Go: Software Design with Kubernetes 2.0 is taught by Ardan Labs. You can find more courses by this instructor on the corresponding source page.
How long is Ultimate Go: Software Design with Kubernetes 2.0?
Ultimate Go: Software Design with Kubernetes 2.0 contains 55 lessons with a total runtime of 22 hours 32 minutes. All lessons are available to watch online at your own pace.
Is Ultimate Go: Software Design with Kubernetes 2.0 free to watch?
Ultimate Go: Software Design with Kubernetes 2.0 is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Ultimate Go: Software Design with Kubernetes 2.0 online?
Ultimate Go: Software Design with Kubernetes 2.0 is available to watch online on CourseFlix at https://courseflix.net/course/ultimate-go-software-design-with-kubernetes-2-0. The page hosts every lesson with the integrated video player; no download is required.