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: ardanlabs.com

ardanlabs.com thumbnail
A group of passionate engineers and business professionals focused on solving our client’s problems based on core engineering values and community involvement. To be known as a premier software engineering firm that delivers great value to our customers at every engagement. At Ardan Labs, we strongly believe in our core values of Reliability, Integrity, Transparency and Simplicity. They serve as our modus operandi in everything we do.

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