One of the main objectives of PHYSICS is to provide a FaaS (Function as a Service) Platform able to operate, orchestrate, and deploy service applications adaptatively on different infrastructures from several cloud providers.
Most current implementations are facing the following constraints that limit their potential:
- Lack of Proper Resources Catalog Management: Not all cloud providers would provide the same resources or services in their catalog. Therefore it could happen that the platform would be in need for some specific resources that are not present in the given provider.
- Deployment Heterogeneity: Most of the cloud providers provide the same basic resources in their catalog. However, not all of them are provisioned the same way. This means that all providers expose a different interface on how resources are created, administered and operated.
- Operations Diversity: Given this deployment diversity, there would be different procedures on how to execute the required operations to deploy and maintain the platform.
- Limited Orchestration Intelligence : On top of the previous points, there is a need of orchestration that makes the platform work automatically. Orchestration enables operations execution with the minimum human interaction or even no interaction at all. Ideally, a FaaS cloud platform must automatically detect points of failure either proactive or reactive way and apply the required operation action.
To alleviate these limitations, PHYSICS proposes a novel approach that addresses the need of simplifying the heterogeneity complexity by simply adding an abstraction layer for FaaS cloud computing.
This abstraction layer is composed of two core components:
- Platform operator: This element administrers the platform and decides what needs to be done and how. This element contains the logic to create the new operations given the current status of the platform i.e. it is an active element.
- Platform runtime: The element is aware of the current state of the platform and provides back to the operator the necessary information required for the operations to proceed. It is responsible for the administrative and maintenance operations to keep the platform healthy and alive. This is a passive element since it does not have any logic to make proactive operations. Its sole purpose is to persist the state of the platform as instructed by the operator.
By including those elements all platform operations will be interfaced by the operator who will include the abstraction logic of the operations. Therefore, the operator will get a declarative input on what is needed. Accordingly, the operator will automatically execute the necessary tasks in the best possible way to get to the new state. Once the Operator has executed the necessary operations, the platform runtime will try to keep the state that was ordered by the operator and will execute any fixing actions in case any error takes place due to the new change.
In this way, the solution developed by PHYSICS will simplify platform operations in a multi-cloud environment with multi providers, while offering increased scalability. All operations will be performed based on the specific needs of each application at the right time, without a prior knowledge of the operator conditions.
To keep up with our implementation updates, follow PHYSICS on Twitter: https://twitter.com/H2020Physics