You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 2
Next »
Problem
Current CloudStack API layer design suffers from various issues:
- not REST compliant, and mixed use standard GET and POST method.
- Resource response object definition is driven by UI rather from end-user perspective, causing performance issues for large scale system.
- Lack of a generic mechanism to develop new APIs, leading to inconsistent implementation in different commands.
- No standard way to perform flexible search against CloudStack entities.
- Tightly coupling ACL checking in our query logic.
To address those issues, we are proposing to deprecate current api and api server, and redesign a REST compliant api server using JAX-RS or better technologies. This API server should be a separate component from cloud-engine and can be hosted on distributed machines to serve end-user request. Note that this new API server will only handle end-user API. Admin can request information through cloud-engine API.
REST API Server Architecture