Extremely well organized and high value
The course is extremely well organized and the pace is also very conducive to the learning process. The exercises are very well organized. Delivered very high value.
Cisco


Jun 10th, 2024
11:00AM - 4:00PM EST
Remote
This course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Architecture deployed in Encore.
Price: $300 - $595
Enroll NowWhen: June 10th - 14th, 2024
Schedule: 5 Days/ 5 Hours, from 11am to 4pm EST (GTM - 5)
Where: Online - Zoom Meeting
We have a special offer running for this training: GET 2 TICKETS for the PRICE OF 1
Ticket Prices:
NOTE: If you want a 2x1 ticket but don’t have someone, send us an email, and we will pair you for the reduced price.
Description: This course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Architecture deployed in Encore. 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.
For further class information, please see the class schedule or review the self-study options.
Introduction to the class and all the engineering that you will learn.
We begin to build the service with a focus on the ability to deploy the service in Kuberenetes.
We finish the initial startup and shutdown of the service.
We add middleware functions for business-level logic that needs to be injected into the processing of requests.
We gain an understanding of how JWT’s work and their shortcomings. We also learn about OPA and how we will use it to perform the actual authentication and authorization.
We create add a secret for the private key.
We integrate authentication and authorization support into the project by developing a packages to generate and validate tokens. Then we integrate the packages into the application and test things are working.
We talk about the data driven data oriented architecture that is implemented in the project. We discuss the design philosophy, guidelines, and semantics of how the three layers of App, Business, and Storage work together.
We add a Postgres database to our Encore environment. Then we write a small database package that provides support for using the SQLx package more effectively. Finally, integrate the database package on application startup.
We define our schema and provide support for migration schema changes over time. We also provide support for seeding the database. Finally, we add support in Encore to run the migration and seeding on POD startup.
We implement the User domain inside the App, Business, and Storage layers.
We add docker and unit testing support for writing tests against a real database and write the actual user package tests.
We talk about how the delegate and transaction systems work.
Review service project and get it running
It is expected that you have been coding in Go for several months.
A working Go environment running on the device you will be bringing to class.
Please clone the main repo for the class.
Please read the instructions in the makefile for installing everything before coming to class.
Please email the instructor, Bill Kennedy, for assistance.
Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
Where ideas get tested and shared. From the Lab is your inside look at the tools, thinking, and tech powering our work in Go, Rust, and Kubernetes. Discover our technical blogs, engineering insights, and YouTube videos created to support the developer community.
Explore our content:
Updated on

Miki Tebeka
Updated on

Ardan Labs

Jul 30, 2025 | Watch AI Agents with Kenneth Stott

Ardan Labs