This post was written by Josh Simmons and originally published at engineering.salesforce.com.
The Go programming language, or Golang, is a small, clean, fast, efficient, and opinionated programming language. As a highly performant language, it lends itself to applications within operations and infrastructure… which just so happens to be where you’ll find a lot of it at Salesforce! There’s also a lot of Go to be found behind Heroku and Einstein Analytics.
Here are 5 open source projects written in Go that we use (and contribute to):
- Kubernetes and Knative. OK, so really we’re talking about 6 projects — but these two go hand-in-hand! We use Kubernetes (K8s) for container orchestration along with Knative to abstract away many of the complexities of working with K8s.
- Docker. Containers, containers, containers! Of course we use Docker. Depending on which part of Salesforce we’re talking about, we’re either in the process of shifting to a microservices-heavy architecture, or the service has always (for some value of always) been that way. Either way, containers are a nice fit for that kind of architecture.
- OpenCensus. We run a tight ship and have Service Level Agreements (SLAs) to uphold — so it’s important that we have visibility into how our services are performing. OpenCensus, a set of lightweight libraries for collecting application metrics and distributed traces, lets us know when things aren’t behaving as expected.
- Decimal. This library implements arbitrary precision, decimal floating-point numbers. Suffice it to say, this comes in handy a lot.
- Roaring Bitmaps. Working with images can be expensive in terms of storage and computation. Roaring Bitmaps is a library you’ll find in many of our dependency graphs.
Want more Go? Check out the open source projects Salesforce has built in Go on GitHub.
Top comments (0)