bmsauer/bigcgi
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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