loading...
Cover image for Go Lang & DevOps - A Match Made In Heaven?

Go Lang & DevOps - A Match Made In Heaven?

pavanbelagatti profile image Pavan Belagatti Updated on ・3 min read

“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,

'Go' Google trend

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
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.

Go lang salary report

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.


Reddit discussion thread

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

  1. Go enables you to write once and run anywhere if you target multi-platform, multi-architecture environments.

  2. 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.).

  3. Love the language from a performance perspective.

  4. 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.

  5. One of the most prominent features of Go is that Google backs it just like k8s.


Tweet Credits:Dave Cheney

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

Go Cheat Sheet

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.

The Go Programming Language

Go tutorials and courses for free

For new Go programmers

Go by Example

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.

Posted on by:

Discussion

markdown guide
 

Awesome read, Im going to try it out

 

Hey Pavan, thanks for the article, really good resources for learning Go.