BLAM is built in an entirely operational context and our commercial ‘pitch’ is business focused
The architecture and use of technology is important though as the BLAM platform affords scalability and extensibility unprecedented in the media industry.
BLAM follows a distributed microservices architecture, meaning the overall BLAM capability is structured as a collection of loosely coupled services. The architecture is robust, resilient and conforms to the separation of concerns paradigm. The singularity of purpose which is a key tenet of separation means BLAM is easier to maintain and extend. Equally there are opportunities for re-use of components which speed up our development so that as new customer requirements come in – such as a new 3rd party system to connect to – we can implement the capability extremely quickly.
Within the BLAM core there is a further abstraction between the Workflow Runner (WFR) and the microservice “BLidgets”. BLidgets which perform specific functions when run in the workflow are isolated from the engine itself. This enables BLidgets to be developed independently of theWFR and provides an extra level of safety at run-time. The microservice architecture gives the Blue Lucy business unparalleled development scale and also means that BLidgets may be developed by third parties.
The platform is underpinned by .NET core 7.0, the latest and fastest .NET framework from Microsoft which affords a truly cross-platform, open source, common language run-time environment. .Net core 7.0 affords long term supportability, an excellent security model and is optimised for containerised deployments providing true enterprise level robustness.
For the web-browser based user interface we use the Angular 15 TypeScript-based framework from Google. The framework is a good fit for .NET Core and provides
an optimal user experience. SignalR is used extensively in the user interface to provide real-time status updates. SignalR eliminates the need for polling from
the front-end to reduce chatter and provides users with
instantaneous operational status updates.
BLAM has an open REST API supported with embedded documentation using Swagger and further documentation hosted at BLAM CENTRAL. In addition a full Software Development Kit (SDK) is available which allows developers to build microservice BLidgets for the platform.
Available as a package from NuGet the developer-friendly .Net Core SDK allows engineers to code in their preferred IDE, such as Visual Studio, and provides features such as IntelliSense, enabling rapid and predictable development. The SDK supports rapid learning, with standard methods for accessing data, and provides a safe interface as the commands interact with the BLAM API rather than lower level. The SDK allows developers to use any .NET Standard library which provides the freedom to integrate any 3rd party component.
Using the SDK is more powerful than simply calling the API, as it utilises the BLAM Workflow Runner service to perform any 3rd party function or interaction. This has the potential to extend the useful functionality of the platform way beyond the usual media and broadcast systems to drive more business value for operator.
The public SDK is the same tool that we use internally so it is proven and is regularly updated.
In development Blue Lucy follows continuous integration principals
which drives a modular development approach and ensures robust
outcomes. Equally software updates, which are automated for Blue Lucy
managed systems, follows a continuous delivery paradigm with updates
to the BLAM core services available to customer managed environments
nine times a year.
As BLidgets are abstracted from the core these may be
released to active systems as required.
Blue Lucy use Kubernetes for the deployment of BLAM which
supports the continuous service and delivery model and BLAM
platforms are updated automatically and with zero ‘down-time’.