New Super Fast Droplet Console. Thanks, Golang!

DigitalOcean

Posted: April 24, 20142 min read
<- Back to Blog Home

Share

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!Sign up

**We think Go is awesome! **A year ago we started looking into Go as a potential language to standardize our backend around. Since then we’ve been looking for every excuse to rewrite some of our services in Go.

The first publicly visible service we’ve rewritten is our new web console. Using Go, we were able to dramatically decrease load and connection times from seconds to milliseconds. Aside from the immediate benefits, the console is also much more reliable and scalable.

What benefits did we get from using Go?

  • Goroutines made it easy to duplex the tcp and websocket connections, allowing us to dramatically improve the speed of the entire service.
  • Interfaces allowed us to build end to end testing, ensuring future updates are easier to ship and bugs can be fixed quickly.
  • Go’s built in net/http package means we are able to do live deploys and keep on-going development invisible to users. In fact, the three or four times that we have deployed code to the console since we switched to the new version were done with no interruptions or customer tickets being opened.
  • Go’s package system makes sharing code incredibly easy. That means we can share the code developed for the new console between projects seamlessly.

The more services that we rewrite in Go, the more we fall in love with the language and the more we feel it complements the development of distributed systems.

Oh, by the way. If you’re a software engineer that’s interested in writing Go – we are hiring.

Share

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!Sign up

Related Articles

How startups scale on DigitalOcean Kubernetes: Best Practices Part VI - Security
Engineering

How startups scale on DigitalOcean Kubernetes: Best Practices Part VI - Security

Introducing new GitHub Actions for App Platform
Engineering

Introducing new GitHub Actions for App Platform

How SMBs and startups scale on DigitalOcean Kubernetes: Best Practices Part V - Disaster Recovery
Engineering

How SMBs and startups scale on DigitalOcean Kubernetes: Best Practices Part V - Disaster Recovery