Raffaele Di Fazio Connecting to the Clouds Cloud Brokers and OCCI.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Creating HIPAA-Compliant Medical Data Applications with Amazon Web Services Presented by, Tulika Srivastava Purdue University.
Cloud computing is used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Document Manager Product Overview.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Android architecture overview
© CaaSt Consortium. All rights reserved. The research leading to these results has received funding from the European Union's Seventh Framework Programme.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Technical Architectures
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
SaaS, PaaS & TaaS By: Raza Usmani
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Flexible Services for the Support of Research Project Overview.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Understanding and Managing WebSphere V5
Software Engineering for Cloud Computing Rao, Feng 04/27/2011.
Cloud Computing Systems Lin Gu Hong Kong University of Science and Technology Sept. 21, 2011 Windows Azure—Overview.
Open Cloud Sunil Kumar Balaganchi Thammaiah Internet and Web Systems 2, Spring 2012 Department of Computer Science University of Massachusetts Lowell.
Plan Introduction What is Cloud Computing?
Cisco and OpenStack Lew Tucker VP/CTO Cloud Computing Cisco Systems,
Clouds on IT horizon Faculty of Maritime Studies University of Rijeka Sanja Mohorovičić INFuture 2009, Zagreb, 5 November 2009.
Cloud Computing All Copyrights reserved to Talal Abu-Ghazaleh Organization
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Software to Data model Lenos Vacanas, Stelios Sotiriadis, Euripides Petrakis Technical University of Crete (TUC), Greece Workshop.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Connecting OurGrid & GridSAM A Short Overview. Content Goals OurGrid: architecture overview OurGrid: short overview GridSAM: short overview GridSAM: example.
Interoperability in the Cloud By Alex Espinoza
IETF-84 (29 July – 3 Aug. 2012) Cloud Computing, Networking, and Service (CCNS) Update for GISFI-10, New Delhi, India Sept Monday-10-September-20121IETF84.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
In the name of God :).
Cloud Standard API and Contextualization
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Plan  Introduction  What is Cloud Computing?  Why is it called ‘’Cloud Computing’’?  Characteristics of Cloud Computing  Advantages of Cloud Computing.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Strukt, Build Changes and Backend Support Jonathan Custance James Green John Thomson Stuart Simms OnApp Ltd.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Aneka Cloud ApplicationPlatform. Introduction Aneka consists of a scalable cloud middleware that can be deployed on top of heterogeneous computing resources.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Lecture III: Challenges for software engineering with the cloud CS 4593 Cloud-Oriented Big Data and Software Engineering.
JDBC Chapter 1 JDBC Introduction
CS223: Software Engineering Lecture 13: Software Architecture.
Document Name CONFIDENTIAL Version Control Version No.DateType of ChangesOwner/ Author Date of Review/Expiry The information contained in this document.
Servizi di brokering Valerio Venturi CCR Giornata di formazione dedicata al Cloud Computing 6 Febbraio 2013.
INFN OCCI implementation on Grid Infrastructure Michele Orrù INFN-CNAF OGF27, 13/10/ M.Orrù (INFN-CNAF) INFN OCCI implementation on Grid Infrastructure.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
EGI Technical Forum Madrid The EUBrazilOpenBio-BioVeL Use Case in EGI Daniele Lezzi – BSC EGI Technical Forum Madrid.
The Holmes Platform and Applications
CLOUD ARCHITECTURE Many organizations and researchers have defined the architecture for cloud computing. Basically the whole system can be divided into.
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
RedHat Cloud Martyn Taylor, Software Engineer
Cloud computing-The Future Technologies
Principles of Computer Security
Unit – 5 JAVA Web Services
Distribution and components
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
Processes The most important processes used in Web-based systems and their internal organization.
Introduction to Cloud Computing
Inventory of Distributed Computing Concepts
Cloud Computing: Concepts
Distributed System using Web Services
Presentation transcript:

Raffaele Di Fazio Connecting to the Clouds Cloud Brokers and OCCI.

Overview The Broker, components and architecture jOCCI: an OCCI Java implementation The “Connector Project” A full overview November 2012 Raffaele Di Fazio- 2

Disclaimer My visibility on the projects was limited. I was just asked to design and develop with a general overview of the goals. I do NOT have any details about European projects involved with the cloud broker nor any of the other parts I will show to you. November 2012 Raffaele Di Fazio- 3

The Broker November 2012 Raffaele Di Fazio- 4

The Broker: a cloud perspective A cloud broker is an intermediary between the customer and a cloud provider. The goal of a Cloud Broker is: To be able to provide a unified interface to manage multiple cloud providers. To simplify the choice for the customer. To try to understand the need of the customer and to find the provider that best suits its needs. November 2012 Raffaele Di Fazio- 5

The Broker: a cloud perspective Can have different goals based on the user request: Try to minimize the costs. Try to give the fastest service (i.e. deploying in EU instead of US) The Broker, essentially: propose the user a service. November 2012 Raffaele Di Fazio- 6

Cloud Platforms At the beginning: one player (Amazon) Now: multiple players, variegated offer. Several cloud providers: Amazon VCloud HP Cloud Eucalyptus … November 2012 Raffaele Di Fazio- 7

Amazon Web Services November 2012 Raffaele Di Fazio- 8

HP Cloud November 2012 Raffaele Di Fazio- 9

OpenStack A scalable “operating system” for cloud computing. It is used to control “compute, network, storage” resources. A “compute” is any information processing resource (i.e. a VM). It can be used to control cloud infrastructures. It is a software suite. This leads to multiple custom clouds ( see November 2012 Raffaele Di Fazio- 10

Differences btw cloud providers Interfaces APIs Costs Way of managing the VMs (i.e. different functionalities) Even the terminology used can be different. GOAL: simplify this mess! November 2012 Raffaele Di Fazio- 11

Broker + OCCI + Proactive November 2012 Raffaele Di Fazio- 12 OCCI Server ProActive Cloud Provider Broker

Broker + OCCI + Proactive: 2 nd architecture November 2012 Raffaele Di Fazio- 13 OCCI Server Broker Cloud Provider ProActive

Broker + OCCI + Proactive: expanded November 2012 Raffaele Di Fazio- 14 OCCI Server ProActive Broker jOCCI PROCCI Cloud connectors

JOCCI: AN OCCI JAVA LIBRARY November 2012 Raffaele Di Fazio- 15

Dictionary… pay attention! OCCI has a particular naming convention we must follow. There are very common words that are keywords when speaking about OCCI. Kind, Link, Resource, Attributes, Category are some of them. Other classes are: Parser, Server, Model. Please be careful! November 2012 Raffaele Di Fazio- 16

OCCI OCCI: Open Cloud Computing Interface It is a standard for interoperability between cloud platforms. GOALS: Interoperability: between cloud providers Portability: avoid vendor lock-in Integration: possibility to support multiple platforms Extensibility November 2012 Raffaele Di Fazio- 17

OCCI continued Currently focus on IaaS. An extension to support PaaS, SaaS is possible. It is a set of specifications: Core: Model specification Rendering: How to structure the OCCI requests … IN PRACTICE: RESTful protocol for cloud management tasks November 2012 Raffaele Di Fazio- 18

OCCI Core Model November 2012 Raffaele Di Fazio- 19

OCCI implementation – core Main classes reflect the OCCI core model: Category: basic classes to identify OCCI types Kind: type identification system for all the Entities. Mixin: extension mechanism for a Kind. Action: … Entity: abstract type of resource and link types Resource: represent a concrete resource and represents real world instances of VMs, etc. Link: association between two resources. November 2012 Raffaele Di Fazio- 20

jOCCI It is a OCCI server written in Java. Born because of the necessity to replace occi4java Unsupported, unmaintainable, ugly code. Inspired by the design of rOCCI, a ruby based OCCI implementation. November 2012 Raffaele Di Fazio- 21

jOCCI design goals Be extensible Model expressed by means of JSONs, defined at runtime. Extendible, following OCCI principles. No assumption on the backend (more about this later) Only supporting OCCI core model by default November 2012 Raffaele Di Fazio- 22

jOCCI implementation Made up of two components: OCCI Core: contains the definitions of all the classes representing the OCCI core specifications OCCI Server: contains the server, the parser and all the other classes with functionalities to handle OCCI requests/responses. This makes the development of the specification (CORE) and the server, decoupled. November 2012 Raffaele Di Fazio- 23

jOCCI core – features jOCCI implements only the core classes of the OCCI Model. Rough example: It defines what are the fields of the Kind class It does NOT define which types of Kind we can use (i.e. Compute) This approach makes jOCCI independent from a specific definition of the instances. November 2012 Raffaele Di Fazio- 24

jOCCI – Server Developed using the following technologies: Apache Tomcat RESTEasy Jackson (JSON parsing) Completely independent of the backend implementation. This is loaded at runtime (more about this later). November 2012 Raffaele Di Fazio- 25

jOCCI - Server REST interfaces supporting HEAD, GET, POST, PUT, DELETE HTTP methods. OCCI requests are HTTP requests that can be expressed in different formats. Request formats: text/occi, text/plain, application/json, etc. The server should be flexible enough to support these different types. November 2012 Raffaele Di Fazio- 26

Example of OCCI request curl -X POST --header 'Content-type:text/occi' --header 'X- OCCI-Attribute: method=start' 1a7062a1aa5b?action=start --header 'Category: start; scheme=" on#"; class="action"' -u demo:demo 1a7062a1aa5b?action=start --header 'Category: start; scheme=" November 2012 Raffaele Di Fazio- 27

Broker + OCCI + Proactive: an Expanded view November 2012 Raffaele Di Fazio- 28 OCCI Server ProActive Broker jOCCI PROCCI Cloud connectors

PROCCI Connecting to ProActive: November 2012 Raffaele Di Fazio- 29

PROCCI Procci was created to be integrated with occi4java to allow ProActive to process OCCI requests. These requests are mainly intended to be used to manage virtual machines. The final goal of this interconnection is to be able to speak with the broker. November 2012 Raffaele Di Fazio- 30

PROCCI jOCCI parses OCCI requests. Methods exposed by PROCCI are called directly by jOCCI. Under the hood, a job is created and it is submitted to the scheduler. After the job is executed, a response is shown to the user through jOCCI by means of HTTP response. November 2012 Raffaele Di Fazio- 31

PROCCI Connection When jOCCI is started, it executes the setup phase. In each Action class attach the method implemented by the backend. This allow us to plug the actions to be executed. Does not force jOCCI to know the backend. November 2012 Raffaele Di Fazio- 32

PROCCI connection November 2012 Raffaele Di Fazio- 33

THE CONNECTOR PROJECT November 2012 Raffaele Di Fazio- 34

Broker + OCCI + Proactive: an Expanded view November 2012 Raffaele Di Fazio- 35 OCCI Server ProActive Broker jOCCI PROCCI Cloud connectors

The connector project We wanted to write several connectors to be able to connect to multiple cloud providers. Connectors are fundamental for the broker. It must talk with the cloud service providers. Technically they are built on top of APIs to connect to the cloud providers. Not much more to say here! November 2012 Raffaele Di Fazio- 36

A complete example A user submit a OCCI request to start an already created virtual machine. jOCCI receives the request. Once processed, it calls PROCCI. PROCCI creates a job. The job is submitted to ProActive scheduler. The job is executed. A remote cloud provider is called using a connector. November 2012 Raffaele Di Fazio- 37

November 2012 Raffaele Di Fazio- 38 That’s it! Thank you!