GolfNow: Saving Time and Money with Cloud Native Infrastructure

By July 11, 2017 January 15th, 2018 Blog

It’s not every day that you can say you’ve slashed an operating expense by half.

But Sheriff Mohamed and Josh Chandler did just that when they helped lead their company, GolfNow, on a journey from a monolithic to a containerized, cloud native infrastructure managed by Kubernetes.

A top-performing business within the NBC Sports Group, GolfNow is a technology and services company with the largest tee time marketplace in the world. GolfNow serves 5 million active golfers across 10 different products. In recent years, the business had grown so fast that the infrastructure supporting their giant monolithic application (written in C#.NET and backed by SQL Server database management system) could not keep up. “With our growth we obviously needed to expand our infrastructure, and we kept growing vertically rather than horizontally,” says Sheriff, GolfNow’s Director, Architecture. “Our costs were growing exponentially.”

In order to support GolfNow’s global growth, the team decided in late 2014 that the company needed to have multiple data centers and the ability to quickly and easily re-route traffic as needed. “From there we knew that we needed to go in a direction of breaking things apart, microservices, and containerization,” says Sheriff. “At the time we were trying to get away from C#, NET and SQL Server since it didn’t run very well on Linux, where everything container was running smoothly.”

To that end, the team shifted to working with Node.js, the open-source, cross-platform JavaScript runtime environment for developing tools and applications, and MongoDB, the open-source database program. At the time, Docker, the platform for deploying applications in containers, was still new. But once the team began experimenting with it, Sheriff says, “we realized that was the way we wanted to go, especially since that’s the way the industry is heading.”

That led the team on a quest to find the right orchestration system for the company’s needs. Sheriff says the first few options they tried were either too heavy or “didn’t feel quite right.” In late summer 2015, they discovered the just-released Kubernetes, which Sheriff immediately liked for its ease of use. After a three-month proof of concept trial went well, the team began focusing on getting one application into production that was already written in Node.js and MongoDB. A booking engine for golf courses and B2B marketing platform, the application was already going in the microservice direction but wasn’t quite finished yet. At the time, it was running in Heroku Compose and other third-party services—resulting in a large monthly bill.

“The goal was to take all of that out and put it within this new platform we’d created with Kubernetes on Google Compute Engine (GCE),” says Sheriff. The impact was immediate: On top of cutting monthly costs by a large percentage, says Sheriff, “Running at the same capacity and during our peak time, we were able to horizontally grow. Since we were using our VMs [virtual machines] more efficiently with containers, we didn’t have to pay extra money at all.”

Not only were they saving money, but they were also saving time. “We can move data centers in just incredible amounts of time,” says Josh. “If you haven’t come from the Kubernetes world and I tell you this is what I’ve been doing, you wouldn’t believe me.”

Having gone from complete newbies to production-ready in three months, the GolfNow team is eager to encourage other companies to follow their lead. “This is ‘The Six Million Dollar Man’ of the cloud right now,” says Josh. “Just try it out, watch it happen. I feel like the proof is in the pudding when you look at these kinds of application stacks. They’re faster, they’re more resilient.”

To learn more about what’s ahead for GolfNow with Kubernetes, check out this in-depth case study.

Interested in more Kubernetes content? Get on the CNCF newsletter list for more Kubernetes information and updates.