- Show how easy it was to go from not knowing what a container is to production with Kubernetes - Show some of the interesting ways we are autoscaling our microservices based on load - Describe our migration process and how we were able to do it in the middle of our high traffic periods - Describe some of the lessons learned going from AWS to GCE and running in production for almost a year - Demo our CI/CD in Jenkins - Describe how we geo distribute our data across the globe without a dependency on any one data store - Show the management application we use on top of Kubernetes for self-service in the cluster
Many large enterprise companies are afraid of change and new technology, and we had a similar fear. Our business was growing globally, quickly, and we were buying companies! We were posed the question "How do we grow our infrastructure with our demand globally?" This question was hard to answer, and we were hesitant to spend a ton of money on licensing to scale our C#.NET and SQL Server architecture. We had to find another way! The answer was microservices, containers, and Linux infrastructure.
As we embarked on this journey into this new paradigm, we discovered Docker and all the complexities that come with Docker at scale. It was simple enough to get it up and running locally and getting smaller pet projects going. But we had more questions: what will this look like in production? How do we scale? How do we schedule? How do we keep these things up and running? How do we monitor? A host of other questions ensued. We evaluated many orchestration platforms, including Mesosphere, Deis, Fleet, Panamax, Compose/Swarm, and finally Kubernetes. We found all of these platforms had strengths and weaknesses but the outliers became Mesosphere and Kubernetes. The tie-breaker for us was the awesome community around Kubernetes and what it was based upon, as well as the rapid development and momentum of the product. This gave us confidence that our platform would co-evolve with our infrastructure, keeping pace with us!
We have been using Kubernetes since version 1.0.6 and have never looked back. We built a full SDLC workflow via Kubernetes that includes CI/CD and automatic JIRA assignments for development and QA, auto-scaling capabilities beyond Kubernetes HPAs, logging integrations, and a cadre of applications specific to our business. We want to show other companies that it's ok to embrace emerging technologies like Kubernetes. Since adopting Kubernetes, our operations have become so much more efficient, because now the people that build the software are the same ones building the infrastructure. We are running at a scale of 5 million active golfers across 10 products. We embraced the changes and came out with a world-class product. We want not only to speak to what we have done, but to inspire the conference to take the plunge and build something revolutionary.
Sheriff Mohamed is Director, Architecture at GolfNow, a Digital Commerce Division of NBCSports, the golf industry's leading technology and services company. He focuses on designing and building globally distributed e-commerce and business to business marketing platforms.