5 Ways Gophers Get it Done with Open Source at Salesforce

Josh Simmons
Salesforce Engineering
2 min readJul 25, 2019

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):

  1. 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.
  2. 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.
  3. 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.
  4. Decimal. This library implements arbitrary precision, decimal floating-point numbers. Suffice it to say, this comes in handy a lot.
  5. Roaring Bitmaps. This library handles optimized bitset data structures and allows us to do high performance analytics query processing.

Want more Go? Check out the open source projects Salesforce has built in Go on GitHub.

--

--

Josh Simmons
Salesforce Engineering

Painfully earnest. Dusty foot philosopher, open source strategist, and web developer.