Abstract
What is Service Weaver: Service Weaver is a programming framework that makes it easy to write, deploy, and manage distributed applications written in Go. With Service Weaver, you write your application as a modular monolith and compile it into a single binary. The Service Weaver runtime then splits the binary and deploys it as a set of distributed services. This programming model enables you to focus on what your code does without worrying so much about where it runs. You can deploy your application across multiple execution environments, locally on your laptop, across a pool of machines via SSH, or in any cloud! Additionally, the Service Weaver runtime can reduce infrastructure costs and improve application latency by several orders of magnitude compared to the status quo. These metrics that are of real concern in the industry lately (https://tinyurl.com/4uk49dwx).
Workshop Description: This class teaches how to build distributed applications in Go with Service Weaver. At the beginning of the class, the instructor will walk you through the motivation behind Service Weaver and introduce you to the core abstractions that you need to know in order to develop a Service Weaver application. In the second part of the class, we will develop, instrument, test, and debug an emoji search engine application that will run in the cloud.
What a student is expected to learn
- How to develop a Service Weaver application.
- How to add instrumentation (e.g., logs, metrics, traces) to the application.
- How to debug, monitor, and test the application.
Recommended Preparations
- Please bring a Linux or macOS laptop with Go version 1.20 or later installed.
- Please prepare your development environment to write Go programs.