Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ClouDesire @ Italian DevOps Initiative 2013

ClouDesire @ Italian DevOps Initiative 2013

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.

Giovanni Toraldo

February 22, 2013
Tweet

More Decks by Giovanni Toraldo

Other Decks in Technology

Transcript

  1. ? 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.
  2. - Create an account on ClouDesire 1 Configure a private

    store 2 Configure the base template with required application stack 3 Install the application into the customized template 4 Define SLA and metrics pricing for application template 5 Sell the application on the store(s)  6
  3. - Browse the vendor's catalogue or the ClouDesire marketplace 1

    "Buy It!" 2 Proceed with payment 3 Wait a few minutes for the application deployment 4 Start using the application  5
  4. - Wait for deployment requests arising after an order 1

    Provide resources monitoring and alerting 2 Bill to vendor  4 Send to vendors periodic reports on applications revenue 3
  5. FEATURES 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
  6. •Focusing on data center virtualization •High-performances core, scriptable drivers •All

    in one package, without external deps •Truly OSS, user-driver development •API-agnostic
  7. 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
  8. 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.
  9. REST-API for accessing cloud resources Frontends: native API, CIMI, EC2

    Backends: OpenNebula, Amazon, IBM SmartCloud, OpenStack, Arubacloud […]
  10. 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. FEATURES • 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 temporary failures • De-schedule VMs when expiration date is reached
  11. Template Environment It is a collection of Contexts, associated to

    a particular customer. Each vendor have access to all customers Environments. Building Block Virtual Context 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 Context. 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 catalog. 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.
  12. 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. FEATURES • Catalog management and Billing • Monitoring and metrics gathering • Backups and restores • Agent Communication • Template/Sandboxing management • User management and Authentication
  13. A software component that is used in a Building Block,

    as platform integration point for instance management and metrics gathering. FEATURES • Monitors the services status inside VM • Receives remote commands (e.g.: restart services) • Pub-Sub communications between agents inside the same virtual context
  14. Every request needs to be routed to the correct destination

    This is the users entry point to reach a running application. FEATURES • Implements user authentication, based on SSO • Enforce access policies • Map each HTTP request to the correct deployed application
  15. A Symfony2 web application where different entities can: Orders status,

    BB availability and basic instance management. Customers List of their Customers, Orders, BBs. Monitoring and automation of deployed instances. Template and billing management. Vendors Managing and monitoring of the entire platform. Administrators Twitter bootstrap: front-end framework for geeks Guzzle: HTTP-client REST-friendly NoVNC: HTML5 VNC viewer (NO MORE JAVA)
  16. A web application where a software vendor can publish its

    own applications, along with others vendors apps. Customers can browse the catalog and place orders on them. FEATURES • Catalogue Management • Products Listing, Featured products • Shopping Cart
  17. 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). FEATURES • Catalogue Management • Interface customizations • Billing & Metrics Management • App Sandboxing