App installation and update library
- Server: A server instance that tracks and manages the client applications
- Client: A library that needs to be embedded within the main application to be managed within the infrastructure
- CLI: A helper utility to install applications (client as well as server) on an instance so that can be run as a linux daemon
- Manage Development/Staging/Production deploy of applications
- Use github flow to automatically update running instances
- github/master for
Development
mode - github/package@next for
Staging
mode - github/package for
Production
mode
- github/master for
- Add/Remove application instances as required
- Define rules for application scaling
- Provide message queing (pub/sub) across applications
- Use infrastructure api (Digital Ocean/AWS, etc) separately to make the infrastructure management work seamlessly with different vendors.