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...
Artificial Intelligence is more than just one element. In this article, we look at and describe the many parts AI encompasses.
After visiting the recent Henry Stewart DAM (Digital Asset Management) conference in New York, Gary Olson asked some very difficult questions of Cloud vendors regarding security. Their responses may surprise you.
Moving to IP opens a whole plethora of options for broadcasters. Engineers often speak of the advantages of scalability and flexibility in IP systems. But IP systems take on many flavors, from on-prem to off-prem, private and public cloud. And…
Ground breaking advances in storage technology are paving the way to empower broadcasters to fully utilize IT storage systems. Taking advantage of state-of-the-art machine learning techniques, IT innovators now deliver storage systems that are more resilient, flexible, and reliable than…
This FREE to download eBook is likely to become the reference document you keep close at hand, because, if, like many, you are tasked with Preparing for Broadcast IP Infrastructures. Supported by Riedel, this near 100 pages of in-depth guides, illustrations,…