Architecture
A storage node provider is the core part of Kandola's architecture delivering the actual service of decentralized storage nodes for databases.
Girnaar's automated deployment architecture wraps around this component of the Kandola network.
The current Kandola stack for a node provider looks like below.
Kandola services help a storage node provider to listen into bids and bid automatically but they expect the node provider to:
Build and automate their pricing engine.
Monitor the bids won and spin up deployments.
Reserve infra, slice it up and deploy relevant sub-infrastructure for the bids won.
Deploy relevant storage node service for the database to become accessible to the customer and the network.
Monitor the performance and run the infrastructure life cycle management.
This is pretty hard to do manually, everytime. Hence, we have built an orchestration layer to automate these functions of a storage node provider.
The 3 new components introduced by Girnaar are:
Infrastructure Manager Service: This is a central service that receives bid requests from Kandola's Node Operator Service, routes it correctly to appropriate cluster managers, collects pricing bids, decides the winner and bids. It also maintains a central repository of your network's entire infrastructure. Once a bid is won, it works with appropriate cluster manager to ensure an automated deployment is done and communicated via Kandola network successfully. It manages the central source of truth on your network resources and in the future will work with reporting modules.
Cluster Manager Service: Deployed at every cluster in the Cluster Master machine, it manages the bidding, resources and deployments in its cluster. It first spins up a cluster master service in the same hardware which is a Kubernetes wrapper and takes care of entire hardware orchestration. Further, it has a pricing engine tied to it with whom they submit bid responses to the central Infrastructure Manager Service.
Cluster-level Pricing Engine: The core function of this service is to work off the configuration provided by you and price the resources for the bid correctly. It works as an internal service for Cluster Manager Service and is guarded off from the external world to prevent attacks that might lead to incorrect pricing or denial of service.
More details on each of the module is available here.
Last updated