Infrastructure Requirements

< All Topics

Summary

BLAM follows a distributed microservices architecture of loosely coupled services:

  • BLAM API
  • BLAM Workflow
  • Database

BLAM’s architecture lends itself to almost any infrastructure when deployed and is designed to work seamlessly in containerized instances whether on-premises or on the cloud.

Performance Considerations

A local disk of 500GB minimum is required to provide an adequately sized DMZ for direct file uploads through the BLAM UI or API.  The DMZ is not meant for long term storage but is used as a landing stage for ingested content before being transferred to a permanent storage location.

Although BLAM is agnostic of network architecture, video streaming and data transfer performance, particularly the movement of large files, can be severely limited on slower connections.

Multi-Server Deployment

Multi-server deployments are the preferred arrangement providing system resilience and scalability, particularly under large or business-critical workloads.  Separate servers should be configured for each of BLAM’s services (BLAM API, BLAM Workflow, Database).

Minimum requirements (BLAM API/Workflow):

  • Processor: 4 vCPU
  • RAM: 8 GB
  • Network: 10 Gbps
  • Local Disk: 500+GB

Minimum requirements (Database):

  • Processor: 4 vCPU
  • RAM: 16 GB
  • Network: 10 Gbps
  • Local Disk: 250GB

Single-Server Deployment

Single-server deployments will need to be able to run all BLAM microservices and the database engine.

Minimum requirements:

  • Processor: 8 vCPU
  • RAM: 16 GB
  • Network: 10 Gbps
  • Local Disk: 500+GB

AWS EC2 Deployment (Single Server)

The preferred arrangement for AWS Deployments is to run the database in a dedicated RDS instance to ensure high availability and the ability to scale depending on system load.

Minimum requirements (BLAM API/Workflow):

  • Linux: m5.xlarge
  • Linux: m5a.xlarge

Minimum RDS requirements (Database):

  • SQL Server Express: t3a.medium