Scaling Coffee with goroutines

A step by step guide for introducing concurrency into an application by using goroutines and spinning out multiple deployments. Shown through the lens of how a coffee shop goes from tiny one person operation to a huge conglomerate. Friendly for all levels of programming and Go experience.

Golab #2
60 min
November 21st, 2023


Goroutines are a powerful tool in Go, yet often under utilised in most backend API development. It’s helpful to view them in a real world analogy, so we take a coffee shop example, and build it up from zero to an app that can handle 100x traffic. Code examples provided for anyone who wants to follow along in real time.

Here’s how it’ll “Go”:

- A simple application with no concurrency
- Identifying areas to split out to add concurrency
- Goroutines within goroutines?
- Deployment scaling (with a small side of Docker + Kubernetes info)
- Getting clever with specific goroutine deployments
- Case study of real world technical example

I come from a non-traditional tech background and so my talk really aims to be accessible to folks who are new to Go, but is relevant for anyone building out apps with Go who need to scale. I use the coffee shop analogy to really hit home a less “techy” example that is often easier to grasp than the heavier technical concepts while still translating to impressive techniques used to combine goroutines with deployments for a robust application.

Stay connected

You can subscribe to our newsletter to stay updated on the latest news and announcements. Follow us on social media to join our community and engage with other attendees, speakers, and staff. We're on Twitter, Mastodon, Youtube and Facebook. Don't forget to use our official hashtag #GoLab2023 to share your experience and connect with other attendees on social media.

Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2023 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS