by Sean Moore, Deluxe SVP of Technology
Today, consumers expect everything on demand and tailored to their exact needs. Entire industries have been revolutionised based on this level of personalisation and access. The entertainment industry today is no different.
Contemporary audiences are savvier than ever, thanks to an increased level of content and countless ways of accessing that content. Consumers can watch their favourite films and series on any screen, at any time, wherever they are. This has created an entertainment ecosystem that is extremely complex, and new expectations for content owners and creators to meet quickly evolving consumer demands.
In an effort to meet audiences where they are, content needs to be distributed across multiple endpoints while simultaneously being converted into a myriad of formats for a wide spectrum of viewing platforms. To build an infrastructure with the flexibility and automation to successfully deliver this content, the media and entertainment industry is finally embracing the Cloud.
The backbone of every successful cloud service is composed of microservices. They have been at the core of nearly every successful and disruptive business of the past decade. Digital-first companies like Netflix and Amazon have gained their prominence because they were constructed on microservices.
The media and entertainment industry has found itself at an exciting and crucial crossroad, needing to adapt the traditional, monolithic architecture to a new era defined by a microservices-based architecture that will deliver the ability to scale operations to meet demand, and the flexibility to drive continuous innovation as those demands change.
Scaling the monolith: how a microservices-based architecture works
To put it simply, a microservices-based architecture is when an application is built with a set of distinct context bounded services, where each service performs a specific business function. In the realm of media and entertainment, for example, functions such as transcoding, image transformation, storage abstraction, or data movement can be developed as microservices. These microservices are then orchestrated into a workflow to accomplish a desired business objective and are designed to be as autonomous as possible so they can be easily updated without impacting the functionality of the entire application.
Essentially, a microservices architecture is a decomposition of the monolithic design. In a monolithic architecture, the application is treated as one single unit and if a bug is found or certain functionality needs to be released, the entire application typically needs to be rebuilt and updated. This can result in significant downtime and a loss of service for customers, which can ultimately be catastrophic for the entire operation. By breaking down an application into microservices, engineers can make frequent modifications, fixes and enhancements on-demand without affecting other services powering the entire application, which can significantly increase the utility, efficiency and flexibility of the entire operation.
Why microservices are critical to media and entertainment
Big players like Netflix and Amazon made early moves towards a microservices architecture, and therefore, weren’t as burdened by monolithic architectures. This enables them to rapidly innovate and continuously deliver to meet the content needs of today’s consumer. Traditional content creators and distributors need to move quickly and evolve their technology stacks in order to compete with companies like Netflix and Amazon, and new entrants like Disney+ and WarnerMedia are set to shake up the playing field by doing just that.
Microservices play an essential role in enhancing monolithic applications with increased agility, flexibility and openness to ensure content creators and distributors get high-quality content to audiences faster and more cost-effectively. Below are some of the key benefits of a Cloud-based microservices architecture:
- Scalability: with a microservices architecture, content owners have greater elasticity to scale and fine tune operations such as compute and storage, on-demand. For example, if a streaming service needs to process and distribute a high-priority next-day-air episodic title, the elasticity of microservices allows them to easily scale resources on-demand to ensure the title is processed and delivered within a limited time window. Likewise, consumer-facing services that manage streaming can handle the surge in a large number of subscribers attempting to access the title for playback.
- Continuous delivery: the microservices design enables engineers to make frequent updates and enhancements instantaneously, which shortens the time it takes to modify certain features and address bug fixes, paving the way for a faster release cycle and making the entire organisation more agile in responding to customer demands. For media companies, this ensures their operations are always operating at peak performance.
- Flexibility and modularity: a microservices architecture enables engineers to reduce their reliance on specific technology stacks or vendors, giving them more flexibility to develop and run technology agnostic services. Furthermore, microservice design patterns encourage modular reuse across teams as disparate services can be assembled to accomplish varying functions, rather than having teams repeatedly develop the same functions.
- Openness: a microservice-based architecture simplifies integration with third-party vendors. This enables media companies to have greater interconnectivity and transparency to manage assets, process orders, orchestrate workflows and connect to an ecosystem of content creators, distributors and vendors.
At Deluxe, we used the Cloud to reimagine the content supply chain and unify the disparate stages of content development. Deluxe One simplifies how clients’ content is created and delivered to audiences and is based on the concept of microservices that are modular and constantly upgraded. That way, customers can tailor the platform to their specific needs and goals, leveraging the services they need and foregoing those they don’t.
Shifting to a microservices architecture
Many companies start out with a monolithic architecture, but once they start to grow and expand their offerings and add new functionality, the shortcomings of running a monolithic architecture will become exposed over time. It becomes harder to ship new features, more expensive to scale, and the organisation won’t be able to quickly and proactively react to inbound customer requests.
Most media companies did not start with a Cloud native microservices technology stack, which means most will have to undergo the transition from a monolithic architecture. At Deluxe, when we began the process of decomposing our monolithic architecture to microservices, we ensured our architects and engineers adhered to a strict set of guidelines, including the following:
- Identify what the service is going to do – determine what its essential function will be
- Determine if there are existing services with the same or similar functionality before developing a new service
- Ascertain if this service will be reusable by more than one other service
- When decomposing a portion of the monolithic application, ask: does the benefit of the service being independent outweigh the overhead of managing it?
When migrating to microservices, it’s critical to remember that each additional service you bring or add to your architecture brings another level of complexity and overhead. One of the biggest challenges that any engineering organisation faces when adopting a microservices architecture is ensuring they have the correct level of service granularity. Having too many fine-grained microservices will become difficult to manage and support, which leads teams to what is commonly known as the “grains of sand pitfall.” When services become too granular, it will significantly impact key functions like maintainability and performance. Therefore, it’s crucial to focus on isolating the business capabilities of the services that are developed.
In today’s complex media environment, content creators and distributors need to offer superior flexibility and speed to ensure operational success and satisfy customer demand. Sticking with a monolithic model that cannot scale or deliver services at the speed at which consumers’ needs evolve can cause businesses to fail. By adopting a microservices architecture, media companies have no limits on agility, scalability or speed to market, and can become a more competitive force in this rapidly evolving industry.
*Article was originally published at TVB Europe.