How Vydia Uses Serverless with Stackery
Vydia is dedicated to helping creators gain more control over their audio and video content with a centralized tool for distributing, managing, protecting, and optimizing AV files. Vydia’s software team describes themselves as a “DevOps team first and foremost” delivering new features and updates in a tight loop. They are always in search of new ways to improve and modernize the development process. When the team decided to do some intensive research into the possibilities and applications of serverless with AWS, they quickly found that Stackery addressed many of their areas for improvement.
We sat down with Mark Allen, the co-founder, and CEO of Vydia to discuss their serverless journey with Stackery.
In March of 2018, all of us at Vydia had been hearing a lot about the many possibilities of serverless. When I heard an interview with Stackery’s CEO, Nate Taggart, on a podcast about the company’s set of solutions for serverless teams, we decided to set our interns up with an account to play around with the features. What we came to find was that Stackery was the perfect way for our whole team to move closer to total serverless adoption and arrive at a deeper understanding of the many AWS services. This is how Stackery took AWS serverless at Vydia from intern-research project to accelerated adoption.
AWS has so many useful and relevant services for software teams, but it can be difficult for team members to understand what they all do and how they interact with one another. Our team was faced with a lot of confusion about serverless and AWS upfront and we explained to Stackery that we were looking for a deeper understanding of the complexities of AWS services as a first step. Essentially, we were seeking out a tool to provide this knowledge from the outset and this tool was Stackery.
In our previous attempts to extract thumbnails out of video files, Vydia was using a third-party encoding system but it didn’t support this process properly. So, once we decided to experiment with serverless, our team landed on using a simple, singular Lambda serviced by an S3 bucket.
Meanwhile, we had local development environments running in Docker, so integrating that with thumbnail processing Lambda. We wound up configuring SSH tunneling from our local machine and then would dependency-inject that environment variable into the Lambda event payload. This third-party provider essentially had to notify our server via WebHooks when it came to extracting thumbnails. For a company that focuses largely on AV file optimization, this quickly became a big, drawn-out process.
Having Stackery hold our hand when we were starting to learn about the complexities of serverless on AWS? We wouldn’t trade that for anything. The fact that you can use Stackery to easily visualize the relationships between different AWS resources really helps bridge the gap between any missing elements in AWS for serverless.
Part of the ease of Stackery also lies in the interface: when you draw those lines in the Stackery Dashboard, it sets up the proper permissions. Stackery tackles CloudFormation for us, which is a huge benefit.
Stackery is the missing element in serverless development with AWS; it speeds up the development process and helps us visualize relationships between different resources accessibly as our team’s knowledge of serverless expands.
“Serverless is the ideal way for us to build a product that can keep up with our growing demands,” says Steve Potter, former Director of Digital Engineering at Vydia. “We needed a way to transition our traditional system to serverless, but wanted to avoid the inconvenience of such a change. Stackery is the answer, making it possible to adopt Serverless while allowing us to keep our focus on disrupting the media industry.”
Future goals & lessons learned
Vydia’s architecture runs a large number of background jobs, which are processed using Resque on a fixed number of EC2 instances. These instances are manually provisioned, which makes scaling to meet shifting load a challenge. The thing we’re working on now is migrating all of those Resque jobs into AWS Fargate, which will remove the need to manage and maintain this EC2 cluster. We actually just got our first production background job running in Fargate today. And the actual management of the infrastructure using Stackery has been super easy. We just point Fargate at ECR (Elastic Container Registry) and it all works!
At the end of the day, software development teams are busy. We are carrying out so many tasks and trying to keep things running smoothly, so when someone on the team says “hey, we should really check out this serverless thing!” the truth is that it’s a real hassle to get going. Yes, you can follow a tutorial or a doc, but if you really want to stay consistent with your runtime and your resources… well, it’s just so much faster and easier with Stackery.