Cloudforet Architecture
The Cloudforet consists of a micro service architecture based on identity and inventory. Each micro services provides a plugin interface for flexibility of implementation.

Cloudforet Backend Software Framework
The Cloudforet development team has created our own S/W framework like Python Django or Java Spring.
Cloudforet S/W Framework provides software framework for implementing business logic. Each business logic can present its services in various way like gRPC interface, REST interface or periodic task.
| Layer | Descrption | Base Class | Implementation Directory | |
|---|---|---|---|---|
| Interface | Entry point of Service request | core/api.py | project/interface/interface type/ | |
| Handler | Pre, Post processing before Service call | |||
| Service | Business logic of service | core/service.py | project/service/ | |
| Cache | Caching for manager function(optional) | core/cache/ | ||
| Manager | Unit operation for each service function | core/manager.py | project/manager/ | |
| Connector | Interface for Data Source(ex. DB, Other micro services) |
Backend Server Type
Based on Interface type, each micro service works as
| Interface type | Description |
|---|---|
| gRPC server | gRPC based API server which is receiving requests from console or spacectl client |
| rest server | HTTP based API server, usually receiving requests from external client like grafana |
| scheduler server | Periodic task creation server, for example collecting inventory resources at every hour |
| worker server | Periodic task execution server which requests came from scheduler server |