Jump to ratings and reviews
Rate this book

Build an Orchestrator in Go

Rate this book
Understand Kubernetes and other orchestration systems deeply by building your own using Go and the Docker API.

In Build an Orchestrator in Go (From Scratch) you will learn how


Orchestration systems like Kubernetes coordinate other software subsystems and services to create a complete organized system. Although orchestration tools have a reputation for complexity, they’re designed around few important patterns that apply across many aspects of software development. Build an Orchestrator in Go (From Scratch) reveals the inner workings of orchestration frameworks by guiding you as you design and implement your own using the Go SDK. As you create your own orchestration framework, you’ll improve your understanding of Kubernetes and its role in distributed system design. You’ll also build the skills required to design custom orchestration solutions for those times when an out-of-the-box solution isn’t a good fit.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology

Orchestration systems provide the management framework for software and infrastructure that’s distributed across multiple machines and services. By managing the many individual components and containers in a large application, they ensure web apps are resilient and reliable, automatically switching between resources in response to crashes and outages. A properly designed orchestration system can seamlessly scale to handle traffic loads, and reduce time-consuming manual work for sysadmin and site reliability engineers.

About the book

Build an Orchestrator in Go (From Scratch) teaches you to implement an orchestrator from scratch. You’ll discover the components that make up all orchestration systems, and use the Docker API and Go SDK to build layers of functionality from tasks, to workers, to the manager. Learn how to save on costs by maximising the usage of a cluster, or spread tasks among workers to avoid overload and downtime. Once you’ve built your working system, you’ll even implement a command line user interface to easily manage your orchestrator.

About the reader

For software engineers, operations professionals, and SREs who are familiar with Docker and the basics of Go.

About the author

Tim Boring is a staff engineer at Golioth. He has twenty years of experience in technology organizations ranging from small business to global enterprises. His career spans roles in technical support to site reliability and software engineering. Tim is most interested in the design of software systems and distributed systems in particular.

288 pages, Paperback

Published April 30, 2024

8 people are currently reading
48 people want to read

About the author

Tim Boring

1 book2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (12%)
4 stars
9 (56%)
3 stars
4 (25%)
2 stars
1 (6%)
1 star
0 (0%)
Displaying 1 - 5 of 5 reviews
Profile Image for Kaustubh J.
29 reviews
January 17, 2025
Good introduction for anyone wishing to dive into orchestrator systems. It helps if you have some knowledge of existing orch systems (k8s for example)

If you are using macos utilze the gofsutils library for your metrics work
43 reviews
March 16, 2024
Note, this review refers to the MEAP version of the book. Some of the issues mentioned may be corrected in the final print version.

Build an Orchestrator in Go walks you through a project where you build a relatively simple orchestrator in Go. The project is enjoyable enough, but within the MEAP version of the book there are a number of places where the book references methods or types which have never been previously introduced. While this is not a major issue, it does cause some minor frustrations and detracts from the enjoyment of going through the project.

Additionally, the method of collecting stats assumes that you are using a Linux machine, which means there was a whole chapter and half of the book where non-Linux users essentially just have to skip over. I think this is a slightly bigger issue which probably deserves some attention.

Additionally, some of the polishing of the project (Cobra command line/bolt persistence layer) towards the end of the book seemed needlessly repetitive without introducing any new features, and is something which could have been left to readers to do should they have been interested in expanding the projects functionality.
Profile Image for Krystian.
11 reviews
August 3, 2024
Enjoyable, simple guide on building your own orchestrator.
What I missed was more focus on failure scenarios. They were mentioned only briefly and I'd love a chapter or two about mitigating failures.
One thing worth noting: don't get discouraged if you don't have Linux at hand. It's mentioned several times in prerequisites, but you're not really losing much if you proceed without it. You'll need to mock it when you get to the E-PVM scheduler, but that's about it. Still worth it if you're on Windows/Mac.
Profile Image for Andres Sacco.
28 reviews6 followers
April 30, 2024
I like the way that the author tackles how to build an orchestrator, understanding the different concepts at the same time.
Profile Image for Suraj Sharma.
14 reviews1 follower
February 19, 2025
Better than building a new netstat or packet sniffer, thoroughly enjoyable pace, kudos!
Displaying 1 - 5 of 5 reviews

Can't find what you're looking for?

Get help and learn more about the design.