Servizi di brokering Valerio Venturi CCR Giornata di formazione dedicata al Cloud Computing 6 Febbraio 2013
Cloud Broker An entity that manages the use, performance, and delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumer Provides unified interface, federated cloud-subscriber credential for multiple cloud providers programming interfaces NIST Cloud Computing Reference Architecture definition of a Cloud Broker
Cloud broker functionalities Intermediation. Enhances a given service by improving some specific capability and providing value-added services to cloud consumers, like managing access to services, identity management, performance reporting, enhanced security. Aggregation and arbitrage. Combines and integrate multiple services into one or more new services. The broker may choose services from multiple providers.
Hype on cloud brokering Next wave in cloud computing With a constant growing number of providers offering cloud solutions, most organizations are facing the problems of working wit many cloud providers Needs arise for multiple credentials, multiple programming interfaces, multiple billing, multiple semantics Gain great attention in business reports (Forbes, Gartner)
Broker functionalities Interoperability / Abstraction. Cloud users do not have to use multiple APIs or clients, or get multiple access credentials. Matchmaking. The Cloud Broker choose cloud services that match Cloud Users requirements, so that they don’t have to go through multiple catalogues. Composition / Aggregation / Arbitrage. The Cloud Broker combines and integrates multiple services into one or more new services. The broker provides data integration and ensures the secure data movement between consumers and proviers. The Cloud Broker may choose services from several Cloud Providers
Interoperability A cloud broker must be able to consume several cloud services – Needs to provide a unique interface to cloud consumers Not a web interface, an API – Needs to consume several APIs – Needs to use several authentication systems
Interfaces There are typically two approaches to interoperability – Use standards interfaces, interfaces defined by standard bodies or made standards because of a large adoption – Use ‘adaptors’, APIs that are able to work with different services Standards – OGF’s OCCI, DMTF’s CIMI, AWS’s EC2 – SNIA’s CDMI, AWS’s S3 – Above IaaS the pattern of usage are very different and the abstraction very complex Adaptors – Jclouds – Deltacloud
Standards OCCI – Set of open community-lead specifications delivered through the Open Grid Forum. Originally initiated to create a remote management API for IaaS services, evolved into an API for ‘all kinds of management tasks’ – API for compute, storage, network resources, HTTP based basic rendering, now working on JSON – Lost momentum wrt whet it was launched in 2009 CIMI – DMTF EC2 – AWS, most famous IaaS computing service, elected standards by large adoption CDMI – SNIA’s, S3 like object storage interface S3 – As EC2, elected standards by large adoption
Adaptors jclouds – Open source library that offers a unique interface towards several cloud providers – Support 30 cloud providers and cloud software stacks (Amazon, Rackspace, OpenStack, Google) – Several API abstractions as Java and Clojure libraries Deltacloud – An API that abstract differences between clouds Actually a service with RESTFul interfaces – Support all major cloud providers (Amazon, OpenNebula, Openstack) – Three abstractions: own, DMTF CIMI and AWS’s EC2
Matchmaking Users express requirements to cloud brokers, that has to find resources among the providers he manages, that satisfy user requirements Cloud providers needs to communicate real-time resources capabilities, state and availability to the Cloud Brokers – Advanced information such as cost or energy consumption might be involved in the decision The cloud broker needs to calculate the best match for the user requirements The cloud broker then activates the services and delivers them to cloud users
Composition Composition of IaaS services brings big challenges, as the resources needs to be working together For example a user may be requesting 10 virtual machines connected over a private network, or 10 virtual machines with shared file system Create virtual networks that cross organization boundaries
State of the art / CompatibleOne CompatibleOne Joint reaserch (INRIA) and industry (Intel) project They claim to be the ‘first open source cloud computing broker’. Launched as a collaborative project to perform research work and to come up with ideas addressing the need for interoperability in the field of cloud Computing, evolved in to developing a Cloud Broker as defined by Gartner Provides intermediation, aggregation and arbitration of cloud services – Centralized description of an organization cloud computing needs in terms of resources – Rapid selction of the most appropriate provider – Automation of provisioning and migration process for resources – Elimination of vendor lock-in and full interoperability – Monitor and control the service delivery quality of cloud providers Integrates with Amazon EC2, Openstack and OpenNebula
State of the art / CompatibleOne A resource description language, CORDS (CompatibleOne Resource Description System), an object oriented language for the description of cloud applications, services and resources – Extends the OCCI model with novel entities, Nodes, that can emprove OCCI Infrastructure entities (machines, disks, networks) A cloud application provisioning and deployment control system, ACCORDS Users express requirements in term of a CORDS manifest describing the infrastructure they require ACCORDS parses the manifest, creates a control graph for the management of different components Negotiate the availability of resources with the providers and deliver services to the user
State of the art / Other brokers Optimis EU project