OSMix Music Begins a New Era of Serverless Audio Processing
How we guided OSMix Music in developing a reliable asynchronous event-based serverless solution to provide their customers with API access to process audio files.
September 22, 2020 | Cloud-Based App Dev | Data Pipeline
OSMix Music is an automated audio mixing and mastering program that provides professional-quality mixes in seconds at any budget level. OSMix simplifies the technical aspects of mixing and mastering to accelerate audio production while preserving creativity. OSMIX Music partnered with D3V to help them build a data pipeline to process audio files and develop the API Backend for the company’s microservice as a cloud solution using Google Cloud Platform.
Our experience with D3V was fantastic. Their team was a pleasure to work with, very knowledgeable, and explained everything to us very clearly and concisely. We are very happy with the outcome of this project!
OSMix Music provides its customers with an audio mixing and mastering solution through proprietary software. However, with growing customers and demands, OSMix decided to upgrade this solution a step further to make it more easily accessible to its customers through a cloud service. OSMix wanted to build a secure, cost-effective, seamless, and reliable backend API service that gives customers access to upload audio files, process the audio files, and enable the customer to download the processed output file. The goal of this upgrade was to arbitrarily scale up and handle large quantities of audio files for processing simultaneously.
To achieve their goal, they wanted to take advantage of the fully managed, serverless offering Cloud Run on Google Cloud Platform and were in search of a Google Cloud expert to guide them in the journey, apply best practices and make the best use of other GCP resources that were needed to device the serverless solution. OSMix Music chose D3V Tech.
The Osmix team had several conversations over chat and over meetings with certified GCP Architects from D3V to nail down the project requirements to the T. D3V had communicated with OSMIX about the project intricacies that OSMIX was not aware of themselves and helped them understand the technical complexities of the project.
Their genuine interest in communicating and helping us understand the challenges with the requirements and technology limitations. As well as their extensive knowledge of cloud computing, architecture, and development.
D3V was also very diligent in setting up SCRUM meetings with OSMix's software architect and D3V’s technical project manager to keep the entire team informed on the overall progress. Weekly targets were achieved and demoed in the meetings scheduled for that week. Several end-to-end tests were performed to ensure the functionality worked as expected. Meetings were scheduled twice a week to discuss project requirements, roadblocks, and progress.
OSMIX had a C++ binary executable, the core of their solution to process audio files, and wanted to wrap it as a microservice with REST APIs and be deployed as a serverless solution. The serverless solution was required to provide functionalities such as options for customers to upload files to the Cloud Storage bucket.
The binary wrapped microservice on Cloud Run to download and process new audio files using the C++ binary and upload the processed output files to the Cloud Storage bucket and email the customer with details to download the processed file.
Developed a robust event-based asynchronous serverless solution that can scale automatically to handle workloads of various sizes
D3V applied the best practices for GCP and came up with a serverless event-driven architecture, using a combination of GCP services such as Google Pub-Sub, Cloud Storage, and Cloud Run. D3V leveraged cloud storage triggers in combination with push Pub-Sub notifications to implement the asynchronous stateless event-based system. Programmatically Cloud Storage signed URLs were generated for customers to upload new audio files for processing, and for downloading processed audio files.
Delivered faster time to market with service-to-service authorization for customers
To be able to process audio files, produce the resultant processed audio and upload it to Cloud storage, the right configurations had to be set to ensure the application runs smoothly on Cloud Run, optimizing to reduce cold starts and maximize the usage of every Cloud Run instance that spun up based on the load.
Apart from the core functionalities of the application, D3V also helped in developing other supporting features such as user authentication, service to service authentication, and Mail Chimp email integration for sending an email notification to customers using Golang and Cloud SQL. Several thorough integrations and regression tests for processing of audio files of various sizes were performed to ensure the solution worked reliably.
Ensured future-proofing through a cloud-native approach in design and development
Expert Google Cloud architects from D3V, helped OSMIX navigate through the limitations of Cloud Run and set up the right Cloud Run and Pub Sub configurations to run the application smoothly.
Furthermore, as part of the business requirements, a cleanup process was also required to delete files from Cloud Storage after a set period of time. Storage bucket lifecycle policies were set to handle automatic deletion of files from Cloud Storage.
It was a great experience working in close collaboration with OSMIX’s internal technical team at every step and playing a part in helping people make better music all over the world. The GCP architecture for OSMIX was optimized for scalability and resiliency. As the number of customers and each customer's demands increase, OSMIX is now in a great position to reap the benefits of this architecture.