Ardan Labs Live
Four days of Go (golang) and Kubernetes training
01 - 04 November 2022
Utility Warehouse, 19 Eastbourne Terrace, London, W2 6LG
Join us in London for four days of Ultimate Go and Kubernetes workshops, in collaboration with Ardan Labs.
Each day features a different session, hosted by one of our two trainers. Sessions will run from 9am to 6pm, with a break for people to head offsite for lunch.
Date | Session title | Trainer | Level |
---|---|---|---|
Nov 1, 2022 | Hands-on Introduction to Kubernetes | David Flanagan | Beginner - Intermediate |
Nov 2, 2022 | Deploying Real World Applications to Kubernetes | David Flanagan | Intermediate - Advanced |
Nov 3 and 4, 2022 | Ultimate Go: Service with Kubernetes 3.0 | Bill Kennedy | Intermediate |
About the trainers
David Flanagan
David is a Kubernetes contributor, host of the Kubernetes Office Hours live stream, and Rawkode Academy’s education channel on YouTube. For nearly 20 years, David has been developing software professionally where he started with embedded systems written in C back in 2004. Since then he has spent time learning the paradigms of different programming languages, such as C++, PHP, Java, and Haskell. More recently David prefers to program in Go, Rust, and Pony.
Bill Kennedy
Bill is a managing partner at Ardan Labs in Miami, Florida, a group of passionate engineers, artists, and business professionals focused on building and delivering reliable, secure, and scalable solutions. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.
Session details
To read the course overview for each day please choose from the tabs below.
Hands-on Introduction to Kubernetes
Kubernetes, the flagship project from the Cloud Native Foundation, has become the de-facto standard for running our container workloads. Unfortunately, Kubernetes is a fast-moving, ever-evolving, sea of complexity. From Pods to Deployments, ConfigMaps to Secrets, and PersistantVolumeClaims to StatefulSets; this training will get you on-course.
In this full-day training class, David will walk you through a series of labs that will teach you everything you need to know to take your container-based application and deploy it as a self-healing, redundant and resilient application on top of Kubernetes.
What a student is expected to learn
- How Kubernetes Works
- Control Plane
- Controllers
- Kubernetes Primitives
- Deployments, Pods
- Services
- ConfigMaps, Secrets
- AutoScaling
- DaemonSets
- StatefulSets
Recommended Preparation
- Mac/Windows: Docker Desktop
- Linux: Docker Desktop, Minikube, or kind Sign up for a GitHub account, if you do not already have one Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
You’ll also learn how to enrich data by combining values from various sources. We’ll see why we prefer to have data in columnar format when doing analytics.
Pre-Install
- Please review this link for the tooling you should have installed before you come to class.
Install Requirements - Please make sure the following images have been pulled from DockerHub
- Nginx: latest, postgres:14-alpine, alpine:3.16
- For Docker Desktop, please ensure Kubernetes is enabled
Deploying Real World Applications to Kubernetes
Kubernetes, the flagship project from the Cloud Native Foundation, has become the de-facto standard for running our container workloads. Unfortunately, Kubernetes is a fast-moving, ever-evolving, sea of complexity. From Pods to Deployments, ConfigMaps to Secrets, and PersistantVolumeClaims to StatefulSets; this training will get you on-course.
In this full-day training class, David will walk you through a series of labs that will teach you everything you need to know to take your container-based application and deploy it as a self-healing, redundant and resilient application on top of Kubernetes.
What a student is expected to learn
Next Level Deployments:
- Affinities
- Taints
- Probes
- Resource Management
Deploying to Kubernetes with:
- Helm
- Kustomize
- CDK8s
Local Development with:
- Tilt
- Skaffold
Recommended Preparation
- Mac/Windows: Docker Desktop
- Linux: Docker Desktop, Minikube, or kind
- Sign up for a GitHub account, if you do not already have one
- Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
Pre-Install
- Please make sure the following images have been pulled from DockerHub: Nginx: latest, postgres:14-alpine, alpine:3.16
- For Docker Desktop, please ensure Kubernetes is enabled
Ultimate Go: Service with Kubernetes 3.0
This class teaches how to build production-level services in Go with a focus on macro-level engineering decisions. 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, you will learn more about the transition from programming to engineering and the points of refactoring required to write production-level applications. Throughout the class, Go modules and Kubernetes will be a focus. Everyone will be making better engineering decisions after this class.
What a student is expected to learn
- Service Design and Engineering
- Web Design and Engineering
- Go Modules
- Project Setup and Structure
- Kubernetes For Developers
- Logging and Configuration
- Web Framework with Middleware
- Error Handling
- JSON Web Tokens
- Authentication / Authorisation
- Database Support
- Database Migrations and Seeding
- Business Packages
- REST API
- Open Telemetry
Recommended Preparation
- Install and configure an editor for Go
- Have a functioning Go environment installed with Go 1.18 or later
- Sign up for a GitHub account, if you do not already have one
- Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
Pre-Install
Please review this link for the tooling you should have installed before you come to class.
See RequirementsPlease make sure the following images have been pulled from DockerHubgolang:1.19, postgres:14-alpine, alpine:3.16, kindest/node:v1.24.0
Ultimate Go: Advanced Engineering
Learn advanced Go concepts by building a reference implementation of a blockchain in Go. The goal of this full-day workshop is to share how to code complex engineering tasks required to build a blockchain technology. From the beginning, you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code. Throughout the class, you will learn more about Go and the advanced engineering features of the language. Check out the Ardan blockchain project on GitHub.
What a student is expected to learn
- Service Design and Engineering
- Digital accounts with electronic signatures and verification
- Transaction distribution and synchronization between computers
- Redundant storage of a single ledger on different computers
- Consensus by different computers to process and store new transactions
- Detection of any forgery of past transactions
This course in full takes 20 hours to complete. We will attempt to cover as much of the material listed above in the 7 hours we have together. After the class, if you are interested, there are options so you can access the full course.
Suggested Reading
- Blockchain In Go: Part I: Digital Accounts, Signatures and Verification
- Blockchain In Go: Part II:Blockchain In Go: Part II: Transaction Distribution and Synchronization
- Blockchain In Go: Part III: Redundant Storage And Consensus
- Blockchain In Go: Part IV: Fraud Detection
- Practical Uses Of Blockchain Technology
Pre-Install
- Install and configure an editor for Go
- Have a functioning Go environment installed with Go 1.18 or later
- Sign up for a GitHub account, if you do not already have one
- Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
Tickets
Buy TicketsTraining 5 or more people?
If you have a team of five or more engineers that could benefit from our developer training courses we can offer customised training tailored specifically to your team and business needs.
Find out more