Advances, Systems and Applications
 | CROFs | |||||||
---|---|---|---|---|---|---|---|---|
 | Application Features | Heat | Cloudify | Brooklyn | Stratos | Alien4Cloud | Terraform | CloudFormation |
 | Portability |  |  |  |  |  |  |  |
 | - Model Standards | 0 | 0 | 0 | x | 0 | x | x |
 | - Model Reusability | 0 | \(\mathbf {\checkmark }\) | 0 | 0 | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | 0 |
 | - Model Sharing | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | 0 | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x |
Development | Containerisation | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | Resource Selection |  |  |  |  |  |  |  |
 | - Manual Binding | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Automatic Binding | x | x | 0 | x | x | x | x |
 | - Optimised Binding | x | x | x | x | x | x | x |
 | - Dynamic Binding | x | x | x | x | x | x | x |
 | Lifecycle Control |  |  |  |  |  |  |  |
 | - Script-based | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - DevOps | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | Wiring & Workflow |  |  |  |  |  |  |  |
 | - Attribute & Event Passing | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | 0 | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Manual Workflow | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | x |
 | - Automatic Workflow | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
Deployment | - External Services | x | x | x | x | x | \(\mathbf {\checkmark }\) | x |
 | Monitoring |  |  |  |  |  |  |  |
 | - System Metrics | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Application Metrics | x | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) |
 | - Custom Metrics | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) |
 | - Aggregation | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | 0 | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Historical Data | x | \(\mathbf {\checkmark }\) | x | x | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) |
 | Runtime Adaptation |  |  |  |  |  |  |  |
 | - Threshold-based | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Rule Engine | x | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | x |
 | - Horizontal Scaling | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |
 | - Migration | x | 0 | x | 0 | 0 | x | 0 |
 | - Failure Recovery | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | 0 | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | x | \(\mathbf {\checkmark }\) |
Execution | - CI/CD | 0 | \(\mathbf {\checkmark }\) | 0 | x | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) | \(\mathbf {\checkmark }\) |