04.07.2013 Views

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

tel-00744768, version 1 - 23 Oct 2012<br />

24 CHAPTER 2. PRESENTATION OF CLOUD COMPUTING<br />

– Platform as a Service (PaaS) is a higher <strong>cloud</strong> abstraction <strong>le</strong>vel than IaaS,<br />

<strong>de</strong>signed to ease applications building and hosting. Contrary to IaaS on which<br />

the OS and the configuration settings can be chosen and any application can be<br />

run, PaaS provi<strong>de</strong>s the <strong>cloud</strong> consumer with much <strong>le</strong>ss freedom. This consumer<br />

is given a fixed and constrained execution environment run on a specialized OS,<br />

and he is only in charge of <strong>de</strong>fining the co<strong>de</strong> to be run within this framework.<br />

The PaaS environment manages co<strong>de</strong> <strong>de</strong>ployment, hosting and execution by<br />

itself. PaaS offers may also provi<strong>de</strong> additional <strong>de</strong>velopment facilities, such as<br />

application versioning and instrumentation, application testing, system monitoring,<br />

etc. In the case of PaaS, storage is mostly provi<strong>de</strong>d in the form of a<br />

remote abstracted shared storage service. Prime examp<strong>le</strong>s of PaaS are Amazon<br />

MapReduce with Simp<strong>le</strong> Storage Service (S3), Microsoft Azure, BungeeLabs,<br />

etc.<br />

– Software as a Service (SaaS) is the highest <strong>cloud</strong> abstraction <strong>le</strong>vel where applications<br />

are exposed as a service running on a <strong>cloud</strong> infrastructure. Contrary<br />

to the customer of IaaS or PaaS, the SaaS consumer is not involved in any<br />

software <strong>de</strong>velopment. This customer is only an application consumer communicating<br />

through the Internet with the application which is run on the <strong>cloud</strong>.<br />

Some examp<strong>le</strong>s are GMail, Sa<strong>le</strong>sforce.com, Zoho, etc.<br />

These distinct abstraction <strong>le</strong>vel technologies have different positioning on some<br />

tra<strong>de</strong>offs:<br />

– abstraction/control tra<strong>de</strong>off : PaaS provi<strong>de</strong>s higher abstractions to <strong>de</strong>velop applications<br />

than IaaS, but the applications built on top of PaaS need to conform<br />

and fit with the framework provi<strong>de</strong>d. As outlined in Subsection 2.5.1, some<br />

processes hardly fit with a rigid framework like MapReduce. On the other<br />

hand, IaaS will provi<strong>de</strong> <strong>cloud</strong> consumers with a higher control on the machines<br />

but with fewer off-the-shelf abstractions in return: the same distributed computation<br />

chal<strong>le</strong>nges will probably need to be repeatedly solved.<br />

– scalability/<strong>de</strong>velopment cost tra<strong>de</strong>off : Applications run on a PaaS environment<br />

prove to be easily scalab<strong>le</strong>. Yet, this scalability comes as a si<strong>de</strong>-product of a<br />

strong <strong>de</strong>sign of the application so that it fits in with the framework provi<strong>de</strong>d.<br />

On the contrary, applications run on an IaaS environment provi<strong>de</strong>s more f<strong>le</strong>xibility<br />

in the way the application can be built, but the scalability remains the<br />

customer’s responsibility.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!