1.0.0 • Public • Published

    Beekeeper Header


    Beekeeper is open-sourced Backend as a Service (BaaS) built to handle bursty traffic from one-off events like sale or promotion. Set up a virtual virtual waitroom in a few minutes, and tear it down in seconds.

    Beekeeper deploy

    There is a difference between the infrastructure needed for normal business activities and infrastructure needed for bursty traffic related to one-off events. An abrupt increase in website traffic can be the effect of many different causes. One such cause is an event like a Black Friday sale or similar promotion. If the existing infrastructure is unprepared the spike in traffic it may result in a Denial of Service. The desired service may be unavailable until traffic declines to a manageable level. Beekeeper is a fast and flexible solution to this bursty traffic.

    Beekeeper Architecture

    Beekeeper architecture

    The Team

    Ryan Schaul Software Engineer Chicago, IL

    Ian Eustis Software Engineer Portland, OR

    Justin Zeng Software Engineer Los Angeles, CA

    Aaron Crane Software Engineer San Francisco, CA

    Getting Started


    Install Beekeeper

    npm install -g beekeeper-cli


    beekeeper init

    creates a waitroom account, enabling the deploy, destroy, on, off, and set-rate commands. init can be run multiple times to create mutiple accounts

    Beekeeper init

    The init command will prompt for the following information:

    • Profile name - differentiates your various waitrooms from each other, and lets you choose which one to create, modify, or destroy.
    • Waiting room name - publicly displayed in the online waitroom, so it's best to choose something that describes what the waitroom is for, such as the name of your company so that your customers know that they're in the right place
    • AWS region - the aws region that you would like to place your waitroom in
    • URL endpoint/protected URL - the URL that you want to direct people to after they go through the waitroom.
    • Allowed users per minute - the max amount of users that you want to allow onto your website per minute. The ideal amount differs greatly between websites, and its best to find your ideal traffic through load testing and tracking analytics. Beekeeper comfortably handles 10-3000 entries per minute

    beekeeper deploy <name>

    Builds custom files, uploads them to s3 buckets, and sets up the waitroom architecture on your aws account. Once its done, you are given two URLS; the waiting room URL is what you provide to your customers/viewers publicly, and the client check endpoint can optionally be added to your own back end to prevent people from skipping the queue.

    The following components will be created on your aws account:

    • 5 IAM roles
    • S3 Bucket with all needed html/css/js
    • SQS with dead letter queue (DLQ) attached
    • DynamoDB table
    • 2 lambdas
    • API Gateway
    • All required permissions
    • Beekeeper deploy

    beekeeper destroy <name>

    Removes all of the aws components associated with the given name. The URLs will no longer be valid

    beekeeper config

    Lists all of the accounts that were created with init

    beekeeper off <name>

    Turns off the waitroom. The provided URLS will continue to be valid, but people will be sent directly to the destination URL

    beekeeper on <name>

    Turns a waitroom on that had been previously turned off

    beekeeper set-rate <name> <value>

    Changes the rate at which people are sent from the waitroom to the final destination. Must be an integer between 10-3000


    npm i @beekeeper-cli/beekeeper-cli

    DownloadsWeekly Downloads






    Unpacked Size

    11.3 MB

    Total Files


    Last publish


    • rschaul
    • eustisic
    • jzeng88
    • arncrn