Simplebet brought SmartLogic in to help design and stand up the cloud infrastructure for their new sports betting platform.
Simplebet is a modern sports betting startup; they use real-time data ingestion, machine learning, and automation to enable play-by-play microbetting during live sporting events. Their latest product launch is a partnership with FanDuel; the app allows fans to bet on any drive or play in real time during an NFL game.
Dave Lucia, Simplebet’s VP of Engineering, reached out to SmartLogic in the summer of 2019 after listening to an episode of our podcast, Elixir Wizards, as he was looking to hire a site reliability engineering (SRE) team but was having trouble hiring quickly enough. Simplebet was aiming to launch a new product offering in early 2020 and they needed to move their platform infrastructure to the cloud. They brought SmartLogic in to lead this transition and work with their incoming SRE team to migrate to the cloud and establish new infrastructure patterns for their platform in order to make the migration happen on their desired timeline.
The SmartLogic team has been working with DevOps and server-side concerns for over a decade — since before the public launch of AWS. From building cloud infrastructure for our clients’ teams to manage, to architecting and maintaining the servers, CI pipelines, and deployment scripts for the applications we maintain, our team has experience with a variety of DevOps configurations and best practices. We’ve helped a number of teams grow and manage scale through well-reasoned scalable DevOps architecture, so it was a natural fit for our team to step in to assist Simplebet with standing up their DevOps infrastructure.
Modern DevOps Infrastructure
Simplebet’s mission is to make every moment of a sports game a bettable opportunity. Rather than a single user-facing app, they have built a data ingestion and processing platform that makes this real-time betting possible. As such, their cloud infrastructure needed to meet high speed and volume requirements, and needed to smoothly manage all of the disparate components and applications that make up their platform.
In the cloud architecture we helped Simplebet stand up, GitHub is used for code version control. Branches that are ready for deployment are dynamically passed through CircleCI, a continuous integration service, for automated code testing and subsequent deployment to development, testing, and production environments via dynamically updated Docker images.
To support Simplebet’s high-volume real-time data ingestion and processing, the Docker images are managed inside a Kubernetes cluster. Kubernetes (K8s) is a cloud-based cluster computing and container orchestration system; K8s seamlessly handles massive concurrency and is a crucial component for the high volume data processing required by the Simplebet platform. Deployment of the Kubernetes resources is managed with Helm, a K8s package manager and cluster resource management tool.
While cluster computing is amazing for handling high-volume throughput, it does bring with it some unique challenges. This deployment involves a complex infrastructure of services with many secrets and configuration variables to manage. To ensure consistent configuration and rotation of secrets, we used Vault, and to ensure the reliability needed in this environment, we used Consul as its backing.
The deployed cloud resources are provisioned and managed by Terraform, a code-as-infrastructure tool that allows DevOps engineers to manage resources with declarative configuration files. Terraform makes it easier to use and reason about cloud infrastructure, and makes it easier not just to deploy but also to maintain cloud systems over time. Our goal with this project, as with any piece of DevOps infrastructure we touch, is to make sure that the architecture is reliable, performant, and scalable; and that deployment processes are repeatable and yield consistent results.
A Solid Foundation for Growth
Over time as Simplebet hired and onboarded their SRE team, our developers worked together with their internal team to develop and document Simplebet’s new cloud infrastructure, eventually handing the project over entirely to the internal team.
Additionally, while the majority of the work we did for Simplebet was DevOps consulting, we also helped their team with some of their Elixir development, sharing our expertise on Elixir configuration and deployment with release generation.
The foundation and patterns SmartLogic made will influence our infrastructure for the foreseeable future.— Dave Lucia, VP of Engineering, Simplebet
Ultimately we were able to support Simplebet during a critical time of growth, helping them to scale their infrastructure while they were still hiring their internal SRE team. By the end of the engagement, the Simplebet team could go from merge to production in under five minutes due to the infrastructure that SmartLogic helped put in place, a major accomplishment for such a complex platform. The modern continuous integration and deployment infrastructure is supporting Simplebet as they continue to grow their platform and offerings.