We use proprietary and third party's cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
Cloud Hosting Architecture R3 - FIWARE Forge Wiki

Cloud Hosting Architecture R3

From FIWARE Forge Wiki

Jump to: navigation, search


FIWARE WIKI editorial remark:
This page corresponds to Release 3 of FIWARE. The latest version associated to the latest Release is linked from FIWARE Architecture


The Cloud Chapter offers Generic Enablers that comprise the foundation for designing a modern cloud hosting infrastructure that can be used to develop, deploy and manage Future Internet applications and services, as outlined in Materializing Cloud Hosting in FI-WARE.

The capabilities available in the second release of FI-WARE Cloud Hosting platform are outlined in Roadmap of Cloud Hosting.


The following diagram shows the main components (Generic Enablers) that comprise the second release of FI-WARE architecture.

Cloud Architecture Overview

The architecture comprises a set of Generic Enablers that together provide hosting capabilities of several kinds and at several levels of resource abstraction -- aiming at the needs of different applications hosted on the cloud platform. IaaS Data Center Resource Management (DCRM) GE is offering provisioning and life cycle management of virtualized resources (compute, storage, network) associated with virtual machines, which can run general purpose Operating Systems as well as arbitrary software stacks. Application developers and providers can use these virtual machines to develop and deploy their own software components that comprise their application stacks. Object Storage GE offers provisioning and life cycle management of object-based storage containers and elements, which can be efficiently used to store unstructured fixed content (such as images, videos, etc.) as well as accompanying metadata. Job Scheduler GE offers the application to submit and manage computational jobs in a unified and scalable manner. Edgelet Management GE offers the capability to host lightweight application components, called edgelets, on devices typically located outside of the Data Center, such as those provided by the Cloud Proxy GE (developed jointly by the Cloud chapter and the Interfaces to Network and Devices chapter). Moreover, IaaS Service Management (SM) GE provides the means to host complex applications potentially comprising multiple virtual machines and other runtime components (as outlined above), by automated provisioning and life cycle management of such compound applications (also called services), including elasticity and auto-scaling based on metrics collected by the Monitoring GE. Lastly, PaaS Management GE uses the above capabilities to offer provisioning and management of complete PaaS environments, leveraging also the Software Deployment and Configuration (SDC) GE which offers a flexible framework for installation and customization of software products within individual virtual machines.

Each of the above GEs provides a REST API that can be used programmatically. The human actor represents the programmatic user of the different capabilities of the Cloud GEs via REST APIs. Moreover, the Cloud chapter provides a Web-based Portal (part of the UI layer), which surfaces main capabilities in an interactive manner -- such as provisioning and monitoring of VM instances and services.

Cloud Hosting Generic Enablers are using the Identity Management and Access Control framework provided by the Security chapter.

Inter-dependencies and Interaction between GEs

While each GE comprises a set of functions and capabilities that can be used stand-alone, in a typical cloud deployment the different GEs will interact with each other, to provide a complete end-to-end solution. For example:

  • IaaS Service Management (SM) GE may invoke APIs of IaaS Data Center Resource Management (DCRM) GE to perform operations on virtualized resources (mainly virtual machines) which comprise the services managed by SM GE.
  • Cloud chapter GEs will use Identity Management and Access Control APIs for authentication and authorization purposes
  • IaaS Service Management (SM) GE may use APIs of the Monitoring GE to collect metrics of the underlying resources which comprise the service, to drive service elasticity.
  • PaaS Management GE will use IaaS Service Management GE to drive provisioning and auto-scaling of the VMs composing the PaaS software stack.
  • PaaS Management GE will use Software Deployment and Configuration (SDC) GE to install and configure the software components running within the individual virtual machine comprising the PaaS environment.

Guiding Design Principles

There has been quite an amount of work carried out in defining what cloud computing is and what design principles it should adhere to. There are a number of general principles that have been collated by the Future Internet Architecture Group and some of these are especially relevant. One of the canonical definitions of cloud computing, more so from a technology perspective, is that of the National Institute for Standards and Technologies (NIST).

On-Demand, Self-Service

A consumer can unilaterally provision computing capabilities, such as server time and network storage, automatically as needed without requiring manual human interaction with each service provider.

Broad Network Access

Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin- or thick-client platforms (e.g., mobile phones, tablets, laptops, and workstations).

Resource Pooling

The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources, but may be able to specify location at a higher level of abstraction (e.g., country, state, or data center). Examples of resources include storage, processing, memory and network bandwidth.

Rapid Elasticity

Capabilities can be quickly elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

Measured Service / Pay-As-You-Go

Cloud systems automatically control and optimize use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported. This provides transparency for both the provider and consumer of the utilized service. This finally allows for metered services pricing, also known as pay-as-you-go.


To be dependable, a service must exhibit/implement the following attributes as defined by Avizienis:

  • Availability: readiness for correct service
  • Reliability: continuity of correct service
  • Safety: absence of catastrophic consequences on the user(s) and the environment
  • Integrity: absence of improper system alteration
  • Maintainability: ability for a process to undergo modifications and repairs
  • Confidentiality: absence of unauthorised disclosure of information

This definition was formed in 2004, however in the age of the Internet of services, where end-users are service- and not product-oriented, this list needs to be updated to better reflect today’s needs. The definition should cover aspects of transparency. Transparency in this context is the ability to inspect and introspect a service so that the delivered and guaranteed quality of the service agreement can be verified and observed. For us in Cloud Hosting this means that cloud providers should provide means to access performance information on one’s provisionings so that, not only can one see what one has but one can build more useful services atop. This finding is reflected in the EU Future Internet Architecture Working Group findings.

Architecture Description of GEs

Personal tools
Create a book