Build Cloud Apps in Go

Everything you need to build reliable and fast cloud-native web apps.

Read about the course below, then start at the introduction.

Content

Build Cloud Apps in Go is a course where you learn to build reliable and fast cloud-native web apps. We will start from nothing and work our way to have everything you need for a modern cloud app.

You will learn by building an app called canvas, step-by-step. When you've finished the course, the app we've built together will be ready for your idea, like a blank canvas is ready to be painted on. You will have:

  • A web app with a frontend, deployed and running in the cloud
  • Server-side-rendered views built with HTML and TailwindCSS
  • A containerized app that's easy to maintain and scale, using Docker containers
  • A relational database for storage, using a Postgres SQL database
  • A job queue for your background jobs, using AWS SQS
  • Blob storage integration using S3
  • Full-text search for content search on your app
  • Transactional email for notifications to your users, with Postmark
  • Logging, monitoring, and alerting using Prometheus and Grafana
  • A testing suite that gives you confidence when making changes, but still lets you move fast
  • A test and deployment pipeline that makes it easy to get your changes out fast and safely
  • …and more

All code we write is production-ready and idiomatic. And it's not just about building the app, but how to keep it running as well.

If some of these words don't make sense to you yet, don't worry: I'll explain everything along the way.

The course was last updated in November 2022, and is still as useful as ever here in 2024. Fully compatible with Go 1.23!

Who is this for?

The course is for you if you

  • have some experience with Go already, or know another programming language enough to learn Go along the way
  • want to learn building cloud apps quickly and efficiently
  • are tired of subscriptions and just want to buy one course that you can access forever

Your teacher

Hey! My name is Markus. I'm your teacher in this course.

I've taught at university during my Master and PhD studies, both in lecture halls and in hands-on classrooms. You'll be in good hands with me. 😊

I never finished that PhD, because I found out my heart is with good software craftmanship, not academia. Besides building courses on this site, I'm a professional Go software consultant. I mainly build scalable cloud systems for clients big and small. Previously I've worked on Uber's storage infrastructure team with a lot of great software engineers. I also write open source software for Go, such as the popular gomponents view library.

On a more personal note, I live in Aarhus, Denmark, with my girlfriend and my two children. I'm an electronic musician and hardware synthesizer nerd, photographer, diver, happy yearly music festival guest, minimalist, and glitter enthusiast. My parents were and are both teachers, and I admire them for that, among many other things.

Table of content

Questions?

Get help at support@golang.dk.