One Platform to Rule Them All

Gene Chuang
FloSports Engineering
3 min readMay 25, 2023

--

FloSports is a 13+ year old startup streaming 26 underserved sports. 2023 is the year of re-platforming as the FloEngineering team will rebuild from the grounds up: One Flo Platform or OFP. This high level architecture diagram above gives you a taste of what’s in store, and the complexity and number of moving parts involved. The themes and motivation for this new platform:

  1. We have acquired at least 5 Sports Tech companies over the past decade, and the Engineering team is currently running 5 tech stacks. We have a Java 8 Tomcat/Hudson stack, a PHP Symphony stack, a .NET stack, a Golang Stack, Angular/Typscript stack, and most recently a Perl/RoR/Adobe Air stack. This is unsustainable for an engineering team size of under 100 and DevOps team of 4. Unification is needed just for sanity sake, if not for efficiency, velocity and scale.
  2. Through our acquisitions, we are running on all 3 major clouds: AWS, GCP and Azure. Our cloud bill is $4M/year and does not make sense for the amount of subscribers we have, nor does it make sense to be split brain in Cloud with a DevOps team of 4. For OFP we will be consolidating on AWS — Amazon has won the cloud game, let’s pick the winner and move on.
  3. Our current main stack is Angular, Typescript/Nest, MySQL, Redis and k8s. The decision to go Angular was made by my predecessor 4 years ago, when React/React Native has already won in the industry at large. The decision to use k8s over Serverless was also made without architecting a proper Serverless PoC. Our subscribers are only in North America (US and Canada, some Brazil), and our traffic peaks on Saturdays. We do not need 24/7 compute. While we are microservices, every new service our developer created use the same template: Typescript/Nest, MySQL, Redis, k8s container. Most of our developers rely on TypeScript ORM and do not evaluate their data store needs via access pattern for the service they are creating. Hence going SST.dev will greatly simplify the DevOps part of spinning up new service and optimize for performance by using DynamoDB for most of our data access patterns, and reduce compute cost from always-on k8s containers to Lambdas.
  4. FloSports has a history of building everything from scratch — while this made sense 12 years ago to build a custom CMS, there hasn’t been the engineering prioritization to reevaluate our technology every year and make Buy vs Build decisions. Engineering teams have also historically worked in silos without central architecture or platform services, hence the wheel has been reinvented multiple times here. Conways Law: The product you deliver mirrors your organizational and communications structure. For One Flo Platform, we will make central architecture decision and design a best of breed solution. We want to reserve our precious engineering resources to build services that will differentiate us from our competitors and move the need, and not to build and maintain commodity off the shelf tooling.
  5. Our core product, live sports streaming, is made of two broadcast chain tech stacks, one 10+ year old custom stack centered around Wowza, and one vendor driven components stack from acquisition. One competitive advantage FloSports provides is ability to stream 60 mats wrestling tournaments, that’s 60 concurrent live streams from one venue, at scale and operational efficiency. Hence we will be consolidating/rewriting our broadcast chain to fit our scaling and cost axis.

One Flo Platform is set to launch in Q4 of 2023. It is a very ambitious effort, we feel we have the right engineering team on board to take down all challengers and knock it out of the park. Follow our engineering blog as we deep dive and show progress and post-launch learnings on OFP!

--

--