Abstract APIs and Strangler patterns - MAM management with Avid
Migrating to a new MAM system is a major headache for organizations with large volumes of assets who can’t afford downtime. The BEIT session ‘Managing Multiple Asset Management Systems’ (Saturday, April 6 10:40am - 12:00pm Location: N260) will discuss how the Strangler software development pattern can slowly take over a legacy MAM system’s functions until nothing is left but the new system. Roger Sacilotto, Consulting Software Engineer at Avid takes us under the hood.
Why is migrating to a new MAM system with large volumes of assets a major headache for organizations?
Roger Sacilotto, Avid: MAM systems often have their own unique APIs and integrating a production system creates a dependency on these. Also, systems with a large amount of assets usually have numerous software components contributing to that set of assets. This can mean that in order to change MAM systems, all contributing software components will need to be rewritten to work with the new APIs.
What is the Strangler software development pattern?
The Strangler pattern allows a gradual replacement of a software system, rather than an all-at-once forklift upgrade. As Martin Fowler [https://www.martinfowler.com/bliki/StranglerApplic... defines it, the Strangler pattern gradually creates “a new system around the edges of the old, letting it grow slowly over several years until the old system is strangled.”
How can this help take over a legacy MAM system’s functions?
An abstract API can be created that connects to the legacy system, allowing the contributing software to use both legacy and new APIs during the conversion period. When the conversion is complete, the API can then be rerouted to a new MAM system. This approach also allows flexible transition options, like replacing a monolithic database with a collection of databases which are more suitable for a broader range of applications.
How easy is this to implement?
It’s not a matter of ease as much as timing. An API abstraction (facade) can provide isolation between the clients of a MAM system and the implementation. By allowing an ongoing refactoring process, components can test their changes without requiring the entire system to be converted.
Is it vendor agnostic?
Yes, as long as the design of the abstract API allows different implementations on the backend.
A bit more detail please on how it actually works?
The abstract API presents a model of assets that offer a base method of setting and getting data, such as scalar data (key/value pairs) and time-based metadata. API extensions can be allowed but must be done carefully. Where possible, the API should extend in vendor-neutral ways, as any extension that is too closely tied to vendor functionality can cause the system to become brittle and hard to manage.
Also, the backend of the API must convert the abstract model to appropriately interact with the connected MAM system.
What are the typical outcomes of such an implementation?
Avid is in the process of doing this within its own production software. All new components are being written to the abstract API, and older components are being refactored as time and resources allow. So far, the process has brought some very positive benefits, such as the ability to view and search mixed asset systems with common tools, while continuing to support legacy code.
Want to know more about this year's BEIT Conference? Click the link here to see the official schedule along with a snippet of information about each presentation.
Would a free exhibit pass help? Click this link or image below and enter the code MP01 at the correct prompt.
Here are some additional articles about Broadcast Engineering and Information Technology (BEIT) sessions taking place at NAB 2019 in which you may be interested.
You might also like...
While cloud computing and storage have reimagined how remote workflows are implemented, they can also play a huge role in business continuity and even disaster recovery. As many major productions have already proven, the key to continued success is extending…
People are not just flocking to beaches and holiday resorts as lockdowns are eased but also to their TV screens for viewing of returning live sports.
As the media landscape continues to streamline the way it delivers content, cloud-native technology, that is, container-based virtualized environments that replicate traditional workflows on premise, is playing a big role. However, some broadcasters moving their assets and processing power to…
If an 8K content service from OTT providers like Amazon, Netflix and YouTube is ever going to be successful, and that’s still a hot topic of debate, new types of compression will have to be part of the solution. T…
Playout automation has been enabling fewer people to control more channels for decades but we’re not quite at the point where human interaction can be eliminated altogether. Since most linear broadcasters will either move to a software-based deployment for t…