Ongoing Project by Microsoft Software and Systems Academy Camp Pendleton Cohort 18 to design a decentralized private cloud.
- Peer to Peer VPN over Public IP - ZeroTier One
- K3s Hosted ZeroTier Controller with Azure-based etcd Database
- Redundant Docker Swarm for highly available application deployment
- GlusterFS distributed storage for Docker/K3s persistent storage
The provided How-To guides will walk you through the steps required to build a redundant, HA container environment on Raspberry Pi's for a low-cost, easy to make testing environment
The current implementation makes use of an external Azure VM DB cluster for the K3s database, however this can be removed if a more efficient storage method is provided. The built in Pi storage via the MicroSD does not provide the required R/W speeds for an etcd database to function properly, and will result in reoccuring issues if attempted
Outside of the current usage for students as a test environment, the technologies employed in this project have clear applications to real-world scenarios inlcuding:
- HPC (High Performance Computing) - Cheap alternative for algorithm testing and data analysis
- CDN (Content Delivery Network) - Cheap, edge-cached storage for geographically distributed data access
- Point of Sale
- CCTV
This implementation makes use of USB 3.0 thumb drives for Gluster storage, but this can just as easily be run using the builtin MicroSD storage as well.