Evan Fuller is a senior software engineer at Nightfall AI, a startup that identifies and classifies sensitive information in your data. Over the past three years, he has used Go to build Nightfall’s customer-facing API, while also contributing to the company’s Go library toolkit and several other customer-facing products. Previously, he worked as an engineer at AppDynamics, implementing tracing in serverless environments.
Over the Wire: Building Service Communication Libraries
Choosing the right tool for a job can be one of the most difficult and impactful decisions when building a new product or service. When it comes to communication in a distributed system, the options for transport are plentiful, but what should you consider while evaluating them? At Nightfall, we have spent considerable time researching and experimenting with different technologies, including REST, gRPC, Temporal, and Kafka. Over the past several years, we have codified our learnings into a library toolkit for the organization so that our engineers can spin up a new service, or communicate with existing ones with ease.
In this session, we’ll begin with an introduction to the various communications patterns we run in production at Nightfall, as well as their canonical strengths and weaknesses. We’ll follow up by doing a deep dive into each one, where we’ll describe how we have been able to leverage Go language abstractions and patterns to build robust, modular libraries for our org.