I'm planning for block to make it easy to deploy and manage load balanced services.
Most cloud platforms are quite complicated to get setup for load balancing, and even more complicated to manage. I want to make it easy to deploy and manage load balanced services. Kind of like Digitalocean's app platform, but with load balancing.
Block is the technical framework to make this happen, it is not a SaaS, PaaS or anything like that. Though in the future I might create a hosted version of Block, but that is not the goal of this project.
Join me on this journey of creating Block!
My plan is to write the source completely in Go, I reckon it's the best way to learn a new language. There are also some shell scripts that are used to help with development and setup of servers. The master instance will have a sqlite database to store information. If I have time I plan on having a web interface called "Studio" for managing the master instance.
A list of progress on the project and planned features that need to be made to make Block a reality.
- VPS Simulator docker image
- Block initialization
- Image pulling
- Image running
- Running multiple images on one Block
- Health monitoring
- Ability to command the Block via HTTP
- Ability to get logs from Block via HTTP
- Ability to get list of running images on Block via HTTP
- [-] SSL Provisioning
Nice to have features
- [-] Git repo support
- [-] Builder images for building from source
- [-] Ability to store vps images in bucket
- Apply config
- [-] Adapters to manage slaves. (local, digitalocean, aws, gcp, azure etc)
- [-] Nginx HTTP load balancer
- [-] Pre pulling images on slaves and then turning them off again
- [-] Caching slave images in nearest blob storage (s3, gcs, azure blob storage)
- [-] Get list of slaves
- [-] SSL Provisioning
- [-] Custom Domain support
https://www.figma.com/file/x5uF613CR5OjIn5VgdSkhE/Block?node-id=0%3A1