The BEAM ecosystem is built from the ground up as the antithesis of command-and-control, delivering all of the high-throughput, low-latency, resilient, scale-up, scale-out, reliable, and elastic technology attributes one would expect of a world class distributed platform. The BEAM VM implements the Actor Model as very light-weight, supervised processes that communicate asynchronously through message passing, resulting in highly reliable concurrency. BEAM VMs naturally cluster to form a compute grid to accomplish work. As a VM, garbage is collected in the most efficient way possible, at the “actor” or “process” level in alignment with its own architecture.
BEAM’s original mission was to provide for highly reliable, remote, unattended telecom devices. BEAM releases contain only the software that is actually used, providing for a very small footprint. Taken in combination, BEAM scales perfectly between IoT/IoTT devices and multi-server processes.
From a business perspective, the BEAM ecosystem saturates its infrastructure, getting the most work per dollar spent on physical hardware, virtual machines, containers, and cloud platforms. It is naturally elastic with the ability to expand and contract to accommodate the workload with the least amount of compute resource possible by saturating available cores. For those writing the checks for cloud subscriptions, this translates into real dollar savings.
Much of BEAM’s power is available through OTP, the framework that ships with the platform delivering, among other capabilities, distributed registry, process supervision, asynchronous atomic processes. BEAM/OTP also contain two database options within the platform itself. Popular languages that compile to BEAM byte code include Erlang and Elixir.
Noteworthy vendor Erlang Solutions supports native BEAM message-oriented-middleware by way of Rabbit MQ, and BEAM key-value and time series persistence through Riak KV and Riak TS, XMPP by way of MongooseIM, popular conferences, and professional services. The frameworks for accomplishing work are world class. Much more could be said, especially regarding the extraordinary talent in this community.
Robert Virding, co-inventor of Erlang and Principal Language Expert at Erlang Solutions, gives an insightful overview of BEAM’s lightweight massive concurrency, asynchronous communication, process isolation, error handling, continuous evolution of the system, and soft real-time in this 2014 Code Sync talk:
Irina Guberman provides a running example of Erlang’s fault tolerance in her talk “Unique resiliency of the Erlang VM, the BEAM and Erlang OTP” from Code BEAM SF 2020:
BRSG has chosen the BEAM ecosystem in combination with third-generation graph data platforms to deliver its own HTAP capability and looks forward to sharing its insights along the way. Please contact us if we can be of service, email@example.com or call at 303.309.6240.