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...
Broadcasters are continuing to adopt and take advantage of IT working practices as they transition to file-based workflows. However, some seemingly effective solutions are outdated, have not kept pace with advances in computing power, and are unable to efficiently transfer…
Security is becoming increasingly important for broadcasters looking to transition to IP infrastructures. But creating improved software, firewalls and secure networks is only half the story as cybercriminals look to find new and imaginative methods of compromising data.
In this series of three articles, we investigate the underlying aspects of computer server design for high value security and 24-hour operation. In the first article we look at advanced server security, in the second article we understand how servers…
Without doubt, virtualization is a key technological evolution focus and it will empower many broadcast and media organizations to work differently, more efficiently and more profitably.
Artificial Intelligence is more than just one element. In this article, we look at and describe the many parts AI encompasses.