squeezer-metabaron
v1.1.14
Published
Event-driven APIs & Web apps on microservices, serverless ! Squeezer is a framework designed to help developers to get a better architecture on serverless zero-administration compute platforms with code that runs into [microservices](https://en.wikipedia.
Downloads
8
Maintainers
Keywords
Readme
Watch video
Framework : squeezer.io
Docs : docs.squeezer.io
Chat : chat.squeezer.io
Contents
What is Squeezer ?
Squeezer is a framework designed to help developers to get a better architecture on serverless zero-administration compute platforms where code runs on the top of microservices clouds like AWS Lambda , Azure Functions , IBM OpenWhisk & Google Functions
Features in short
- Swagger UI API REST documentation support
- SEO-friendly web apps with the PUG support ( formerly known as JADE ) + your favorite JS framework + CDN integrated support for project's assets (js, images, css, ...)
- share components between microservices
- auto-deployable, auto-scalable , no DevOps requirements
- silent deployments ,no interruption for the current functionality ( really useful on production )
- access deployed resources credentials (DB user, pass ...) directly from
process.env
variables - one single command to simultaneously deploy all available microservices on your project
- quick intuitive code deployments by using a special mechanism which will deploy only assets, functions and file packages where code changed from the last deployment
- automatic rollback to the previous working deployment if something goes wrong
- sequential deployments, wait for the current deployments in progress to finish
- self-healing microservices
- test your code locally on a simulated microservices platform for a faster development cycle
- separate your environments in multiple stages
- extend framework functionality with your own "home-made" plugins
- pay only for the usage ( no monthly subscriptions )
- competitive pricing ( >= 2$ / 1 million HTTP requests )
- smart external dependencies inclusion into the compiled microservice ( node_modules and other project files ) ... just like on any other trivial NodeJS project
- Babel ES6/ES7 + Webpack 2 integration
Requirements
- Install node.js version
>=6
Squeezer CLI
Squeezer command-line interface
Templates
Create a quick project stub by using templates :
| template | description | |-----|--------------| |aws-api-nodejs | AWS generic API app template. | |aws-web-nodejs | AWS generic WEB app template. | |azure-api-nodejs | Azure generic API app template. | |azure-web-nodejs | Azure generic WEB app template. |
Plugins
Extend or merge the Squeezer framework functionality with plugins
| Plugin | Author | |-----|--------------| |AWS Plugin This plugin enables AWS Lambda support within the Squeezer Framework. | Nick Chisiu | |Azure Plugin This plugin enables Azure Functions support within the Squeezer Framework. | Nick Chisiu | |Serve Plugin This plugin enables serving support for local development within the Squeezer Framework. | Nick Chisiu | |Swagger Plugin This plugin enables Swagger API Documentation support within the Squeezer Framework. | Nick Chisiu |
Example Projects
| Project Name | Author | Demo | |-------------|------|---------| | AWS Generic API Project AWS generic API Hello World projects using Swagger API Docs | Nick Chisiu | demo | | AWS Generic WEB Project AWS NodeJS WebApp template + Pug ( ex-Jade ) + ReactJS support + Material UI + Bootstrap 3 styling | Nick Chisiu | demo | | AWS REST API Project AWS NodeJS REST API template + DynamoDB + Swagger support | Nick Chisiu | demo | | Azure Generic API Project Azure generic API Hello World projects using Swagger API Docs | Nick Chisiu | demo | | Azure Generic WEB Project Azure NodeJS WebApp template + Pug ( ex-Jade ) + ReactJS support + Material UI + Bootstrap 3 styling | Nick Chisiu | demo | | Azure REST API Project Azure NodeJS REST API template + Azure SQL + Swagger support | Nick Chisiu | demo |
Getting started
NOTE: Windows users should enable symlinks in order to avoid unwanted symbolic links errors .
Run
| | cmd | description | |----|-----|--------------| | 1. | npm install -g squeezer-cli | Install Squeezer CLI | | 2. | sqz create --project my-first-project --template aws-api-nodejs --email [email protected] | Create a project | | 3. | cd my-first-project | Switch to the project's directory | | 4. | Configure credentials | Cloud credentials | | 5. | sqz install | Install project's required packages | | 5. | sqz compile | Compile project's microservices | | 7. | sqz serve | Development modeNOTE : Live reload enabled by default |
Deploy
| | cmd | description | |----|-----|--------------| | 1. | sqz compile --cloud | Compile microservices for cloud deployments | | 2. | sqz deploy --stage dev | Deploy your app into the cloud providerNote: initial deployments can take longer <= 40 mins |
Contributing
See contributing.md for contribution guidelines