Beacon Core

An end-to-end platform that combines powerful developer tools, a research environment full of data, and a controlled production environment for end users.

Web application development and deployment framework
  • Lets Python developers quickly develop applications in Beacon – no need for web application expertise
  • Easy to deploy applications to 1,000’s of concurrent end users
“Gromit” dependency graph
  • Makes it easy to describe complex relationships
  • Like Excel but better structured and easier to scale & maintain
Integrated data fabric
  • For each data source, one controlled point of access
  • All data available in one platform through similar interfaces
Integrated controls
  • Battle-tested control framework for code release & production data means developers can be nimble & iterative for new development while controls on core functionality keeps production stable
The bob job scheduler
  • Makes it easy for developers to automate work and become more productive
  • Simple tools to generate complex reports and make them available to end users
The WMP grid scheduler
  • Makes it easy to access parallel compute
  • Automated management of elastic infrastructure in the cloud reduces costs and improves ability to experiment

Web Application Framework

Beacon makes it easy for all developers to expose analytics and data to end users, whether they are UI experts or not

Simple App Framework
  • Lets developers script out applications in Python code
  • Translated on the fly into full JavaScript/HTML5 web applications
  • Easy to test & tweak in development, easy to deploy to production, easy to quickly iterate functionality with end users
  • Production app back end processes spun up automatically using Beacon’s elastic compute service — scales to 1,000’s of concurrent end users
App Server Framework
  • Expert web developers can build native JavaScript applications in Beacon
  • Beacon hosts the applications
  • Applications can access all Beacon analytics and data

Gromit Dependency Graph

Beacon’s powerful dependency graph gives you spreadsheet-like functionality while staying scalable and maintainable

Excel is popular because it includes a dependency graph
  • Makes it easy to see how data propagates through complex calculations
  • ... but Excel does not scale well and becomes very hard to maintain because worksheets are unstructured grids
Gromit is a Python module that delivers a powerful, generic dependency graph
  • Lets developers and users transparently track data propagation in arbitrarily complex systems
  • ... while representing the graph using standard object-oriented programming principles for scalable and maintainable code

The Data Fabric

Beacon solves the common problem of fragmented data by integrating a data fabric that wraps all enterprise data sources

Data integration is complex: do it once the right way
  • No need for every developer to have to aggregate data they need each time they need it
  • A single interface lets you robustly enforce entitlements and throttle data flow
Beacon gives a common interface to heterogeneous data sources
  • Integrated MongoDB document store comes with Beacon Core
  • Relational database access done right
  • “Hybrid cloud” model lets you decide what data you are comfortable putting in the cloud and what data you want to keep in your local data center

The Beacon Control Framework

Beacon’s control framework supports nimble, iterative development of new functionality alongside tightly controlled core functionality, all in the same platform

Controls are notoriously hard to get right
  • Loose controls allow nimble, iterative development but make the production environment fragile
  • Tight controls can drown innovation
  • The wrong controls spawn bureaucracy and frustration and slow down your business
Beacon’s control model was forged in highly regulated but innovative global investment banks
  • Supports SOX controls and strict bank regulatory controls
  • Allows nimble, iterative development of new functionality
  • ... while also robustly controlling core functionality that production processes depend on
  • We do this by automatically categorizing source code and attaching different controls to different categories
  • Also by automating the control workflows through tools integrated into the Beacon platform, to minimize manual work and bureaucracy
Beacon Platform changes are released daily to client environments after robust automated testing
  • Small, atomic, frequent, and automated mini-releases versus monolithic, resource-intensive annual releases
  • Clients get new functionality as it is created

The Bob Job Scheduler

The bob job scheduler helps developers be more productive by owning their own automation

Bob is integrated into the Beacon Platform
  • Easy for developers to add & maintain automated jobs
  • Lets them automate what used to be manual tasks and focus on adding value to the business
  • Leverages Beacon’s elastic compute framework that automatically manages batch job infrastructure behind the scenes
Bob’s reporting framework makes it easy to build and deploy rich reports
  • Beacon’s HTML library makes it easy for regular developers to construct rich HTML documents without knowing HTML
  • Bob’s reporting framework helps developers robustly deploy reports to end users while respecting entitlements and maintaining a perpetual history of reports

The WMP Grid Scheduler

WMP makes it easy for Beacon developers and users to transparently access enterprise-scale parallel compute in the cloud

Realizes the promise of elastic compute
  • Beacon’s elastic infrastructure service is built on low-level cloud APIs to securely integrate compute into the platform’s data and analytics
  • Developers and users just send work to WMP; behind the scenes the infrastructure is spun up and down as needed
  • Pay-as-you-go compute reduces total infrastructure charges and removes large up-front capital charges
  • Immediate access to dynamic pools of compute leads to much easier experimentation with computationally expensive business models
Easy for developers to access without sacrificing flexibility
  • Developers do not need to be infrastructure or parallel-compute experts to solve most common computational problems with WMP
  • ... but WMP includes tools for the experts, too, for niche problems that need more complex solutions

Infrastructure as a service

Beacon runs in the Amazon Web Services (AWS) cloud and our product includes software defined infrastructure management. This support is included in the Infrastructure Support Fee.

Infrastructure Management
  • All infrastructure is managed in software: infrastructure management is automated and replicable
  • Beacon automatically spins up hardware for database servers, development environment servers, web traffic balancers, encryption key servers, application back ends, and more
  • All hardware is spun up in the client’s AWS account and the client pays AWS fees directly
  • Long-term, always-on infrastructure (such as database servers) uses Amazon’s “reserved” instances to reduce infrastructure costs
Disaster Recovery
  • For each client, we maintain multiple failover versions of their entire Beacon environment, including all the clients own data and source code
  • Backup Platforms are replicated across multiple instances in independent Amazon Availability Zones (AZ)
  • Data is continuously synchronized across all Backup Platforms
  • We commit to disaster recovery from one AZ to another AZ within a single Amazon Region within 60 minutes
  • For even further enhanced system reliability, Backup Platforms can be replicated across independent Amazon Region
  • Compute single machine failover is automatic and transparent to clients:
    1. New compute resources are automatically spun up
    2. The Bob job scheduler automatically reschedules batch jobs from failed machines to others in the elastic compute pool
    3. The WMP grid scheduler automatically rescheduled parallel compute jobs from failed machines to others in the elastic compute pool
Data Backup
  • MongoDB data is replicated across multiple instances, managed automatically by Beacon
  • Data stored in Amazon’s S3 (end of day reports, large data sets, etc) is automatically backed up
  • Trade data is never deleted: Beacon keeps an audit log of all trade actions and events
  • Persistent data supports at rest encryption on request.
  • Beacon services automatically encrypt any external data transfers over SSL, internal data between core services can be transferred over SSL on request.
  • Encryption uses client-specific keys so every client is securely segregated
  • Beacon user roles and groups define entitlements that are automatically enforced
Elastic Compute
  • Compute (batch jobs, parallel compute, application back end processes, Excel interface backends, etc) is spun up and down dynamically as required (“elastic” compute)
  • Compute pools are defined with minimum and maximum number of available cores, with ability to define available core numbers on a schedule
  • Elastic compute costs are minimized through automated management of elastic compute pools and by taking advantage of Amazon “spot” compute, which is normally significantly cheaper than on-demand compute