Skip to content

bmsauer/bigcgi

Repository files navigation

bigCGI is a function as a service (FaaS) platform utilizing the CGI standard.

Why CGI?
  - CGI is easy to implement in almost any programming language
  - CGI scripts can be run and tested locally, and are not vendor specific
  - CGI scripts run with process isolation
  - CGI is a stateless standard

But isn't CGI old/slow?
  - bigCGI is for async background jobs
  - It's a solid standard that is easily understandable and implementable
  - CGI is a "gateway" standard, solving "how do programs respond to requests"

How does it work?
  - bigCGI is a python Bottle application, running on FreeBSD servers
  - The application stores your functions on a server, and runs them according
    to the CGI standard.
  - The application coordinates with a cluster of servers, and ensures your
    function is propogated across the cluster.
  - The bigCGI applications are deployed behind a reverse proxy

What is the status of this project?
  - bigCGI is in active development and is currently in a alpha stage
  - Roadmap:  xs
    - Architecture 2 - a total overhaul of the bigcgi internal architecture
    - Environment Modules - support for environment modules for runtime environments
    - Documentation and tutorials
    - API - api to manage applications and files
    - Chaining - apps pass output to other apps

Who can I contact?
  - I appreciate feedback and conversation
  - bigcgi.app (AT) gmail.com

------------------------------------------

See LICENSE, and TERMS

------------------------------------------
    
INSTALL TO LOCAL VAGRANT BOX
  - cd serversetup
  - vagrant up
  - create ansible_vault_password file
  - cd serversetup/ansible
  - ansible-playbook --vault-password-file vault_password_file -i inventory.ini playbook-create-local.yml

  - use vagrant ssh to debug