The following demo presents an overview of CloudWave in action in a real-world use case scenario:
The CloudWave Framework
The CloudWave Framework allows easy access to 3rd parties wishing to implement their own version of a CloudWave-like system. The Framework provides an aggregate reference to all project produced documentation and publically released software components. To license project components with proprietary licenses, contact: cloudwave-contact@lists.uni-due.de.
References to similar, open source alternatives to proprietary components is given where applicable.
I. CloudWave Reference Architecture
The CloudWave architecture is composed of four primary components:
- Execution Analytics
- Coordinated Adaptation
- Feedback Driven Development
- Infrastructural Services
The CloudWave High Level Architecture Description document can be downloaded from: D.1.2.3. Architecture and Process Specification: Year 3 Report
III. Component-level Assets
A. Execution Analytics
Execution Analytics improves existing cloud and application monitoring solutions with a holistic approach to metric collection, aggregation and event triggering.
Asset | Owner | Purpose | License | Link |
---|---|---|---|---|
EASER | Proprietary (IBM) | It enables un-structural and structural log analysis as part of CloudWave’s log analysis. It can analyze data coming from multiple resources and generate queries that issue alerts when analyzing logs. | IBM Licensable | Email: Link |
OpenSource substitute of EASER: LogStash | 3rd party Open Source | Apache 2.0 | Link | |
ESPER | 3rd party Open Source | Complex Event Processor | GNU GPL 2.0 | Link |
Ceilometer Agent | Project-modified 3rd party Open Source | Its main role is to collect data coming from the application and to redirect it to the CeiloEsper component. The Agent is able to automatically filter data in order to send only those messages that are really needed by Esper´s rules, thus avoiding useless network congestion. | Apache 2.0 | Link Link Link |
Metrics/Topology Dashboard | Project-produced/ modified Open Source | It is based on OpenStack Horizon. Allows visualizing in real time monitoring data (bandwidth per VLAN, delay, packet loss, jitter) as well as events coming from the different layers of the CloudWave architecture. | Apache 2.0 | Link |
B. Coordinated Adaptation
Coordinated Adaptation reconfigures the application and infrastructure to efficiently respond to environmental changes during runtime.
Asset | Owner | Purpose | License | Link |
Hardware Adaptation Engine | Project-produced/ modified Open Source | It is a plugin that recommends the most appropriate node for an adaptation action (e.g. migration) based on the hardware features existing in the node and the discovered features of the application. | Apache 2.0 | Link |
Risk Analysis Engine | IBM Proprietary | The Risk Engine is a sub-Adaptation Engine, and is used to evaluate the risk of proposed adaptation solutions based on quantifying how far the new operating environment will be from what has already been tested. | IBM Licensable | link |
Cost Engine | Project-produced/ modified Open Source | It is used to calculate different financial aspects, including current cost of a cloud application and cost evaluation of potential changes. | Apache 2.0 |
gitlab link |
Migration Target Engine | Project-produced/ modified Open Source | The migration target engine concludes where to migrate a stressful VM. It identifies the least congested VLAN, and in it, the least congested host. That host will be the target for the VM migration. | Apache 2.0 | github link |
Adaptation Engine Framework | Project-produced/ modified Open Source | It holds plugins for sub-adaptation engines. Consolidates voting of all sub-adaptation engines into a final recommendation list. | Apache 2.0 | Link |
FCORE Editor | Project-produced/ modified Open Source | The editor allows developers to provide FCORE models through a GUI. | Apache 2.0 | github link |
FCORE Solver | Project-produced/ modified Open Source | The solver analyzes the FCORE model and evaluates different adaptation options. | Apache 2.0 | github link |
C. Feedback Driven Developmentt
Feedback Driven Development advances current DevOps solutions with tools and methods for application development based on continuous feedback.
Asset | Owner | Purpose | License | Link |
---|---|---|---|---|
Tracer | Project-proprietary - SAP | It is an interface for the developer to capture configuration settings. Supported settings are functions to trace, metrics to trace and an execution rule. | SAP Licensable | Email: Link |
Data Analyzer | Project-proprietary - SAP | It is a tool set for analyzing data base schema and database content to support improvement of the database and consequently the application. | SAP Licensable | Email: Link |
Test Data Generator | Project-proprietary - SAP | It generates test data based on extracted information by the Data Analyzer. | SAP Licensable | Email: Link |
CASPOTT | Project-produced/ modified Open Source | It enables application behavior analysis of each function by persisting and visualizing the response times, number of calls and number of errors. | Apache 2.0 | Link |
Performance Spotter | Project-proprietary - SAP | It enables performance behavior analysis of each function by persisting and visualizing the execution times and number of accesses. | SAP Licensable | Email: Link |
Monitoring Configuration Cockpit | Project-proprietary - SAP | It evaluates saved settings and creates a new tracer configuration for a configuration specific tracer. For the execution rules, it evaluates and records tracer state before each run. | SAP Licensable | Email: Link |
Auto Scaler | Project-produced/ modified Open Source | It receives and analyzes the runtime metrics of an application and based on them scales the application | Apache 2.0 | Link |
Availability Observer | Project-proprietary - SAP | It observes the availability of application and in case of an anomaly notifies the DevOps | SAP Licensable | Email: Link |
D. Infrastructure services
Infrastructure services connect between the other components and between the underlying Cloud Platform (e.g. OpenStack).
Asset | Owner | Purpose | License | Link |
.so | Project-produced/ modified Open Source | It provides new applications with access to CloudWave functionality, including generated an enactment point, and responding to adaptation requests. It also includes metric and log collection functionality. It will be a part of AppSupportToolkit package. | Binary Firmware License | Link |
Object Model | Project-produced/ modified Open Source | It is a graph representation of stack deployments. | Apache 2.0 | Link |
Heat++ (events plugin) | Project-produced/ modified Open Source | Infrastructure orchestration based on coordinated adaptation features. | Apache 2.0 | Link |
RabbitMQ | 3rd party Open Source | Robust messaging for applications. | Mozilla Public License | Link |
MongoDB | 3rd party Open Source | A free and open-source cross-platform document-oriented database. | AGPL v3.0 | Link |
IV. Component-Level Scientific papers
Scientific Document | Describes | Link |
---|---|---|
High Level Architecture | High Level Scientific Report: a report presenting the last iteration of CloudWave's architecture, as well as its relation to the state of the art for the project's three pillars of focus for improved cloud IaaS and SaaS offerings: Execution Analytics, Coordinated Adaption and Feedback-driven Development. | Link |
Infrastructure Services | Component-Level Scientific Report: .so, Object Model, OpenStack services (RabbitMQ, Nova, Keystone, Heat), MongoDB, LogStash, Adaptation Engine Framework dashboard, Heat++ (events plugin) | Link |
Execution Analytics | Component-Level Scientific Report: ESPER, Ceilometer, [UniMe probe], Extended Horizon, EASER | Link |
Coordinated Adaptation | Component-Level Scientific Report: Cost Engine, Risk Analysis Engine, Hardware Engine, Adaptation Engine Framework, | Link |
Feedback Driven Development | Component-Level Scientific Report: Test Data Generation, CASPOTT, Mobile Hybrid Applications Anti-Pattern Analysis, Feedback Driven Analysis of Performance Regressions | Link |