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 |