You are currently reading part I of the Serverless Smart Radio series. In this article, I will be mainly talking about how and why we aim to be serverless, the Smart Radio Project, walk you through the components of our system, and talk about the systems we use within AWS.

Part II — Step Functions

Part III — Lambda Functions

What’s Smart Radio ?

Smart radio is an on-demand personalised audio delivery platform. A common radio system is a linear broadcast of audio, the same for each listener. Via Smart Radio you can select the topics you want to be informed on, then we deliver you a personalized stream of audio segments based on these preferences.

Why Serverless Smart Radio?

Our radio app is quite popular which means we need to handle a lot of requests via our audio API.

We are a team of data scientists and I am the only engineer thus, we aim to do minimum devops and maintenance. We like to build more features for our users.

We would like to iterate on our workflows quickly, try out different versions, connect more services

Automate infrastructure as much as possible so that we can also scale up and down our processing service without any commitment (i) no containers are running after the live radio stream ends (ii) start more containers when more audio files needs to be processed.

No need to re-invent the wheel and let the AWS do the heavy lifting for us by using AWS services such as unlimited storage(s3), transactional databases(RDS), event streams(Kinesis) and many more.

Why Serverless ?

Challenge

Managing servers and infrastructure is a time-consuming job and requires special personnel to maintain the system hence costs lots of money, time and headache. Simply leaving the server management to the service provider, developers and businesses can focus on their main thing; building features.

Goals

Reliability Scalability Maintainability Cost Effectiveness

In this series of posts we will be going through each of these fundamentals and explain how the serverless architecture help us to achieve these concerns successfully.

Serverless vs Serverless

The term serverless has been used with multiple meanings. There is a serverless framework, and it is used to indicate the Backend as a Service (BaaS), also used for the Function as a Service(FaaS)