This course is still being built. Content will change. Get updates on the mailing list.

Build Cloud Apps in Go

A complete course with everything you need to know to build reliable, scalable, fast web apps in Go that run in the cloud.

Sign up for free to get the full benefit of the course, including free 1-on-1 feedback on your answers to review questions! If you'd rather just check out the free part of course, read about it below and then Start at the introduction.


Build Cloud Apps in Go is a course about learning to build reliable, scalable, fast web apps in Go that run in the cloud. We will start from nothing and work our way to having everything you need for a modern cloud app.

You will learn step-by-step, by building an app called canvas. When you've finished the course, the app we have 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, stateless app that's easy to maintain and scale, using Docker containers
  • A relational database connection ready to use and evolve, using a Postgres SQL database
  • A job queue for your longer-running jobs, using AWS SQS
  • Blob storage integration using S3
  • Search integration for content search on your app
  • Transactional email for notifications to your users, with Postmark
  • Proper 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

We will keep a focus on writing production-ready code like an experienced programmer would (called idiomatic code) that's easy to read and maintain. 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.

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
  • want everything you need in one complete package (no tutorials from different websites or way too long videos)
  • 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. For more details, check my LinkedIn profile.

On a more personal note, I live in Aarhus, Denmark, with my girlfriend and my little son. I'm a wannabe 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

The course is a work-in-progress. The available sections so far are:


Get help on Twitter or by email.