“Go is not meant to innovate programming theory. It’s meant to innovate programming practice.” — Samuel Tesla
Of late we have seen many Biggies moving their existing enterprise applications from a more conventional programming language to Golang.
Biggies like Facebook, Twitter, YouTube, Apple, Dropbox, Docker, Uber, GitHub, Medium, etc use go lang.
This is the ‘Go’ lang Google trend. It is up, growing and consistent,
Biggies using ‘Go’ - Some examples below,
UBER - Geobase, one of the most recent Uber services written in Golang.
Google - Google uses Go for many internal projects. The service that runs dl.google.com — the source for Chrome, Earth, Android SDK, and other large Google downloads — has been rewritten in Go.
Twitter - 5 billion Twitter app sessions go through Go daily.
Medium - Their Neo4j database is managed by a service written in Go which they refer to as GoSocial.
Tweet credits: Patrick Reynolds
I think, Go suits DevOps very well, and if you see, many of the DevOps tools are written in Go.
Why GO?
Go, “the cloud programing language,” is the world’s single fastest-growing and fourth most popular software programming language, used by nearly two million developers (based on 2018 GitHub usage).
The whole world is talking about Go, so let’s Go…
As per 2019’s Dice Tech Salary Report - As seen in the figure below, Golanghas sky-rocketed being the highest paying job in the US market.
In a recent Stack Overflow Developer survey, Go stands on the 3rd position for highest paying programming languages.
If the above monetary factor didn’t convince you then I have something on how Go lang has changed people lives.
It is also said that a container that prints Hello World in python has an image size footprint of >200MB, while go is <200KB.
Also, In a StackOverflow developer survey, it was pretty clear that most of the DevOps folks liked to use ‘Go.’
I have some other solid facts too, take a look
Go enables you to write once and run anywhere if you target multi-platform, multi-architecture environments.
One of the best things in Go lang is the ease of cross-compiling code, allowing us to provide tools for other teams and developers to run them in different environments (laptops, ci/cd servers, docker/k8s, etc.).
Love the language from a performance perspective.
Go is a lightweight programming language. The thing we love most about Go is single binary for an entire project. Examples include Consul, Terraform, Vault, Prometheus, etc. They are all DevOps related tools.
One of the most prominent features of Go is that Google backs it just like k8s.
Big and successful companies use Go and have written a lot about their Golang usage success stories in their Engineering blogs. This I have already shared in the beginning.
Go Lang Resources:
Free book about Go programming language
This is a most popular repository list for Go sorted by the number of stars
A compilation of tutorial and talk presentations and videos from Gophercon 2018.
Go tutorials and courses for free
Go-perfbook: Best practices for writing high-performance Go code
BTW, GoCenter is a free, open source, and the world’s standard platform for Go packages that is provided for the broad Go community by JFrog.
What do you think? Go lang fits well in the DevOps ecosystem?
Let’s connect on Twitter and have a DevOps chat.
Top comments (3)
Awesome read, Im going to try it out
Learned a lot 🙏🏽
Hey Pavan, thanks for the article, really good resources for learning Go.