Ultimate Service 3.0

13h 33m 5s
English
Paid

Course description

This updated course teaches you how to build production-level services in Go, leveraging the power of Kubernetes.

Read more about the course

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.

This class teaches how to build production-level services in Go with a focus on macro-level engineering decisions. From the beginning you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code.

Watch Online

This is a demo lesson (10:00 remaining)

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

View Pricing

Watch Online Ultimate Service 3.0

0:00
/
#1: 1.0 Intro

All Course Lessons (80)

#Lesson TitleDurationAccess
1
1.0 Intro Demo
00:31
2
1.1: Design Philosophy, Guidelines, What to Expect
02:36
3
1.2: Tooling to Install
04:54
4
2.0 Intro
00:49
5
2.1: Adding Dependencies
23:28
6
2.2: Module Mirrors
19:23
7
2.3: Checksum Database
05:18
8
2.4: Vendoring
05:28
9
2.5: MVS Algorithm
18:15
10
3.0 Intro
00:51
11
3.1: Tooling Installation
05:15
12
3.2: Understanding Clusters, Nodes and Pods
10:07
13
3.3: Write Basic Service for Testing
07:57
14
3.4.1: Docker Images
10:34
15
3.4.2: Kind Configuration
05:47
16
3.4.3: Core K8s Configuration
16:37
17
3.4.4: K8s Quotas / Patching
18:33
18
4.0 Intro
00:55
19
4.1: Project Layers, Policies, and Guidelines
18:14
20
4.2: Prepare Project
19:08
21
4.3: Logging Support
17:04
22
4.4: Configuration Support
21:33
23
4.5: Debugging / Metrics Support
22:28
24
4.6: Shutdown Signaling and Load Shedding
11:01
25
5.0 Intro
00:36
26
5.1: Basic Structure of an HTTP Router
11:26
27
5.2: Add a Readiness, Liveness and Test Handler
23:59
28
6.0 Intro
00:48
29
6.1: Custom Router
17:59
30
6.2: Custom Handler Function
12:31
31
6.3: Middleware Support
09:02
32
6.4: Sending Responses
05:11
33
7.0 Intro
01:01
34
7.1: Logging
13:56
35
7.2: Request Context
15:44
36
7.3.1: Understanding what Error Handling Means
04:54
37
7.3.2: Declaring Custom Error Types
16:48
38
7.3.3: Consistent Handling and Response
13:08
39
7.4: Panic Handling
09:06
40
7.5: Metrics
18:21
41
8.0 Intro
00:39
42
8.1: Understanding JWT
09:02
43
8.2: Private/Public Key Generation
12:16
44
8.3: Token Generation
21:21
45
8.4: Token Signature Validation
07:26
46
9.0 Intro
00:45
47
9.1: Auth Package
11:02
48
9.2: Implementation of an In-Memory Key Store
08:33
49
9.3: Middleware
13:52
50
9.4: Auth Unit Test
19:31
51
10.0 Intro
00:46
52
10.1: Kubernetes Support for Postgres
10:14
53
10.2: Using Sqlx
20:58
54
10.3: Update Readiness Handler to Perform DB Checks
05:49
55
11.0 Intro
00:46
56
11.1: Maintaining Database Schemas
16:03
57
11.2: Seeding Data
05:18
58
11.3: Init Containers
09:53
59
12.0 Intro
00:58
60
12.1: Design Philosophies, Policies, and Guidelines
11:46
61
12.2: User Data Models and API Precision
18:16
62
12.3: Data Model Validation
07:49
63
12.4: User CRUD Data Business Package APIs
26:34
64
12.5: User Core Business Package APIs
07:40
65
13.0 Intro
00:45
66
13.1: Support for Starting and Stopping Containers
13:56
67
13.2: Support for Starting and Stopping a Unit Test
10:36
68
13.3: Write User CRUD Data Unit Tests
11:50
69
14.0 Intro
00:44
70
14.1: Writing User Web Handlers
16:08
71
14.2: Support for Starting and Stopping an Integration Test
04:07
72
14.3: Write Integration Tests for Users
10:40
73
15.0 Intro
00:45
74
15.1: Integrate OTEL Web Handler into the Framework
11:43
75
15.2: Integrate OTEL into Service Startup
09:08
76
15.3: Add Zipkin into POD
10:51
77
15.4: Add Tracing Calls Inside Functions to Trace
08:30
78
16.0 Intro
00:37
79
16.1: Check For Dependcy Upgrades
07:00
80
16.2: Rebuild and Run the Project
07:12

Unlock unlimited learning

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

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Build SaaS apps in Go (2nd edition)

Build SaaS apps in Go (2nd edition)

Sources: Dominic St-Pierre
Learn how to build performant and maintainable API-first web server in Go. I put some emphasis and content regarding building a SaaS in Go. If you want to build
4 hours 30 minutes 22 seconds
Go in Practice, Second Edition

Go in Practice, Second Edition

Sources: Matt Butcher, Matt Farina, Nathan Kozyra
"Go in Practice: Second Edition" is a collection of recipes containing techniques and best practices for creating industrial-grade applications in Go.
Go Bootcamp: Master Golang with 1000+ Exercises and Projects

Go Bootcamp: Master Golang with 1000+ Exercises and Projects

Sources: udemy
Deeply understand and master the Go Programming Language (Golang) from scratch 1000+ hands-on exercises and projects.
15 hours 27 minutes 7 seconds
The complete guide to running Java in Docker and Kubernetes

The complete guide to running Java in Docker and Kubernetes

Sources: udemy
If you need to learn how to run, tune, and maintain JVM applications that run in Docker and/or Kubernetes then this is the course for you. This course is very different from oth...
4 hours 39 minutes 16 seconds
Mastering Kubernetes

Mastering Kubernetes

Sources: Amigoscode (Nelson Djalo)
Kubernetes is the world's most popular open-source container orchestration engine. It offers the ability to schedule and manage containers.
8 hours 38 minutes 39 seconds