Verso il primo cloud application store italiano, con OpenNebula, Puppet e REST: ClouDesire. Nonostante il proliferare di piattaforme e soluzioni cloud, queste tecnologie richiedono know-how e risorse per poter essere pienamente abbracciate, soprattutto in Italia, dove applicativi e architetture legacy regnano (ancora) sovrani. ClouDesire si pone come obiettivo di semplificare il processo per portare su cloud un'applicazione (web o legacy), e distribuirla in modalità XaaS, fornendo tutti i necessari tool di supporto.
A solution to reduce time to sell
for software vendors, in a dedicated and
customized store or in a global marketplace,
using a cloud computing environment.
ClouDesire doesn't embrace a single product,
technology or service, and expose full-stack API
for a complete control of its behavior,
to avoid vendor lock-in.
the base template
Define SLA and
metrics pricing for
on the store(s)
or the ClouDesire
Wait a few
minutes for the
after an order
Bill to vendor
Send to vendors
Open Source Data Center Virtualization Framework
• Physical Hosts & VM resources usage and monitoring
• Heterogeneous hypervisors support (KVM, Xen, VMWare)
• Public Cloud connectors (EC2)
• Remote Cloud connectors (Federation)
• Public API: XML-RPC, EC2, OCCI
• Images catalog
• Enforcing infrastructure security policy with ACL
•Focusing on data center virtualization
•High-performances core, scriptable drivers
•All in one package, without external deps
•Truly OSS, user-driver development
Don't reinvent the wheel
No license costs
Developed with interoperability and industry standards in mind
Functions served by remote API, not only GUI
Easily extensible to support multiple clouds/hypervisors
CMS is a Web Service exposing an abstraction layer
for wrapping and aggregating the main functions provided
by the underlying Cloud Management Framework.
It provides independence and more high-level functions
of the underlying
Cloud Management Framework.
REST-API for accessing cloud resources
Frontends: native API, CIMI, EC2
Backends: OpenNebula, Amazon, IBM
SmartCloud, OpenStack, Arubacloud […]
It is used to create a new Virtual Context after a customer
purchase, to instantiate the required resource and
to monitor step-by-step the deployment status:
if something go wrong, it will retry until success.
• Search for pending deployment orders
• Injects requests in a newly created context,
interacting with CMS to launch new VM instances
• Monitors the deployment process and retry on
• De-schedule VMs when expiration date is reached
Environment It is a collection of Contexts, associated to a particular customer. Each
vendor have access to all customers Environments.
VC contains one or more BB, usually providing value-added vendor services.
Each Agent inside a BB can interact with any Agent inside the same Virtual
It is a ready-to-be-deployed Virtual Context, containing one or more BB,
created, configured and maintained by a particular vendor, stored in a
BB is the minimal deployable entity on ClouDesire which contains one or
more vendor Apps. It is composed by a single or multiple VMs, and should be
provided with a specific platform integration module, named Agent.
Web Service that expose all the business-logic functions
to achieve the platform requirements.
It rely on the CMS to interact with the lower infrastructure.
• Catalog management and Billing
• Monitoring and metrics gathering
• Backups and restores
• Agent Communication
• Template/Sandboxing management
• User management and Authentication
A software component that is used in a Building Block,
as platform integration point for instance management
and metrics gathering.
• Monitors the services status inside
• Receives remote commands (e.g.:
• Pub-Sub communications between
agents inside the same virtual
Every request needs to be routed to the correct destination
This is the users entry point to reach a running application.
• Implements user authentication,
based on SSO
• Enforce access policies
• Map each HTTP request to the
correct deployed application
A Symfony2 web application where different
Orders status, BB availability and basic instance
List of their Customers, Orders, BBs.
Monitoring and automation of deployed instances.
Template and billing management.
Managing and monitoring of the entire platform.
Twitter bootstrap: front-end framework for geeks
Guzzle: HTTP-client REST-friendly
NoVNC: HTML5 VNC viewer (NO MORE JAVA)
A web application where
a software vendor
can publish its own
along with others
Customers can browse
the catalog and
place orders on them.
• Catalogue Management
• Products Listing, Featured
• Shopping Cart
A web application
where vendors can manage
their own applications catalog
and customers can place
orders on it.
Snippets are provided
for easy integration
into an existing web site
("Buy this" button).
• Catalogue Management
• Interface customizations
• Billing & Metrics Management
• App Sandboxing