Alexandre Rouxel (EBU)
Most broadcasters today are using cloud services in some ways, but the cloud continues to change fast, and attractive new possibilities have opened. The latest trend is towards ‘serverless’ architecture and what is known as FaaS – function as a service – opening the door to an entirely new way of running media services. Importantly, by adopting FaaS, media companies can shift their costs from CAPEX to OPEX, a key benefit of moving to a cloud-first strategy.
Free and open source
An EBU project called MCMA, standing for Media Cloud Microservice Architecture, provides a painless way of adopting serverless architecture and implementing media workflows in the cloud. Created as an open source project, free to use and available on GitHub, it offers reusable services that can apply to all applications and infrastructures across multiple cloud providers.
As proof that it is production-ready, MCMA has been used at Bloomberg for almost two years now, across a variety of media workflows from production to distribution. A primary contributor to MCMA, Bloomberg reports that the implementation of MCMA-based workflows has improved leveraging of cloud-based resources and alignment with both technology and business goals.
To benefit from serverless and FaaS, it is necessary to have a strategy for the architecture, configuration and deployment of your code. This is precisely what MCMA offers. The use of ‘microservices’ involves breaking the media services – which could be used for anything from speech-to-text to publishing content to social media platforms – into small functions that can be spun up and run directly in a ‘container’ on the cloud.
Because cloud providers use a pay-as-you-go principle and linear charges, also imposing a maximum running time of 15 minutes for any single function, the costs are entirely predictable. There is an incentive to define the microservices so that they won’t hit the time constraint barrier – more is better! Keep in mind, however, that there will be a ‘cold start’ effect: if a resource needed for a function is not requested, the container is stopped, and it takes some time to spin it up.
Another benefit of FaaS and MCMA is that developers can remain focused on the development of the functions defining the application. The work happens one level of abstraction up from the previous approach known as IaaS – infrastructure as a service – so the scaling of the underlying containers to absorb the workload is managed by the cloud providers. With the functions directly exposed to the users, the development of the related applications or services is simplified and the time to market is reduced.
The MCMA group has worked closely with the cloud providers to optimize the use of native cloud services and still provide interoperability across providers. CICD (continuous integration and continuous delivery) pipelines are an essential part of MCMA.
Enhancements have been made over time to streamline accessibility and simplify the learning curve for deploying and managing cloud infrastructure. MCMA comes as a set of libraries – developed on different cloud platforms, AWS, Azure and GCP – that allow you to sequence services and to track and manage jobs. The libraries and foundational services take into consideration security and management best practices for cloud infrastructure. MCMA provides three main types of services related to:
- Data storage and operations;
- Job execution and management; and
- Service definition and abstraction.
The MCMA group, chaired by Bloomberg’s Chief Architect Loïc Barbou, has begun a standardization process at SMPTE and the Open Services Alliance for Media. The core of the standard proposal is about job management, message formatting and activity tracking.
This article was first published in issue 45 of tech-i magazine.