Software platforms are structures built to allow multiple products to leverage a shared technical infrastructure. In Software Engineering when examining our systems we often talk about performance metrics, fault tolerance, testing, scalability, availability, tooling, etc. In this talk, I'll posit that we should include feature velocity as a top concern when evaluating our systems. Building the required software platforms to power our products will lead to increased feature velocity, happier engineering teams, and better more profitable products.
At Hudl we use AWS to ingest, encode, and store thousands of hours of sports video every day. I'll use Hudl's video publishing pipeline as a case study on applying platform engineering principals to a shared application infrastructure that supports multiple rapidly evolving products at the same time with the same code.
I’ll go in-depth on how at Hudl we’ve used Terraform and AWS managed autoscaling to completely replace a in-house built legacy scaling solution, while achieving nearly 30% reduction in our annual EC2 compute costs.