golangAs a company that has been around well over a decade, we’ve seen the rise, growth, and evolution of many technologies. We are firm believers in finding the right tool for the job and continuously experiment with new technologies to improve our software development efficiency.

One of the technologies we tested and adopted into our stack is the Go programming language. If you’re going to Google it, use, “Golang.” We’ve been using it for almost two years in our production environment with great success. We originally explored it as a way to pull parts out of our monolithic apps into easier to maintain and scale web services. This allowed us to significantly increase the uptime and stability of our critical services. As bottlenecks were identified they were pulled out into a Go microservice which could be scaled up or down as needed independently of the entire app.

Seeing the success in one project, we started using Go for a number of other projects and it has become the default platform for much of our new web back-end development.

As an early adopter of the language, we’ve accumulated knowledge and skills that our developers are now sharing and will continue sharing on GitHub.

We’re happy to announce that you can now find: Things I wish Someone Told Me When Starting with Go  GitHub page, that we hope to grow and as we learn more and get additional feedback.

We’ve also open sourced a few tools that we’ve developed for our own products. If you’re a Go developer, we hope you will learn and contribute to them if you find them useful.

As a retailer, you may be asking yourself, why is this important to me? Monsoon Marketplace is the only marketplace management platform that can reprice hundreds of thousands of SKUs per customer and keep up with the market price changes as they happen.  Our largest customers manage over a million and a half SKUs on marketplaces, and Go has been a tremendous part of the infrastructure that allows us to handle this volume.  Since being ported to Go in Q2 2014, repricing has been down for a total of 8 minutes in the past year and a half.  With Go, our architecture allows us to do rolling updates with no down-time, so we can release new features and bug fixes any time we want with no customer impact.  We’ve never been able to achieve similar uptime with any other technology stack.

For our Monsoon OMS clients, we’re building a new integration platform to make it easier to work with shopping carts, point-of-sale systems, and other eCommerce software solutions. Using Go for the development at Monsoon Commerce has allowed us to dramatically improve the way we maintain and build cart integrations. Look for upcoming announcements around BigCommerce, Shopify, and Clover, the integration for which are being built with Go.

For more Go resources, check out Golang.org. If you’d like to talk to us about our use of Go or anything else, please contact us.