Source Labs has been contracted to assist NPR DS on scaling one of their content distribution platforms that it's member stations utilize as part of the suite of digital tools. The platform serves as a place to upload digital audio files for encoding, collaboration and facilitates the highly available distribution of content. The application was a single-tenant application, replicated on individual Amazon Web Services (AWS) containers per subscriber. Along with high hosting costs and a complicated deployment workflow this meant that different subscribers would eventually be running different versions of code which made maintaining these separate applications extremely challenging.
Step 1 in solving this complex architectural issue was modifying the application to become 'multi-tenant', i.e. capable of servicing multiple 'tenants' or groups of users per member station within a single application instance. Since each subscriber was restricted to their own dataset, we had to ensure that the user authentication and database schema access was secure. The 2nd step involved consolidating all of the applications, executing necessary data migrations to transition each of the member stations to Heroku off of the AWS. Through our discovery stage and analysis of all of the AWS services involved, we've concluded that NPR DS could successfully transition to a SaaS model, simplify the deployment and reduce hosting costs by switching to Heroku.