Ultimate Service

With Kubernetes

Intermediate | 9+HR

This course takes a step-by-step approach to building production-level services in Go with a focus on macro-level engineering decisions. Perfect for anyone looking to build fast, scalable, and highly concurrent web services in Golang.

This course is part of the Ultimate Go Track.

Not sold separately. View our pricing below.

Course Introduction

From the beginning you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code. With each new feature, you will learn more about the transition from programming to engineering and the points of refactoring required to write production-level applications.

The class goes beyond just the use of the http package and focuses on building CRUD based services with logging, observability, and debugging. You’ll also learn about POD architectures, Docker and cloud deployment.


Check out our web service starter kit on GitHub.
Interested in team training? Request information
Have a question? FAQ

Pricing

$699

This course is part of the Ultimate Go Track. Not sold separately.

Requirements:

  • Studied CS in school or has a minimum of two years of experience programming full time professionally.
  • Familiar with structural and object oriented programming styles.
  • Has worked with arrays, lists, queues and stacks.
  • Understands processes, threads and synchronization at a high level.

Operating Systems

  • Has worked with a command shell.
  • Knows how to maneuver around the file system.
  • Understands what environment variables are.

Course Outline

1.0 Intro

01:00

1.1 Design Philosophy, Guidelines, What to Expect

03:00

1.2 Tooling to Install

05:00

2.0 Intro

01:00

2.1 Adding Dependencies

23:00

2.2 Module Mirrors

19:00

2.3 Checksum Database

05:00

2.4 Vendoring

05:00

2.5 MVS Algorithm

18:00

3.0 Intro

01:00

3.1 Tooling Installation

05:00

3.2 Understanding Clusters, Nodes & Pods

10:00

3.3 Write Basic Service for Testing

08:00

3.4 Zarf Layer

11:00

3.4.2 Kind Configuration

06:00

3.4.3 Core K8s Configuration

17:00

3.4.4 K8s Quotas / Patching

19:00

4.0 Intro

01:00

4.1 Project Layers, Policies, and Guidelines

18:00

4.2 Prepare Project

19:00

4.3 Logging Support

17:00

4.4 Configuration Support

22:00

4.5 Debugging / Metrics Support

22:00

4.6 Shutdown Signaling & Load Shedding

11:00

5.0 Intro

01:00

5.1 Basic Structure of an HTTP Router

11:00

5.2 Add a Readiness, Liveness & Test Handler

24:00

6.0 Intro

01:00

6.1 Custom Router

18:00

6.2 Custom Handler Function

13:00

6.3 Middleware Support

09:00

6.4 Sending Responses

05:00

7.0 Intro

01:00

7.1 Logging

14:00

7.2 Request Context

16:00

7.3.1 Understanding what Error Handling Means

15:00

7.3.2 Declaring Custom Error Types

17:00

7.3.3 Consistent Handling & Response

13:00

7.4 Panic Handling

09:00

7.5 Metrics

18:00

8.0 Intro

01:00

8.1 Understanding JWT

09:00

8.2 Private/Public Key Generation

12:00

8.3 Token Generation

21:00

8.4 Token Signature Validation

07:00

9.0 Intro

01:00

9.1 Auth Package

11:00

9.2 Implementation of an In-Memory Key Store

09:00

9.3 Middleware

14:00

9.4 Auth Unit Test

20:00

10.0 Intro

01:00

10.1 Kubernetes Support for Postgres

10:00

10.2 Using Sqlx

01:00

10.3 Update Readiness Handler to Perform DB Checks

06:00

11.0 Intro

01:00

11.1 Maintaining Database Schemas

16:00

11.2 Seeding Data

05:00

11.3 Init Containers

10:00

12.0 Intro

01:00

12.1 Design Philosophies, Policies, & Guidelines

12:00

12.2 User Data Models & API Precision

18:00

12.3 Data Model Validation

08:00

12.4 User CRUD Data Business Package APIs

27:00

12.5 User Core Business Package APIs

08:00

13.0 Intro

01:00

13.1 Support for Starting and Stopping Containers

14:00

13.2 Support for Starting & Stopping a Unit Test

11:00

13.3 Write User CRUD Data Unit Tests

12:00

14.0 Intro

01:00

14.1 Writing User Web Handlers

14:00

14.2 Support for Starting & Stopping an Integration Test

04:00

14.3 Write Integration Tests for Users

11:00

15.0 Intro

01:00

15.1 Integrate OTEL Web Handler into the Framework

12:00

15.2 Integrate OTEL into Service Startup

09:00

15.3 Add Zipkin into POD

11:00

15.4 Add Tracing Calls Inside Functions to Trace

08:00

16.0 Intro

01:00

16.1 Check For Dependency Upgrades

07:00

16.2 Rebuild and Run the Project

07:00

Ready to get started?

Other Courses

FAQ

The Ultimate Go Bundle includes all of the following courses:

  • Ultimate Service
  • Ultimate Go
  • Refactoring With Bill
  • Ultimate Syntax
  • Ultimate Go Notebook

The High-Performance bundle includes all of the courses listed above.

Note: This includes any new courses added during your subscription year.

No, courses are only available as part of a bundle. These courses are designed to sync up with the other courses included in the bundle to give you the best possible experience.
Your subscription is yearly based. You will have a full year to view any of the courses in your bundle along with any new ones released during your subscription year.
You are able to view any course, any chapter or any lesson you want in whatever order you want. These courses are designed to compliment each other but if you feel comfortable with a particular lesson you are able to skip ahead.
Yes! All of our courses come with a Certificate of Completion that you will receive at the end / completion of each of the courses.

Trusted by companies of all sizes

Let’s start a conversation

Reach out and let us know what you are interested in.