Ultimate Service 3.0

Ultimate Service 3.0

English | MP4 | AVC 3840×2160 | AAC 44KHz 2ch | 80 Lessons (13h 33m) | 10.8 GB

Ultimate Service With Kubernetes

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.

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.

Table of Contents

1.0 Intro
1.1: Design Philosophy, Guidelines, What to Expect
1.2: Tooling to Install
2.0 Intro
2.1: Adding Dependencies
2.2: Module Mirrors
2.3: Checksum Database
2.4: Vendoring
2.5: MVS Algorithm
3.0 Intro
3.1: Tooling Installation
3.2: Understanding Clusters, Nodes and Pods
3.3: Write Basic Service for Testing
3.4.1: Docker Images
3.4.2: Kind Configuration
3.4.3: Core K8s Configuration
3.4.4: K8s Quotas / Patching
4.0 Intro
4.1: Project Layers, Policies, and Guidelines
4.2: Prepare Project
4.3: Logging Support
4.4: Configuration Support
4.5: Debugging / Metrics Support
4.6: Shutdown Signaling and Load Shedding
5.0 Intro
5.1: Basic Structure of an HTTP Router
5.2: Add a Readiness, Liveness and Test Handler
6.0 Intro
6.1: Custom Router
6.2: Custom Handler Function
6.3: Middleware Support
6.4: Sending Responses
7.0 Intro
7.1: Logging
7.2: Request Context
7.3.1: Understanding what Error Handling Means
7.3.2: Declaring Custom Error Types
7.3.3: Consistent Handling and Response
7.4: Panic Handling
7.5: Metrics
8.0 Intro
8.1: Understanding JWT
8.2: Private/Public Key Generation
8.3: Token Generation
8.4: Token Signature Validation
9.0 Intro
9.1: Auth Package
9.2: Implementation of an In-Memory Key Store
9.3: Middleware
9.4: Auth Unit Test
10.0 Intro
10.1: Kubernetes Support for Postgres
10.2: Using Sqlx
10.3: Update Readiness Handler to Perform DB Checks
11.0 Intro
11.1: Maintaining Database Schemas
11.2: Seeding Data
11.3: Init Containers
12.0 Intro
12.1: Design Philosophies, Policies, and Guidelines
12.2: User Data Models and API Precision
12.3: Data Model Validation
12.4: User CRUD Data Business Package APIs
12.5: User Core Business Package APIs
13.0 Intro
13.1: Support for Starting and Stopping Containers
13.2: Support for Starting and Stopping a Unit Test
13.3: Write User CRUD Data Unit Tests
14.0 Intro
14.1: Writing User Web Handlers
14.2: Support for Starting and Stopping an Integration Test
14.3: Write Integration Tests for Users
15.0 Intro
15.1: Integrate OTEL Web Handler into the Framework
15.2: Integrate OTEL into Service Startup
15.3: Add Zipkin into POD
15.4: Add Tracing Calls Inside Functions to Trace
16.0 Intro
16.1: Check For Dependcy Upgrades
16.2: Rebuild and Run the Project