midas d6.1 final - web.itainnova.esweb.itainnova.es/midas/files/2013/10/midas_d6.1-wp6.pdf ·...

54
Project Number: 318786 Model and Inference Driven Automated testing of Services architectures Deliverable D6.1 Analysis of required functionalities and available public Cloud services

Upload: others

Post on 16-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

!

!

!

!

!

Project!Number:!318786!

!

Model!and!Inference!Driven!Automated!testing!of!Services!architectures!

!!

Deliverable!D6.1!

!

Analysis!of!required!functionalities!and!available!public!Cloud!services!

!

Page 2: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54!

Revision!Chart!

Version Date Author (Partner) Description

0.1 11/03/2013 CNR Template

0.2 29/03/2013 CNR Table of Content Definition

0.3 10/05/2013 CNR Preliminary version to be discussed during the TMC meeting in Goettingen

0.4 27/05/2013 CNR Version including comments and updates from TMC meeting

0.5 29/05/2013 CNR, FF Version including FF contribution to architecture

0.6 31/05/2013 CNR Version distributed for internal review

0.7 17/06/2013 CNR, SEF, DEDA Version with comments received by internal reviewers

1.0 28/06/2013 CNR Candidate version revised according to the comments received by internal reviewers

Page 3: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!3!of!54!

EXECUTIVE(SUMMARY!Service! Oriented! Architecture! (SOA)! is! an! architectural! style! underlying! the!development! of! applications! composed! of! a! set! of! software! components,! known! as!services,! that! can! be! invoked! through! platformNindependent! interfaces! and! interact!through! standard! communication! protocols.! A! service! encapsulates! a! given!functionality!made!available!by!a!service!provider!over!the!network!through!standard!published!interfaces!to!deliver!a!result!to!a!service!consumer!(or!service!client).!SOAs!provide! support! for! service! composition,! service! management,! orchestration! and!coordination,!service!transaction,!security,!that!are!the!set!of!concepts,!principles,!and!methods! representing!Service!Oriented!Computing! (SOC).!Service!composition! is!one!of!the!most!important!commodities!of!SOA,!since!it!allows!delivering!complex!business!processes!as!software!applications!composed!of!looselyNcoupled!activities!coordinated!to!work!together.!

With!the! increased!spread!of!SOANbased!applicatons,!SOA!testing! is!becoming!a!very!hot! topic! both! in! research! and! business/commercial! fileds.! The! testing! activity! shall!shift!from!test!case!handNwriting,!manual!configuration!of!test!environments,!manual!scheduling!of!test!runs!and!eyeball!assessment!of!test!outcomes!–!all!these!activities!being! conducted! by! professional! testers! –! to! model! authoring! by! designers! and!architects! relieved! from! the! burden! of! test! generation,! scheduling,! execution! and!arbitration,!until!the!production!of!the!test!report.!

The!MIDAS! project! objective! is! to! provide! a! testing! facility! putting! into! operation! a!substantial! collection! of! functional! (unit! testing,! choreography,! orchestration! and!composition! testing)! and! security! (fuzz,! security! policy! compliance)! testing!methods.!Moreover,! the! automated! scheduling! and! even! the! dynamic! automated! test!generation!shall!be!managed!by!probabilistic!(Bayesian)!inference2methods.!!

The!MIDAS!SOA!testing!automation!facility!will!be!designed!and!architected!according!to!a!SOANbased!approach,!and!provided!as!an!integrated!Testing!Platform!as!a!Service!(TPaaS)!framework!available!on!demand,!i.e.!on!a!selfNprovisioning,!payNperNuse,!elastic!basis.! For! this! reason,! the!MIDAS! TPaaS!will! be! deployed! on! a! Cloud! and! accessible!over! the! Internet! as! a!multiNtenancy! SaaS! (Software! as! a! Service)! from! an! end! user!perspective.! MIDAS! TPaaS! will! provide! companies! and! end! users! with! services! to!design,!deploy!and!run!their!test!cases!without!disclosing!any!information!to!the!Cloud!provider,!and!without!having!to!program!the!whole!test!procedures!from!scratch.!The!costs!saving!and!easy!accessibility!of!Cloud's!extremely!large!computing!resources!will!make! the!MIDAS! testing! facility! usage! available! to! geographically! distributed! users,!executing! wide! varieties! of! user! scenarios,! with! a! scalability! range! previously!unattainable!in!traditional!testing!environments.!

In!order!to!properly!make!the!right!decisions!concerning!both!the!architectural!design!and!the!possible!implementation!strategies!to!adopt!for!the!MIDAS!TPaaS!deployment!on! the! Cloud,! an! activity! started,! according! to! the! schedule! of! the! MIDAS! project,!aiming! at! the! definition,! deployment,! and! maintenance! of! the! most! suitable! Cloud!platform! that! can! support! MIDAS! required! functionalities.! The! first! results! of! this!activity!are!reported!in!this!deliverable,!dealing!with!the!analysis!of!the!MIDAS!TPaaS!

Page 4: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!4!of!54!

required!functionalities!with!respect!to!their!deployment!on!the!Cloud,!and!an!analysis!of!available!public!Clouds! in!order! to!evaluate! their! suitability! for! the!CloudNenabled!MIDAS!facility!“proof!of!concept”!implementation.!

Firstly,! an! overview! of! the! main! principles! characterising! Cloud! computing! is!presented,! highlighting! its! main! benefits! that! are! increasingly! boosting! Cloud!popularity.! The! overview! intends! to! provide! a! general! understanding! of! the! main!challenges!that!have!to!be!addressed!when!deploying!a!SOANbased!application!on!the!Cloud,!so!it!was!conducted!from!a!Cloud!developer!point!of!view.!The!different!types!of!Clouds!deployment!models!(Private,2Community,2Public,2Hybrid),!together!with!the!different! Cloud! service! delivery!models! (SaaS,2 PaaS,2 IaaS)! are! described! to! highlight!their! main! features,! in! order! to! drive! decisions! concerning! which! model! to! adopt!within!the!MIDAS!project.!

Then!a!preliminary!design!of!the!MIDAS!reference!architecture!is!reported,!identifying!its!main!functionalities,!their!organization!in!logical!tiers!(FrontNend!tier,!Core!tier,!and!BackNend!tier),!and!the!fundamental!use!cases!that!provide!useful!information!related!to! the! necessary! Cloud! support.!We! describe! possible! implementation! scenarios! for!the!MIDAS!TPaaS!on!the!Cloud,!both!according!to!a!PaaS!and!IaaS!models,!to!provide!a!sound!technological!background!to!establish!the!evaluation!criteria!used!to!analyse!a!meaningful! set! of! existing! public! Cloud! platforms! suitable! for! MIDAS.! In! fact,! an!overview!over!the!state!of!the!art!of!Cloud!computing!technologies!and!solutions!was!carried! out! to! make! the! MIDAS! consortium! aware! of! the! Cloud! infrastructures!available! on! the!market,! providing! relevant! features! to! support! the! development! of!the!MIDAS!testing!platform.!

The!analysis!considered!technological! issues!and!features,!but!also!costs!and!benefits!to! evaluate! economic! sustainability! aspects.! The! performed! analysis! helped! to!establish!the!right!technological!basis!to!drive!the!selection!of!a!reference!public!Cloud!platform!suitable!to!meet!the!identified!MIDAS!TPaaS!requirements!and!constraints.!

The! analysis! and! the! associated! comparison! tables! of! the! considered! public! Cloud!platforms!evaluated!with!respect! to! the! identified!MIDAS!relevant!criteria!points!out!that! a! Cloud! IaaS! service! delivery! model! is! the! preferred! one! for! MIDAS,! and! in!particular! that! the! Amazon! EC2! Cloud! infrastructure! is! the! best! candidate! solution,!offering!the!more!convenient!compromise!between!costs!and!offered!features.!

! !

Page 5: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!5!of!54!

ABSTRACT!

!

Project!Number! 318786! Project! MIDAS!

Project!Title! Model&and&Inference&Driven&Automated&testing&of&Services&architectures!

Project!website! http://www.midasNproject.eu!!

Document!URL! !

!

Deliverable! Number! D6.1! Title! Analysis!of!required!functionalities!and!available!public!Cloud!services!

Work!Package! Number! !6! Title! Cloud!support!for!SOA!Testing!PaaS!&!SOA!testing!framework!integration!

Task! Number! !6.1! Title! Automated!test!execution!platform!

!

Date!of!Delivery! Contractual! M10! Actual! M10!

Version! draft!! final!!

Dissemination!Level!!

Public!!!!! Confidential!!

Summary!for!dissemination!

!

Keywords! Cloud!computing,!TTCNN3,!SOA!Testing,!Test!Execution!

Contact!Person! Nicola!Tonellotto!(CNR)!

!

Authors!(Partner)! Nicola!Tonellotto,!Claudia!Di!Napoli,!Alberto!De!Francesco,!Maurizio!Giordano!(CNR),!MarcNFlorian!Wendland!(FF),!Libero!Maesano,!Fabio!De!Rosa!(SEF)!

Reviewers! (SEF),!(DEDA)!

!

Page 6: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!6!of!54!

TABLE%OF%CONTENTS!!

Executive!summary!...................................................................................................!3!

Abstract!.....................................................................................................................!5!

Table!of!contents!.......................................................................................................!6!

Acronyms!&!Abbreviations!........................................................................................!8!

1!Introduction!............................................................................................................!9!1.1! Project!Presentation!Overview!.................................................................................!9!1.2! Purpose!of!the!document!.........................................................................................!9!1.3! Document!structure!...............................................................................................!10!

2!General!principles!of!Cloud!Computing!.................................................................!11!2.1! EC!strategies!for!Cloud!computing!..........................................................................!12!2.2! Cloud!deployment!models!......................................................................................!13!

2.2.1!Infrastructure!as!a!Service!(IaaS)!...............................................................................!14!2.2.2!Platform!as!a!Service!(PaaS)!......................................................................................!15!2.2.3!Software!as!a!Service!(SaaS)!......................................................................................!15!

2.3! Which!Cloud!As[a[Service!Model?!..........................................................................!15!

3!The!MIDAS!SOA!Testing!Platform!architecture!......................................................!18!3.1! The!MIDAS!three!main!tiers!....................................................................................!18!3.2! MIDAS!architecture!from!a!user!perspective!...........................................................!19!

4!MIDAS!SOA!Testing!Platform!on!the!Cloud!............................................................!21!4.1! MIDAS!architecture!with!respect!to!a!Cloud[based!implementation!.......................!21!

4.1.1!FrontNend!tier!............................................................................................................!21!4.1.2!Core!tier!.....................................................................................................................!21!4.1.3!BackNend!tier!.............................................................................................................!22!

4.2! Which!“As!a!Service”!Model!for!MIDAS!TPaaS?!.......................................................!22!4.2.1!MIDAS!implementation!in!a!PaaS!Cloud!....................................................................!23!4.2.2!MIDAS!implementation!in!a!IaaS!Cloud!.....................................................................!25!4.2.3!MIDAS!implementation!scenarios!comparison!.........................................................!28!

5!Overview!of!public!Cloud!infrastructures!..............................................................!30!5.1! MIDAS!requirements!for!the!Cloud!infrastructure!...................................................!30!

5.1.1!Functional!Requirements!..........................................................................................!30!5.1.2!Software!Requirements!.............................................................................................!33!

5.2! Criteria!to!evaluate!Public!Cloud!Infrastructure!......................................................!33!5.2.1!A!cost!estimator!for!the!Cloud!Platform!...................................................................!34!

5.3! Survey!on!Cloud!Infrastructures!..............................................................................!36!5.3.1!Amazon!EC2!(AEC2)!...................................................................................................!36!5.3.2!Google!Compute!Engine!(GCE)!..................................................................................!38!5.3.3!Google!App!Engine!(GAE)!..........................................................................................!39!5.3.4!Microsoft!Azure!Virtual!Machine!(MAVM)!................................................................!40!5.3.5!Microsoft!Azure!Cloud!Services!(MACS)!....................................................................!41!5.3.6!HP!Cloud!Compute!(HPCC)!........................................................................................!42!5.3.7!Rackspace!Cloud!Servers!(RCS)!..................................................................................!42!5.3.8!IBM!SmartCloud!(IBMNSC)!.........................................................................................!43!

Page 7: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!7!of!54!

5.3.9!GoGrid!(GoG)!.............................................................................................................!44!5.3.10!ElasticHosts!Cloud!Servers!(EHCS)!...........................................................................!45!

5.4! Cloud!Infrastructures!Comparison!for!MIDAS!TPaaS!...............................................!46!5.4.1!Criteria!comparison!and!evaluation!..........................................................................!47!5.4.2!Elasticity!comparison!and!evaluation!........................................................................!47!5.4.3!Costs!comparison!and!evaluation!.............................................................................!48!

6!Conclusions!...........................................................................................................!50!

References!...............................................................................................................!51!

A!TTwokbench!on!Cloud:!a!preliminary!experience!..................................................!52!A.1! TTworkbench!.........................................................................................................!52!A.2! Deploy!TTworkbench!on!Cloud!...............................................................................!52!

A.2.1!PreNrequirements!for!TTworkbench!..........................................................................!53!A.2.2!Install!and!Run!TTworkbench!on!Cloud!.....................................................................!53!

!

Page 8: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!8!of!54!

ACRONYMS(&!ABBREVIATIONS!In!the!present!document,!the!following!abbreviations!and!acronyms!will!be!used:!

VM! Virtual!Machine!

KVM! KernelNbased!Virtual!Machine!

IaaS! Infrastructure!as!a!Service!

PaaS! Platform!as!a!Service!

SaaS! Software!as!a!Service!

TPaaS! Testing!Platform!as!a!Service!

AEC2! Amazon!EC2!

GCE! Google!Compute!Engine!

GAE! Google!App!Engine!

MAVM! Microsoft!Azure!Virtual!Machine!

MACS! Microsoft!Azure!Cloud!Services!

HPCC! HP!Cloud!Compute!

RCS! Rackspace!Cloud!Servers!

IBMNSC! IBM!SmartCloud!

GoG! GoGrid!

EHCS! ElasticHosts!Cloud!Servers!

N.A.! Not!Available!

IDE! Integrated!Development!Environment!

!

Page 9: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!9!of!54!

1 INTRODUCTION!1.1 PROJECT!PRESENTATION!OVERVIEW!The!objective!of!the!MIDAS!project!is!to!carry!out!a!comprehensive!framework!able!to!support!the!automation!and!intelligent!management!of!SOA!core!testing!tasks,!such!as!test! generation,! scheduling,! execution! and! arbitration.! Furthermore,! the! framework!supports!all!the!testing!cycle!activities:!test!case!planning,!development!and!execution,!reporting!and! result!analysis,! test! campaign!management!and!scheduling.!Moreover,!the! framework! enables! advanced! functional,! security! and! usageNbased! testing!methods.!

In!order!to!provide!these!features,!the!architecture!of!the!MIDAS!framework!includes:!

• an!environment!for!design!time!and!run!time!(on!the!fly)!modelNbased!generation!of!test!cases!and!oracles;!

• an! environment! for! SOA! automatic! testing! configuration,! initialization! and!execution,!based!upon!a!Test!and!Test!Control!Notation!!(TTCNN3)!engine;!

• probabilistic!and!symbolic!inference!based!methods!and!tools!for!test!scheduling;!

• usage! profile! inference! based! on! usage! observation! journals! collected! on! the!system!in!the!field.!

The!end!user!service!model!of!the!MIDAS!framework!is!a!Software!as!a!Service!(SaaS).!In!order!to!support!the!elasticity!of!the!testing!environment!–!allocation!of!substantial!amounts! of! computation,!memory! and! bandwidth! resources! for! relatively! short! test!campaigns! on! large! services! architectures! –! the!MIDAS! framework! is! deployed! on! a!Cloud!infrastructure.!

In! order! to! evaluate! the! effectiveness! and! the! usability! of! the! MIDAS! framework!facilities,! two! pilots! SOA! testing! experiences! are! carried! out! in! different! business!domains:!Healthcare!(HC)!and!Supply!Chain!Management!(SCM).!

1.2 PURPOSE!OF!THE!DOCUMENT!This!document! is!the!first!deliverable!of!WP6!“Cloud!support!for!SOA!Testing!PaaS!&!SOA! testing! framework! integration”! devoted! to! the! definition,! deployment,! and!maintenance!of!the!Cloud!infrastructure!that!will!be!set!up!to!support!the!deployment!of!the!MIDAS!framework.!

The!main!purpose!of!the!document! is!to!provide! insights!on!the!general! issues!to!be!addressed!when! adopting! a! CloudNbased! infrastructure! to! deploy! a! SOA! test! system!that! is!made!available!as!a! SaaS! to! the!end!user,! and! to!provide!an!overview!of! the!most! known!public!CloudNbased! infrastructures! available! today!on! the!market,! so! to!drive! the! selection!of! the!most! suitable!one! for! the!MIDAS!project.!At! this! purpose,!first,!preliminary!software!and!hardware!requirements!of!the!MIDAS!Testing!PlatformNasNaNService! (MIDAS! TPaaS)! main! components! were! collected,! together! with!information,!were!available,!about!the!complexity!and!size!of!the!early!MIDAS!testing!pilots,! in! particular! the! number! of! SUT! nodes.! Second,! an! analysis! of! the! possible!implementation!scenarios!of!MIDAS!TPaaS!is!carried!out!in!order!to!establish!which!“as!a!service”!model!to!adopt!for!setting!up!the!Cloud!infrastructure!for!MIDAS.!Finally,!an!

Page 10: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!10!of!54!

overview!of!the!main!public!CloudNbased!infrastructures!is!provided,!so!to!collect!the!necessary! information!to!select!the!CloudNbased! infrastructure!to!be!adopted!for!the!deployment! of! the!MIDAS! TPaaS! that!will! be! delivered! as! an! SaaS!Cloud! application!from!a!user!perspective.!

1.3 DOCUMENT!STRUCTURE!The!rest!of!the!document,!following!Section!1!that!reports!an!overview!of!the!MIDAS!project!outcomes,!the!purpose!of!the!present!document,!and!its!structure,!is!organized!in!5!sections:!

• Section! 2! presents! an! overview! on! Cloud! computing! by! highlighting! its! general!principles! and! the! “as! a! service”! models! it! provides.! Furthermore,! a! general!analysis!on!the!pros!and!cons!of!the!different!Cloud!service!models!are!reported!so! they! can! be! taken! into! account! in! order! to! evaluate! Cloud! solutions! for! the!MIDAS!development!and!deployment.!

• Section! 3! describes! the! MIDAS! framework! architecture! at! a! very! abstract! level!presenting!both! its! logical!structure,!and! its!main!components! together!with!the!use!cases!identified!so!far.!

• Section!4!reports!an!analysis!of! the!MIDAS!framework!architecture!related!to! its!development!and!deployment!on!the!Cloud;!then!the!possible!Cloud!“as!a!service”!models! to! be! adopted! for! MIDAS! are! analysed! describing! the! criteria! used! to!evaluate!which!one!is!more!suitable!to!meet!the!MIDAS!requirements!available!at!this! stage! of! the! project;! finally,! the! foreseen! implementation! scenarios! for! the!MIDAS! TPaaS! are! described! to! stress! their! pros! and! cons! in! relation! to! the!requirements!of!its!main!components.!

• Section!5!describes!the!criteria!adopted!to!analyse!and!evaluate!a!set!of!selected!commercial!public!Cloud!infrastructures!available!on!the!market;!the!results!of!the!evaluation! carried!out! according! to! the! criteria! is! reported;! finally! a! comparison!among!the!infrastructures!that!resulted!the!most!suitable!for!the!MIDAS!project!is!reported!to!serve!as!a!basis!to!drive!the!selection!of!the!Cloud!infrastructure!that!will!be!adopted.!

• In!Section!6!conclusions!of!the!document!are!reported.!

• Appendix!A!presents!a!preliminary!experience!gained!in!configuring!and!running!a!test! environment! on! a! basic! CloudNbased! Virtual! Machine! to! try! to! collect!information! on! the! initial! issues! that! have! to! be! addressed! when! deploying!applications!like!the!MIDAS!TPaaS!on!Cloud.!

!

Page 11: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!11!of!54!

2 GENERAL!PRINCIPLES!OF!CLOUD!COMPUTING!Cloud! Computing! is! becoming! the! new! frontier! of! IT! attracting! the! attention! of!research,!business,! industrial!bodies! that!all! agree!on! its!wide!potential! in! reshaping!the!way!IT!applications!are!designed,!built,!implemented!and!above!all!“delivered”!to!end!users.!Several!definitions!of!Cloud!Computing!can!be!found!in!the!literature,!all!of!them! relying! on! a! very! general! underlying! principle,! i.e.! the! possibility! for! users! to!access! IT! applications! and! to! run! them! on! an! computing! infrastructure! not! owned!neither!by!the!user!nor!by!the!application!provider,!so!allowing!to!shift! from!a! finite!computing!power!paradigm,!to!a!theoretically!unlimited!one![1].!

This! general! principle! relies! on! concepts! and! technological! approaches! that! are! not!new! since! they! are! the! same! ones! adopted! by! data! centers,! virtualised! telecom!infrastructures,! and!more! recently! by! grid! computing.! The! real! novelty! is! that! Cloud!Computing!was!driven!mainly!by!commercial!requirements!and!solutions,!and!not!by!research,!so!giving!the!rise!of!several!commercial!Cloud!Providers![4].!In!fact!it!became!popular!with!Amazon’s!publication!of!the!Elastic!Compute!Cloud!EC2!in!2006![5].!

Cloud! Computing! can! be! viewed! as! the! final! step! of! a! sixNphases! evolution! of!computing!paradigms,!as!reported!in![2],!that!are:!1)!Mainframe2computing,!powerful!mainframes! accessed! through! dummy! terminals;! 2)! PC2 Computing,! reasonably!powerful! stand! alone! computers! to! meet! users’! need! for! daily! work;! 3)! Network2Computing,! a! local! network! of! PCs,! servers! and! laptops! that! share! resources! to!increase!performance;! 4)! Internet2Computing,! a! global! network! that! allows! to!utilize!remote!applications!and!resources!available!on!Internet;!5)!Grid2Computing,!a!system!of!distributed!resources!aggregated!that!can!be!accessed!and!shared!in!a!transparent!way;!6)!Cloud2Computing,!the!provision!of!shared!resources!and!services!available!on!the!Internet!in!a!simple,!and!more!importantly,!scalable!way![1].!

Among!the!several!definitons!available!on!Cloud!Computing,!here!the!one!provided!by!the!National! Institute! of! Standards! and! Techonology! (NIST)! is! used! as! the! reference!one![3]:!

“Cloud2computing2is2a2model2for2enabling2ubiquitous,2convenient,2onCdemand2network2access2 to2a2 shared2pool2of2 configurable2computing2 resources2 (e.g.,2networks,2 servers,2storage,2applications,2and2services)2 that2can2be2rapidly2provisioned2and2released2with2minimal2management2effort2or2service2provider2interaction.”!

The! full! potential! of! Cloud! Computing! can! be! understood! by! detailing! its! main! 5!characteristics,!as!detailed!in![3]!that!are:!

• On2demand2selfCservice,!i.e.!the!possibility!to!use!computing!capabilities!without!human!interaction!with!the!provider;!

• Broad2network2access,!i.e.!computing!capabilities!are!made!available!through!the!network,! and! accessed! through! standard! mechanisms! by! means! of!heterogeneous!client!platforms;!

• Resource2pooling,!i.e.!computing!resources!such!as!storage,!processing,!memory,!network!bandwidth,!are!shared!so!to!serve!multiple!users!that!are!not!aware!of!resource!allocation;!

Page 12: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!12!of!54!

• Rapid2 elasticity,! i.e.! computing! capabilities! are! provided! in! an! elastic! way,! i.e.!according!to!user’s!needs!that!sometimes!can!be!automatically!accommodated,!giving!users!the!perception!of!being!unlimited;!

• Measured2 service,! i.e.! the! use! computing! capabilities! can! be! monitored,! and!more!importantly!measured!and!it!is!transparent!to!both!providers!and!users,!so!allowing! for! its! optimization! and! for! charging! according! to! a! “pay! per! use”!mechanism.!

Another!important!characteristics!regards!Cloud!security!and!privacy!whose!challenges!are!addressed!by!the!Cloud!Security!Alliance!(CSA)1,!a!notNforNprofit!organization!with!a!mission! to!promote! the!use!of!best!practices! for!providing! security!assurance!within!Cloud!Computing,!and! to!provide!education!on! the!uses!of!Cloud!Computing! to!help!secure! all! other! forms! of! computing.! CSA! introduced! a! sixth! feature! of! Cloud!computing!consisting!in!assuring!the!adoption!of!policyNdriven!models!addressing!the!needs!of! different!users! regarding!billing,! governance,! service!billing/liability,! service!levels.! In! fact,! since! in! Cloud! data! travels! over! the! network! and! stored! in! remote!locations,!and!providers!serve!multiple!users!simultaneously,!the!problems!concerning!security!and!privacy!have!to!be!quickly!addressed.!

2.1 EC!STRATEGIES!FOR!CLOUD!COMPUTING!!The! European!Commission! (EC)! committed! itself! to! invest!money! in! order! to! enable!and!facilitate!a!wide!and!pervasive!adoption!of!Cloud!computing! in!different!sectors,!both! public! and! private,! so! to! promote! cost! savings,! increase! productivity,! and! to!enhance!job!opportunities.!

EC! received! important! recommendations! collected! by! external! experts! in! order! to!identify!actions!to!be!taken!in!order!for!the!Cloud!to!reach!its!full!potential![8].!

At! this! purpose,! EC! launched! in! 2011! a! public! consultation! to! collect! requirements!from!a!wide!spectrum!of!potential!Cloud!users!(538!responses!collected).!The!results!of! the! consultation! are! available! in! [6]! and! they! show! the! main! concerns! of! users!regarding!the!adoption!of!Cloud!computing,!here!described!to!identify!the!key!actions!to! be! taken! in! order! to! “Unleash! the! potential! of! Cloud! computing! in! Europe”,! as!stated!by!the!EC.!

• Lack!of!certainty! in!the!legal!framework!due!to!the!fragmentation!of!the!digital!market! characterised! by! different! legal! policies! defined! at! national! level:! it! is!necessary! to!harmonise!data!and!privacy!protection! regulations!at!EU! level,! so!the! same! regulations! can! be! applied! independently! of!where! data! are! located!when!crossing!national!borders!arising!for!international!data!transfer.!

• Lack! of! standards:! it! is! necessary! to! define! standards! in! order! to! increase!interoperability! and!portability! of! data! and! applications! among!different! Cloud!systems!so!to!prevent!vendor!lockNin.!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1!https://cloudsecurityalliance.org!2!including!DBs,!communication!libraries/services,!web!application!development!framework/container,!and!so!on.!3!A!SAUT!adapter!can!be!functionally!classified!as!a!test!execution!functionality.!

Page 13: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!13!of!54!

• Lack!of!security:!it!is!necessary!to!identify!metrics!to!conform!to!security!policies!for! data! protection,! and! to! establish! independent! certification! schemes! at! EU!level.!

• Lack!of!models!for!safe!and!fair!contract!terms!and!conditions:!it!is!necessary!to!develop! a! common! model! to! establish! service! level! agreements! for! Cloud!computing! services! between! Cloud! providers! and! Cloud! consumers! (both! end!user!and!developers),!so!that!clear!regulations!can!be!adopted!for!Cloud!service!providers’!accountability!and!liability!uniformily!all!over!Europe.!

In!order!to!put!in!operation!the!identified!actions!several! initiatives!were!undertaken!by!EC.!Several!European!research!projects!are!funded!and!will!be!increasingly!funded!by!the!new!EC!programs!both!in!the!Cloud!computing!area!and!in!related!areas!(such!as!Future!Internet,!Internet!of!Things,!Big!Data,!and!so!on).!!

In!addition! several!Working!Groups!have!been! set! to!address! specific! functional!and!nonNfunctional!problems!coming!from!the!concerns!above!described!(such!as!security,!protection,!regulations,!standards,!and!so!on).!

2.2 CLOUD!DEPLOYMENT!MODELS!CloudNbased! applications! are! provided! by! a! Cloud! infrastructure! containing! both! a!physical! layer! and! an! abstraction! layer.! The! physical! layer! consists! of! the! hardware!resources! that! are! necessary! to! support! the! Cloud! services! being! provided,! and!typically! includes! servers,! storage! and! network! components.! The! abstraction! layer!consists! of! the! software! deployed! across! the! physical! layer,! which! manifests! the!essential! Cloud! characteristics.! Conceptually! the! abstraction! layer! sits! above! the!physical!layer”![3].!

In! Cloud! terminology,! the! phrase! “as! a! service”! is! extensively! used,! which! simply!means!that!any!Cloud!resource,!both!hardware!and!software,!is!provided!in!a!way!so!that!it!can!be!“rented”!by!consumers!over!the!Internet.!In!this!way!the!consumer!pays!only! for!what! he/she!uses,! according! to! the! concept! of! “utility! computing”,! a! billing!model!for!computing!resources!similar!to!how!utilities!like!electricity!are!traditionally!billed! [9].! There! are! two! immediate! advantages! to! the! asNaNservice!model:! first,! upNfront! costs! tend! to! be! substantially! less;! second,! it! affords! a! greater! level! of! easy!scalability![4].!

Services! are!provided!without!making! the!user! aware!of! the!physical! resources! they!use.!This!is!made!possible!by!virtualization![8]!the!enabling!IT!technology!that!allows!multiple!virtual!machines!to!run!on!a!single!physical!node.!It,!essentially,!decouples!the!function! from! the! underlying! hardware;! server! virtualization! allows! many! “virtual!servers”!to!run!on!a!single!physical!server!as!if!each!one!were!a!separate!device,!and!the! same! concept! is! valid! for! storage! virtualization,! In! the! same! way,! multiple!operating! systems! may! run! on! a! single! physical! system! and! share! the! underlying!hardware!resources.!This!provides!a! type!of! technology!that!allows!application!to!be!moved! around! freely! onto!different! devices! that! exist! in! the!Cloud,! transparently! to!the!end!user![4],!and!in!an!optimized!and!scalable!way.!

Currently,!Cloud!Providers!deliver!Cloud!services!according!to!three!classes!of!service!models!(respectively!described!in!subsections!2.2.1,!2.2.2,!and!2.2.3):!

Page 14: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!14!of!54!

1. Infrastructure!as!a!Service!(IaaS),!provides!the!hardware!and!software!that!powers!it!all!–!servers,!storage,!networks,!operating!systems.!

2. Platform! as! a! Service! (PaaS),! provides! the! set! of! tools! and! services! designed! to!make!coding!and!deploying!applications!quick!and!efficient.!!

3. Software! as! a! Service! (SaaS),! provides! applications! to! endNuser! as! web!applications.!

These!service!models!are!deployed!on!four!different!types!of!Cloud!infrastructure!that!are!Private2Cloud,2Community2Cloud,2Public2Cloud!and!Hybrid2Cloud.!

• Private2Cloud:!The!Cloud!infrastructure!is!dedicated!to!a!single!organization.!It!may!be!managed!by!the!organization!or!a!third!party!and!may!exist!on!premise!or!off!premise.!Also! referred! to!as! internal!Cloud!or!onNpremise!Cloud,!a!private!Cloud!limits! access! to! its! resources! to! service! consumers! that! belong! to! the! same!organization!that!owns!the!Cloud![3].!

• Community2Cloud.2The!Cloud! infrastructure! is! provisioned! for! exclusive!use!by! a!specific! community! of! consumers! from!organizations! that! have! shared! concerns!(e.g.,!mission,!security!requirements,!policy,!and!compliance!considerations)![3].!It!may!be!owned,!managed,!and!operated!by!one!or!more!of!the!organizations!in!the!community,!a!third!party,!or!some!combination!of!them,!and!it!may!exist!on!or!off!premises.!

• Public2Cloud:!The!Cloud!infrastructure!is!made!available!to!the!general!public!or!a!large!industry!group!and!is!hosted!by!the!organization!selling!Cloud!services.!This!model! represents! a! Cloud!environment! that! is! openly! accessible! [3].! The!user! is!not!aware!of!where!the!computing!infrastructure!is!hosted.!

• Hybrid2 Cloud.2The! Cloud! infrastructure! is! a! composition! of! two! or!more! distinct!cloud!infrastructures!(private,!community,!or!public)!that!remain!unique!entities,!but! are! bound! together! by! standardized! or! proprietary! technology! that! enables!data!and!application!portability![3].!

2.2.1 Infrastructure!as!a!Service!(IaaS)!IaaS! refers! to! the! provision! of! scalable! computing! resources! such! as! processing,!storage,!networks,!and!other!fundamental!computing!resources!to!consumers!able!to!deploy!and!run!arbitrary!software,! including!operating!systems!and!applications.!The!consumer! is! not! responsible! for! managing! or! controlling! the! underlying! Cloud!infrastructure,! but! has! control! over! operating! systems,! storage,! and! deployed!applications,! and! possibly! limited! control! of! select! networking! components! [3].! The!IaaS! provider! is! responsible! to! maintain! all! systems! including! power,! broadband!connectivity,!and!associated!hardware.!

So,! a! generic! IaaS! consists! of! a! pool! of! highly! abstracted! and! scalable! infrastructure!devices! existing! in! multiple! provider! data! centers,! connected! over! virtual! private!Internet! connections,! where! a! trusted! third! party! is! charged! with!maintenance! and!allocation![4].!

Examples!of!IaaS!are:!Amazon!EC2,!Eucalyptys,!OpenNebula.!

Page 15: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!15!of!54!

2.2.2 Platform!as!a!Service!(PaaS)!PaaS!refers!to!the!provision!of!development!platforms!whose!tools!are!hosted!by!the!Cloud!provider!and!accessed!and!deployed! through! the! Internet.!The!consumer!may!deploy! onto! the! Cloud! infrastructure! consumerNcreated! or! acquired! applications!created!using!programming! languages,! libraries,! services,!and!tools!supported!by!the!specific! PaaS! Cloud! providers.! The! consumer! does! not! manage! or! control! the!underlying! Cloud! infrastructure! including! network,! servers,! operating! systems,! or!storage,! but! has! control! over! the!deployed! applications! and!possibility! configuration!settings!for!the!applicationNhosting!environment![3].!

In!this!scenario,!the!consumer!is!a!Cloud!developer!who!builds!her!application!without!worrying!to!create!a!Cloud!application!from!the!bottom!up,!and!the!Cloud!provider!will!make!available!to!developers!“prefab”!functionality!such!as!a!user!interface,!user!sign!up!and!administration,!multiNtenant!data!management,!and!so!on![4].!

Examples!of! PaaS! are:!Microsoft!Azure,!Google!App!Engine,!Hadoop,!Amazon!Elastic!MapReduce.!

2.2.3 Software!as!a!Service!(SaaS)!SaaS! refers! to! the! provision! of! software! products/applications! running! on! a! Cloud!infrastructure!to!consumers!accessing!them!from!various!client!devices!through!either!a! thin! client! interface,! such! as! a!web!browser! (e.g.!webNbased! email),! or! a! program!interface.! The! consumer! does! not! manage! or! control! the! underlying! Cloud!infrastructure!including!network,!severs,!operating!systems,!storage,!or!even!individual!application!capabilities,!with!the!possible!exception!of!limited!userNspecific!application!configuration!settings![3].!

Examples!of!SaaS!are:!Google’s!Gmail,!DropBox,!Google’s!Search,!Apple’s!iCloud.!

2.3 WHICH!CLOUD!AS[A[SERVICE!MODEL?!In!according! to! the!definitions!given! in! subsections!2.2.1,!2.2.2,! and!2.2.3,! it!may!be!useful!to!investigate!the!distinguishing!characteristics!of!IaaS,!PaaS!and!SaaS!models!in!relation! to! the! development! of! a! generic! IT! application! to! analyze! the! “degrees! of!freedom”! that! these!models! give! to! developers! when! building! an! application! to! be!deployed!on!the!Cloud.!

Figure!1!shows!for!each!model!which! layers,!composing!the!typical!stack!of!provided!Cloud! resources,! a! developer! can! directly! handle! during! the! development! of! an! IT!application.! In!particular,! the!Cloud!resources!managed!directly!by!the!developer!are!reported!in!blue,!while!the!ones!that!are!managed!by!the!Cloud!provider!are!reported!in!red.!!

Page 16: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!16!of!54!

!

Figure!1:!Layers!of!the!Cloud!stack!w.r.t!their!“manageability”!in!IaaS,!PaaS!and!SaaS!

As!shown! in!Figure!1,! the!SaaS!model,!while!being!a!very!valuable! tool,!allows!users!only! to! access! applications! developed! directly! by! the! Cloud! Provider! and! made!accessible!through! Internet.!For!this!reason,! it! is!not!a!suitable!model! for!developing!applications! independently! by! the! Cloud! provider,! as! in! the! case! of! the! MIDAS!Platform.!

For! this! reason! the! SaaS! model! will! not! be! considered! as! a! possibility! for! MIDAS!project,!and!so!it!will!not!be!discussed!in!the!rest!of!the!document.!

The!IaaS!and!PaaS!models!allow!users!for!different!degrees!of!control!over!the!Cloud!computing!resources,!as!shown!in!Figure!1.!

As!shown!in!the!figure,!in!the!PaaS!model,!the!IT!application!developer!might!handle,!throughout! the! building! phase! of! the! application,! the! data! and! applications! that!he/she!wants!to!deploy!in!the!Cloud!using!the!APIs!provided!by!the!Cloud!provider!that!is!responsible!for!completely!handling!the!underlying!layers.!

The! main! advantage! of! the! PaaS! model! is! the! provision! for! developers! of! a!collaboration! platform! for! software! development! including! tools! and! preNdefined!components!to!facilitate!the!construction!of!scalable!IT!applications,!while!leaving!the!control! and! maintenance! of! computing! resources,! such! as! operating! system,!networking!infrastructure!and!hardware,!to!the!Cloud!provider,!so!resulting!in!limited!administration!costs.!

Nevertheless,!developers!are!tied!down!to!the!technologies!offered!by!the!provider,!so!it! is! less! suitable!when! application! development! requires! proprietary! languages! and!runNtime! environments! that! will! limit! application! portability! (vendor! lockNin).! This! is!even!more! crucial! for! applications! requiring! different! IT! technologies! to! be! used! at!

Page 17: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!17!of!54!

once.! More! importantly,! PaaS! is! less! suitable! for! applications! whose! performances!require!customization!of!the!underlying!hardware!and!software!

In!the!IaaS!model,!the!consumer!has!control!on!most!of!the!layers!of!the!Cloud!stack.!The!OS!layer!is!blurry!because,!from!the!point!of!view!of!Cloud,!it! is!handled!both!by!the! developer,! and! by! the! Cloud! Provider.! In! fact,! the! Cloud! Provider! may! provide!different!operating!systems,! i.e.! Linux!machines! (Ubuntu,!Debian,!OpenSuse,!Fedora,!etc.),!Windows!machines! (Windows! XP! Server,!Windows! 7,! etc.),! and! the! developer!selects!the!machine!according!to!the!OS!he/she!needs!in!the!phase!of!building!his/her!application,!still!maintaining!a!limited!control!of!it.!

The! IaaS! Cloud! model! might! allow! to! freely! select! the! OS,! and! then! to! put! the!necessary!middleware,! runtime,! data! and! applications! on! top! of! it,! while! the! Cloud!Provider! will! manage! only! the! underlying! layers.! Of! course,! in! this! case! the!administration!costs!are!similar!to!a!traditional!computing!infrastructure.!However,!the!control! over! Cloud! resources! allowed! by! the! IaaS! makes! it! suitable! to! develop!applications! where! there! are! significant! irregularity! in! terms! of! demand! on! the!computing!infrastructure,!but!at!the!same!time!where!capital!investment!on!hardware!resources!is!a!big!concern!(as!in!the!case!of!small!or!new!companies)!

!

Page 18: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!18!of!54!

3 THE!MIDAS!SOA!TESTING!PLATFORM!ARCHITECTURE!The!MIDAS!TPaaS,!henceforth!simply!called!MIDAS!platform,!architecture!as!reported!in!the!DoW,!is!composed!of!different!tiers,!each!one!providing!a!set!of!functionalities!for!the!automation!of!SOA!testing.!At!this!stage!of!the!project!and!in!accordance!with!its!schedule,!a!complete!definition!of!the!architecture!is!not!yet!delivered.!In!fact,!the!mapping!of!MIDAS!platform!functionalities!to!MIDAS!platform!components,!the!set!of!API/interfaces,!and!communication!mechanisms!among!the!different!components!are!still!being!discussed!within!the!MIDAS!Consortium.!

Nevertheless,! here! the! main! components! of! the! MIDAS! platform! architecture! to!foresee! its! possible! implementation! scenarios! on! a! CloudNbased! infrastructure! are!reported.!

3.1 THE!MIDAS!THREE!MAIN!TIERS!The!MIDAS!platform!architecture!is!depicted!in!Figure!2.!

!Figure!2:!Architecture!of!the!MIDAS!platform!

The!components!of!the!general!architecture!are!split!in!three!different!tiers!each!one!providing!a!set!of!functionalities!to!MIDAS!users:!

1. Front!end:!

a. User2Portal,!for!documenting!and!supporting!MIDAS!APIs!for!testers!and!for!testing!profile!developers.!

b. API2gateway!to!allow!secured!and!monitored!access!through!the!MIDAS!API!

Page 19: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!19!of!54!

c. Account2 management! for! user! identification,! authentication! and!authorization! including! administration! facilities! for! computing! resources!allocation.!

d. Model2 authoring,! a! MIDAS! Modelling! Framework! (MMF)! allowing! MIDAS!platform! users! to! author! architectural,! service,! and! test! models! locally!(outside!MIDAS)!that!can!then!be!uploaded!in!the!MIDAS!data!repository.!

2. Core:!

a. Test!generation!responsible!for!test2case2generation;!

b. Test! script! generation! responsible! for! generating! executable! TTCNN3! test!scripts;!

c. Test!run!responsible!for!scheduling,!executing!and!arbitrating!the!test!cases!and! for! passing! information! about! the! test! run! session!back! to! the!MIDAS!user.!

3. Back!end:!

a. Data!management!and!persistence!concerning!data!relevant!for!testing!with!MIDAS!(test!models,!test!cases,!test!campaigns,!test!logs,!usage!journals,!and!so!on)!and!account!management!data.!

!

3.2 MIDAS!ARCHITECTURE!FROM!A!USER!PERSPECTIVE!Here!an!initial!analysis!of!the!MIDAS!platform!architecture!from!the!user’s!perspective!is!presented!in!order!to! identify!the!possible!user’s! interactions!with!the!MIDAS!core!functionalities! that! will! impact! the! Cloud! requirement! implementation! mainly!concerning!aspects!related!to!data!persistence/sharing!and!user!accounting!roles!and!their!management.!

!Figure!3:!Use!cases!of!MIDAS!platform!

As!described!in!Figure!3,!three!main!use!cases!have!been!identified:!

Page 20: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!20!of!54!

• Test! Execution! it! is! the!most! fundamental! use! case!of! the!MIDAS!platform.! The!user! employs! the! MIDAS! platform! as! execution! engine! of! already! existing!(potentially!legacy)!TTCNN3!test!suites.!These!test!suites!might!be!slightly!amended!to!comply!with!the!MIDAS!platform.!

• Manual!Test!Design! is!an!extended!scenario!of! the!use!case!Test!Execution,! i.e.,!the! user! does! not! make! use! of! the! test! generation! capabilities! of! the! MIDAS!platform,!but!rather!manually!specifies!the!test!cases!in!a!MIDAS!test!model.!The!MIDAS! test!model! is! then!passed! to! the!MIDAS!platform! from!which!executable!test!code!will!be!generated!and!executed!by!the!MIDAS!platform.!

• Automated!Test!Design!is!the!complete!and!main!use!case!of!the!MIDAS!platform,!since!it!comprises!all!capabilities!of!the!MIDAS!platform!including!test!generation,!test! execution! and! reporting.! The! user! provides! a! test! model! with! test! design!directives!to!a!test!generator.!The!generated!test!cases!are!stored!within!the!test!model.! The! user! specifies! test! suites,! a! scheduler! and! an! arbiter! for! the! test!execution!within!the!test!model.!The!test!model! is!then!passed!to!the!test!script!generator! that! generates! executable! TTCNN3! code! according! to! the! arbitration!specification! in! the! test! model! and! submits! the! artefacts! (i.e.,! test! model! and!TTCNN3! scripts)! to! the! test! runner,! which! is! responsible! for! executing! the! test!scripts!with! the! specified! scheduler.!Afterwards,! the! test! log! information!will! be!returned.!

Page 21: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!21!of!54!

4 MIDAS!SOA!TESTING!PLATFORM!ON!THE!CLOUD!The!MIDAS!SOA!Testing!platform!will!be!designed!and!developed!in!a!SOA!style![21],![22],! according! to! the! architecture! tiers! described! in! Section! 3.! In! this! section! the!requirements! from! the! Cloud! perspective! coming! from! the! MIDAS! platform!architecture!and!its!tierNbased!design!will!be!identified.!

4.1 MIDAS!ARCHITECTURE!WITH!RESPECT!TO!A!CLOUD[BASED!IMPLEMENTATION!Once! the!MIDAS!platform!will!be!completely!defined,! it!will!be!deployed!on!a!Cloud!infrastructure.!The!deployed!version!is!the!MIDAS!Testing!Platform!as!a!Service!(MIDAS!TPaaS).!

In! the! next! subsections! the! challenges! related! to! the! deployment! of! the! identified!MIDAS!platform!tiers!on!the!Cloud!will!be!analysed.!

4.1.1 Front[end!tier!

The! frontNend! functionalities!are!accessible!via!webNbased! (HTTP!or!SOAP/REST)!APIs!exposed! by! the!MIDAS! TPaaS! on! the! Cloud.! These! APIs! fall! in! two! categories:! user2interfaces!and!administrative2interfaces.!

• User2API!must!allow!MIDAS!users,!operating!from!outside!the!Cloud,!to!configure!and!control!the!testing!process,!to!monitor!its!execution!and!to!collect!and!share!testing!results!and!so!on.!

• Administrative2 API! must! allow! administrators! to! manage!authentication/authorization! and! grouping! of! MIDAS! users,! to! control! and!manage!the!allocation!of!Cloud!resources!to!the!entire!MIDAS!TPaaS!according!to!users!requests!

Although!incomplete!information!is!available!at!the!current!state!of!the!deliverable,!it!is! foreseen! that! different! users! and! roles! will! have! different! requirements! that!inevitably!will!impact!implementation!decisions!about!the!MIDAS!Cloud!development.!For! example,! some! use! cases! will! require! data! persistence! in! some! extents,! while!administrative!roles!will!have!exclusive!access!to!Cloud!resource!configuration!facilities!since!they!will!respond!to!resource!request!rising!from!several!users!of!MIDAS.!

4.1.2 Core!tier!

The!core! tier! functionalities!are!embodied!by! the!MIDAS!core!software!components.!They! are! components! implementing! the! basic! testing! process! activities,! like! test!generation,! test! execution,! and! MIDAS! platform! specific! functionalities,! like! test!arbitration,!test!scheduling,!test!planning.!

Since!the!MIDAS!TPaaS!will!be!designed!as!a!SOA,!all!software!components,!regardless!if! they! are! thirdNparty! solutions! or! software! developed! by! project! partners,! will! be!wrapped!up!as!web!services!(SOAPNbased!or!RESTNbased)!and!their!functionalities!will!be! exposed! through!webNservices! APIs! and! orchestrated!within! the!MIDAS! platform!according!to!the!protocols!and!MIDAS!use!cases!defined!by!the!consortium.!!

From! the! Cloud! perspective! the! coreNtier! components! are! considered! as! MIDAS!platform!vertical!components,!in!the!sense!that!each!component:!

Page 22: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!22!of!54!

1. fully!implements!one!or!more!core!functionalities!of!MIDAS.!!

2. is!deployed!and!managed!as!an!autonomous!and!separated!entity!on!the!Cloud!

3. provides! access! to! its! functionalities! through! Web! ServiceNbased! (SOAP/REST)!APIs.! The! APIs! will! interact! both! with! the!MIDAS! frontNend! and! with! the! other!MIDAS!components.!

4.1.3 Back[end!tier!

The! backNend! tier! provides! functionalities! to! support! data! storage,! management,!access,!and!sharing.!Data!can!be:!

1. Architectural2data,!i.e.,!data!exchanged!by!the!MIDAS!components!(like!service!messages!and!network!info)!

2. Administration2data,2i.e.2MIDAS!platform!configuration!files!and!administrative!data,!like!test!users’!accounting!info,!grouping!and!sharing!permissions,!and!so!on.!!

3. Test2 data,2 i.e.2data! related! to! test! processing! lifecycle,! like! test!models,! test!cases,!test!campaigns,!test!logs,!and!so!on.!

Beside!data!management! facilities,! the!back!end!provides!also!multiNuser! support!of!the!MIDAS!platform,! i.e.! it!allows!and!supports! (sessionNbased!/! identificationNbased)!concurrent! access! by! multiple! users! to! the! same! testing! MIDAS! platform.! Those!facilities! include! computing! resource! scheduling! and! data! storage! resource! quotas!among!different!users! in! the!same!test!execution!environment.!As!such,! they!can!be!considered! “horizontal”! since! they! are! functionalities! orthogonal! to! the! core! tier!components.!!

As! an! example,! distributed! File! Systems! on! the! Cloud! can! be! considered! and/or!implemented! as! a! support! for! distributed! storage! system! of! MIDAS! TPaaS.! Also!accounting! of! users! storage! space! as! well! as! CloudNbased! scheduling! solutions! to!discipline!test!user!computing!resources!can!be!considered.!

4.2 WHICH!“AS!A!SERVICE”!MODEL!FOR!MIDAS!TPAAS?!In! this! section! three!possible! implementations!of!MIDAS!TPaaS! in!Cloud! settings! are!presented.!It!should!be!noted!that!for!some!Cloud!providers!some!(or!all)!scenarios!are!possible! since! they! provide! both! the! PaaS! and! the! IaaS! models! with! a! different!contract!of!sale!depending!on!which!model!the!customer!chooses.!

By!describing!MIDAS!TPaaS!implementation!scenarios!on!the!Cloud!it!will!be!analysed!whether!and!how!much!they!respond!to!a!set!of!requirements!identified!as!crucial!in!order!to!address!important!goals!of!implementing!MIDAS!design!and!implementation!on!the!Cloud,!like!platform!portability,!resource!exploitation!efficiency,!software!reuse!and!so!on.!The!requirements!can!be!so!summarized:!

• Middleware2flexibility!N!It!would!be!desirable!that!MIDAS!TPaaS!developers!have!as!much! freedom! as! possible! in! deciding! how! to! set! and! configure! the! MIDAS!development! framework,! i.e.! in! choosing! the! programming! technology,!middleware,! libraries! and! tools! (even! the!OS),! in! reconfiguring! the!development!framework!at!any!time,!in!being!able!to!replace!or!update!software,!etc.!

Page 23: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!23!of!54!

• Resource2 Control! N! It! would! be! desirable! that!MIDAS! TPaaS! developers! have! as!much! control! as! possible! in! mapping! MIDAS! platform! software! components! to!Cloud! hardware! resources.! Since! physical! resources! are! managed! by! the! Cloud!provider! and! are! transparent! to! users!who! have! visibility! of! “virtual! resources”,!herein!“resource!control”!means!the!extent!at!which!the!developer!have!ways!to!distribute! and! bind! “virtual! hardware! resources”! to! the! components! of! a!distributed!application!to!be!deployed!on!the!Cloud.!!

• Use2of2existing2data/information2storage2and2sharing2services!N!The!complexity!of!MIDAS! TPaaS! architecture! includes! basic! functionalities! like! multiNusing,!data/information!storage!and!sharing!services.!It!would!be!an!advantage!to!reuse!in! existing! commercial! or! opensource! software! solutions! implementing! those!facilities.! The! alternative! and! costly! option! would! be! to! implement! those!functionalities!by!scratch.!

• Provider2 LockCin! N! It! is! desirable! that! MIDAS! TPaaS! implementation! could! be!portable! among! several! Cloud! providers.! This! requirement! depends! on! the!middleware!flexibility,!since!in!the!case!MIDAS!implementation!tightly!depends!on!a!specific!Cloud!platform!it!would!be!difficulty!portable!to!other!Cloud!providers.!

4.2.1 MIDAS!implementation!in!a!PaaS!Cloud!An! implementation! of!MIDAS! TPaaS! on! a! PaaS! Cloud! allows! for! a! componentNbased!approach,! but! in! general! developers! have! to!work! at!middleware! level! of! Cloud,! so!relying!on!the!underlying!infrastructure!level,!which!is!not!offered!as!a!service!by!the!Cloud!provider.!In!fact,!in!principle,!in!the!PaaS!model!only!the!layers!starting!from!the!middleware!are!offered!as!services!for!development!of!hosted!applications.!

In! the! following! subsections! the! PaaS! solution! for!MIDAS! is! analysed! and! discussed!according!to!the!criteria!above!described,!independently!of!a!specific!implementation!design.!

4.2.1.1 Middleware2flexibility22

In!the!PaaS!model,!the!Cloud!provider!supplies!the!runtime!and!the!middleware2!in!a!specific!programming!technology!(Java,!Python,! .NET,!etc.)! for!applications!deployed!on!the!Cloud.!The!same!PaaS!infrastructure!may!support!more!than!one!programming!environment/technology,! each! one! offered! with! its! runtime! and! middleware!configuration.!Typically,!such!middleware!tools!and!relevant!software!packages!are!not!widely!configurable,!and!they!can!be!changed!and/or!extended!by!Cloud!users!only!in!a!very!limited!manner.!

As!an!example,!Google!App!Engine!(GAE)!supports!both!Java!and!Python!programming!(PHP!is!supported!at!an!experimental!stage).!GAE!executes!Python!application!code!in!a! safe! sandboxed!environment! in! a! Python! interpreter! runtime!2.5!or! 2.7.!GAE! runs!Java!web! application! using! a! Java! 7! JVM! in! a! safe! sandboxed! environment.! In! both!technologies! the! corresponding! middleware! solutions! provides! several! common!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2!including!DBs,!communication!libraries/services,!web!application!development!framework/container,!and!so!on.!

Page 24: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!24!of!54!

services! (like! Mail,! SSL,! DB,! multitenancy,! etc.)! while! some! tools! and! services! are!specific! to! one! technology! (like! Apache!Maven! and! Eclipse! plugins).! In! any! case! all!middleware! software! provided! is! fixed! in! configuration! and! version.! Indeed,!middleware!updates!and!configuration!is!decided!and!managed!by!the!Cloud!provider.!

Although! developers! use! inNhouse! programming! tools! to! code! applications! to! be!deployed! in! the! Cloud,! most! PaaS! Cloud! infrastructures! offers! editing! tools! to!synchronize!during!application!development!local!copies!with!the!one!deployed!in!the!Cloud.!

4.2.1.2 Resource2control2

Generally,! in! PaaS! Cloud! settings! less! control! of! Cloud! resources! (CPUs,! RAM,! data!storage,!etc.)!allocated!to!MIDAS,!since!the!Cloud!provider!allocates!resources!to!the!middleware/runtime!hosting! the!MIDAS!TPaaS! and! transparently!manages! resources!at!the!infrastructure!level!with!limited!(or!no)!control!given!to!developers!working!at!the!middleware!level.!

As! described! earlier,! PaaS! solutions! are! evolving! into! operating! systems! for! CloudNbased!computing!and!data!centres.!PaaS!targets!mainly!rapid!development!and!deploy!of! complex! software! rather! than! offering! flexible! control! of! Cloud! resources,! in! the!same! way! as! UnixNlike! operating! systems! provide! development! tools! and! APIs! for!software!development!shielding!programmers! from!the!underlying!complexity!of! the!hardware!infrastructure!

In!the!same!way!as!in!desktop!operating!systems!programmers!can!efficiently!exploit!multiNcore! architectures! by! designing! their! applications! in!multiNthreading,! in! a! PaaS!Cloud!a!MIDAS!developer!might!exploit!parallelism!on!multiple!virtual!cores!by!multiNthreading! programming,! provided! that! PaaS! middleware/runtime! supports! OSNlevel!threads! (and! CPU! binding! of! threads)! at! programming! level,! but! this! is! not! always!possible!since!this!type!of!support!depends!on!the!PaaS!provider.!

4.2.1.3 Use2of2existing2data/information2storage2and2sharing2services2

MultiNtenancy! and! data/information! sharing! are! MIDAS! architecture! requirements,!which!are!different!from!requirements!on!Cloud!virtual/physical!resources!sharing.!!

Some!PaaSNbased!Cloud!solutions!provides!multi[tenancy!of!services,! tools!and!data,!that!is!Cloud!provider!and/or!userNdeveloped!services!could!be!shared!among!group!of!users,!in!the!same!way!UnixNlike!OSs!share!applications,!filesystem,!tools!and!libraries!among!group!of!users!of!the!same!machine.!As!an!example!the!Dropbox!Cloud!storage!and!Google!AppEngine!allow!this!facility.!

MultiNtenancy! and! data/information! sharing! features! are! horizontal! component! of!MIDAS.!As!such,!once!defined!in!the!MIDAS!consortium,!it! is!foreseen!that!they!have!requirements! and! constraints! typical! of! the! testing! application! domain.! If! so,! prefab!multiNtenancy!and!information!sharing!services!offered!by!some!PaaS!Cloud!providers!might!not!easily!fit!the!specific!MIDAS!requirements.!If!this!will!be!the!case,!regardless!of!the!chosen!implementation!scenario!(PaaS!or!IaaSNbased),!the!multiNtenancy!facility!and!information!sharing!has!to!be!implemented!by!scratch.!!

Page 25: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!25!of!54!

From! the!perspective!of! the!Cloud!PaaS!hardware! and! software! resource! space,! the!additional!facility!maybe!be!either!developed!and!run!in!the!same!PaaS!environment!of!MIDAS!TPaaS,!or! in!a!new!PaaS!space!hosting!multiNtenancy!and! information!sharing!services.!

4.2.1.4 Vendor2LockCin2

The!PaaS!model!links!tightly!Cloud!users!to!the!supplied!(version!and!configuration!of!the)! development! framework! and! technology! (Java,! Python,! Ruby,! etc.).! With! this!premise,! it! is! clear! how!much! the!MIDAS! TPaaS! implementation!will! depend! on! the!PaaS!Cloud!platform!adopted!and!how!difficult!could!be!to!migrate!MIDAS!TPaaS!to!other!Cloud!providers.!For!example,!while!all!Cloud!providers!support!Java!technology,!other!technologies!like!C++!are!not.!Even!migrating!to!providers!supporting!the!same!technology!could!cause!problems,!since!different!PaaS!development!framework!might!use!diverse!tools,!middleware,!libraries,!configuration,!and!deployment!mechanisms.!!

4.2.2 MIDAS!implementation!in!a!IaaS!Cloud!Two!IaaS!implementation!scenarios!are!considered.!The!first!one!is!shown!in!Figure!4,!and!it!represents!MIDAS!as!a!distributed!and!componentNbased!application!developed,!managed,! and! executed! in! a! single! web! application! container,! hosted! by! a! single!Virtual! Machine! in! an! IaaS! Cloud! infrastructure.! This! scenario! is! referred! to! as! a!“MIDAS!monolithic!design!in!an!IaaS!Cloud”,!since!all!Cloud!resources!associated!to!the!VM!are!assigned!to!MIDAS!platform!as!a!whole.!

!The! second! implementation! scenario,! shown! in! Figure! 5,! represents! MIDAS! as! a!distributed!and!componentNbased!application!where!each!(core)!component!runs!and!is!managed! in!dedicated!web!application!containers!hosted!by!separated!VMs!of!the!IaaS! Cloud! infrastructure.! In! this! scenario! each! component! has! a! dedicated! running!environment! (and! virtual! machine).! In! this! sense! this! scenario! is! referred! to! as! a!“MIDAS!distributed!design!in!an!IaaS!Cloud”,!since!virtual!resources!are!distributed!and!assigned!to!MIDAS!components.!

Page 26: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!26!of!54!

Figure!4:!MIDAS!monolithic!design!in!IaaS!

Figure!5:!MIDAS!distributed!design!in!IaaS!

4.2.2.1 Middleware2flexibility22

In! the! IaaS! model! the! Cloud! provider! does! not! provide! the! middleware! and! the!runtime,!but!the!hardware!infrastructure!by!means!of!virtualization!technologies.!!

In!the!IaaS!model,!a!VM!is!a!virtual! infrastructure!hosting!and!providing!resources!to!applications.!When! a! VM! is! instantiated! in! the! Cloud,! it! includes! an!OS! basic! image!with! its!configuration!and!system! libraries.!Then,! the!user!may!extend! the!VM! initial!environment! by! remotely! installing! in! it! and! configuring! all! the! required! tools! and!middleware! for! developing! his/her! application! (container/server,! database,!

Page 27: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!27!of!54!

networking! libraries,!etc.).!On!the!top!of! the!so!customized!VM,!the!Cloud!users!can!develop/deploy!remotely!the!application!to!be!run!in!the!Cloud.!

It!is!possible!to!make!snapshots!of!the!working!VM!and!to!reNinstantiate!them!on!other!Cloud!resources.!

Desktop!virtualization! technology!allows!Cloud!users! to!access!and! remotely! interact!with!the!OS!of!the!VM!instance.!Most!IaaS!Cloud!infrastructures!provide!editing!tools!or! APIs! (WSNbased,! Java,! Python,! etc.)! to! synchronize! locally! developed! applications!with! their! images! on! the! hosting! VM! in! the! Cloud.! Therefore! developers! of!MIDAS!TPaaS! components! and! framework! would! benefit! of! such! tools! and! APIs! to!autonomously!develop,!manage!and!update!their!software!releases!within!the!MIDAS!deployment!in!the!Cloud.!!

Scenarios! of! Figure! 4! and! Figure! 5! imply! that! MIDAS! developers! are! in! charge! of!managing! MIDAS! middleware! and! runtime! construction.! On! the! other! hand,!developers! have!more! control! of! software! resources! which!MIDAS! implementation!will!rely!on,!since!they!are!free!to!decide!which!application!framework!to!use,!and!how!to!configure/customize!it.!

4.2.2.2 Resource2control22

Depending!on!the!Cloud!provider,!as!well!as!on!the!user!demands!(and!payment),!each!VM!instance!can!run!on!Cloud!resources!under!different!configurations:!for!example,!the! Cloud! provider! can! provide! 4! Virtual! CPUs,! 2! GBs! of! Virtual!memory! and! 1Gbit!bandwidth! for! each! VM! instance! whose! storage! does! not! exceeds! 60! GBs.! Cloud!resources! are! virtual,! that! is! they! are! guaranteed! as! un! upper! limit,! but! the! real!amount! of! resources! is! dynamically! allocated! according! to! the! Cloud! provider! loads!and!scheduling!policies.!

In!the!scenario!of!Figure!4!the!MIDAS!TPaaS,!although!designed!and!implemented!in!a!distributed!way,!runs!in!one!VM,!thus!presenting!a!monolithic!implementation!design!in! the! IaaS!Cloud.! Therefore!MIDAS! TPaaS!will! receive! a! set! of! Cloud! resources! as! a!whole.! Generally! in! IaaS! Cloud! infrastructures! to! each! VM! image! an! upper! limit! of!virtual!resources!is!assigned,!that!is!a!maximum!amount!of!(RAM,!number!of!CPU, data!storage,!VLANs!and!public!IPs).!

As! a! consequence,! if! the! monolithic! implementation! scenario! of! Figure! 4! adopted,!virtual!resources!are!assigned!and!possibly!changed!and!adapted!for!the!entire!MIDAS!platform.! In! this! scenario! it! might! be! difficult! (in! some! cases! even! impossible)! to!properly! and! efficiently! assign! and! distribute! Cloud! resources! to! single! MIDAS!components.!

Conversely,! in! the!scenario!of!Figure!5! the!MIDAS!TPaaS! is!designed,!developed! in!a!distributed!way!and!also!deployed!according!to!a!distributed!design!on!the!IaaS!Cloud.!In! this! case,! MIDAS! main! components! are! enclosed! in! separate! VMs! (including!runtime,!middleware!and!OS!layer)!that!will!be!independently!instantiated!in!the!Cloud!like!autonomous!and!interacting!entities!(or!web!services).!Then,! in!this!scenario! it! is!possible!to!allocate!and!manage!a!subset!of!resources!to!each!specific!component!of!MIDAS.!

Page 28: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!28!of!54!

Parallelism! on! multicore! VM! (also! called! virtual! cores)! is! provided! by! some! Cloud!providers!(for!example!Microsoft!Azure!and!Amazon!EC2)!while!other!Cloud!providers!only! offer! virtual! CPUs.! Nevertheless! the! real! and! efficient! exploitation! of! multiple!virtual!cores!depends!on!how!the!application!is!implemented.!

As!a!concluding!remark,! this!scenario!may!allow!a!high!degree!of! freedom!on!Cloud!resources!control!and!configuration!for!MIDAS!TPaaS.!

4.2.2.3 Use2of2existing2data/information2storage2and2sharing2services2

In! the! IaaS! Cloud! model! all! software! layers! (including! the! OS! and! system! libraries)!required! to! develop! and! run! applications! in! the! Cloud,! have! to! be! built! up! and!configured!by!the!Cloud!user.!

Therefore,! in!both!scenarios!of!Figure!4!and!Figure!5,!multiNtenancy!and! information!sharing!services!have! to!be!provided!by! the!MIDAS!developer.!Nevertheless,!at! least!two!options!are!possible:!1)!implementing!in!MIDAS!those!functionalities!by!scratch!or!2)! using! existing! commercial! or! opensource! software! solutions! providing! those!functionalities.!In!the!first!case!the!MIDAS!TPaaS!developer!has!several!possible!design!and! implementation! strategies! of!multiNtenancy! and! information! sharing! facilities! of!MIDAS.!This!holds!for!both!scenarios.!

Assuming!multiNtenancy!and! information!sharing!services!are!provided!by!specialized!components! for! the!purpose,!either!developed! in! the!project!or! thirdNparty!software!products,! they! can! be! enveloped! in! separated!VMs! deployed! on! the! Cloud.! Since! in!IaaS! Cloud! it! is! straightforward! to! distribute! and! allocate! hardware! resources! to!different!VMs,!the!scenario!of!Figure!5!allows!more!control!on!how!to!distribute!and!allocate!Cloud!hardware!resources!to!MIDAS!horizontal!component.!

4.2.2.4 Vendor2LockCin2

An! IaaS! Cloud! supplies! only! hardware! resources! through! virtualization! technologies.!The!MIDAS!platform!together!with!its!execution!environment!(including!the!underlying!OS!and!machine!configuration)!can!be!ported!to!a!Cloud! infrastructure!offered!by!a!different!Cloud!provider.!

4.2.3 MIDAS!implementation!scenarios!comparison!In!Table! 1! the! qualitative! analysis! results! of! the! three! proposed! implementations! of!MIDAS!TPaaS!with!respect!to!the!identified!requirements!is!summarised.!!

Since!the!analysis!is!qualitative,!the!ranks!of!the!considered!implementation!scenarios!with! respect! to! the! identified! criteria! have! the! following! interpretation:! the! values!“low”,! “medium”! and! “high”! refer! to! degree! of! the!middleware! flexibility,! resource!control,! and! vendor! lockNin,! while! the! “yes”! and! “no”! values! refer! to! presence! of!existing!data/info!storage!&!sharing!services!and!of!vendor!lockNin!risk.!

!

Page 29: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!29!of!54!

Implementations! Middleware!Flexibility!!

Resource!Control!!

Use! of! existing!data/info!storage! &!sharing!services!

Vendor!Lock[in!

in!PaaS! low! low! yes! high!

monolithic!in!IaaS! high! medium! no! low!

distributed!in!IaaS!! high! high! no! low!

!Table!1:!PaaS[!vs!IaaS[based!implementations!analysis!summary!!

Page 30: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!30!of!54!

5 OVERVIEW!OF!PUBLIC!CLOUD!INFRASTRUCTURES!This!section!presents!a!survey!upon!the!most!known!public!Cloud!providers!available!at! the! time!of! this! investigation.!The! review!of!Cloud!platform!providers! is!based!on!the! parallel! and! convergent! analysis! of! MIDAS! requirements! for! the! Cloud!functionalities!currently!identified,!the!computing!resource!allocation!requirements!for!the!MIDAS!components!and!the!facilities!offered!by!Cloud!providers!in!order!to!build!and!deploy!the!MIDAS!Platform!on!the!Cloud!in!the!most!effective!and!economic!way.!!

Of!course,!this!survey!cannot!be!exhaustive!since!the!Cloud!market!is!highly!dynamic!and! moving! on! a! daily! basis,! so! both! the! public! Cloud! providers! and! the! Cloud!infrastructures!they!provide!may!change!very!quickly.!

In!analysing!the!features!of!the!examined!public!Cloud!infrastructures,!we!identified!a!set!of! criteria! to! steer! the!classification!and!analysis!of! the!Cloud!providers! together!with!an!“economic2cost2model”!in!order!to!normalize!the!costs!of!the!provided!Cloud!resources! for! each! Cloud! Provider,! allowing! us! to! “rank”! suitable! Cloud! solutions! in!term!of!their!costs.!

5.1 MIDAS!REQUIREMENTS!FOR!THE!CLOUD!INFRASTRUCTURE!

According!to!discussions!among!the!MIDAS!partners,!we!identified!the!following!list!of!requirements!for!the!Cloud!infrastructure:!

(i) Functional! requirements,! necessary! to! fully! support! the! MIDAS! platform!functionalities;!

(ii) Software! requirements,! necessary! to! implement! the! MIDAS! platform!functionalities.!

5.1.1 Functional!Requirements!From! the! presentation! of! the!MIDAS! functionalities! in! Section! 3,! it! was! possible! to!identify! the! kind! of! Cloud! computing! resources! that! will! be! allocated! to! a! MIDAS!tenancy! in! order! to! allow! tenancy! users! to! use! the!MIDAS! functionalities.! Thus! we!analyse! the! computing! allocation! needs! of! the! MIDAS! functionalities! and! we! map!these!needs!on!the!Cloud!solutions'!offers.!!

We! categorize! Cloud! computing! resources! for! the! MIDAS! TPaaS! in:! (i)! processing2resources,! (ii)!memory2 resources,! (iii)! storage2 resources,! (iv)!bandwidth2 resources,! (v)!number2 of2 Internet2 connections.! The! MIDAS! functionalities! needs,! both! in! term! of!computing!resources!and!allocation!strategy,!are!summarized!as!follows.!

1. Model!authoring!and!Data!management!functionalities!

! They! consist!of! (i)! downloading!of!modelling! tools,! eventually! the!entire!MMF,!(ii)! downloading/uploading/check! models.! The! requirements! are:! (i)! storage!(model!and!data!persistence),!(ii)!bandwidth!(upload/download),!(iii)!number!of!connections! (proportional! to! the! number! of! users),! (iv)! processing! (model!checking).!We!can!assume!that!these!functionalities!are!invoked!on!regular!basis,!with!scalability!exigencies!proportional!to!the!number!of!tenancies/users.!

2. Test!generation!functionalities!!

Page 31: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!31!of!54!

! The! requirements! are:! (i)! processing! (model! checking,! test! generation),! (ii)!memory! (model! checking! N! could!be!greedy! in!memory,! see!graphs).!Each!user!invokes!these!functionalities!dynamically,!and!elasticity!must!deal!with!changes!in!invocations!volume.!The!activity!is!conducted!in!asynchronous!mode.!

3. Test!scheduling!functionalities!

! This!activity!can!vary!from!“noNoperation”!(execute!this!test!suite!in!sequence)!to!complex!scheduling!activities!based!on!probabilistic!reasoning!(depending!on!the!invoked! test! scheme).! The! most! complex! scenario! demands:! (i)! processing!(running! through! large! graphs),! (ii)! memory! (large! graphs! in! memory).! These!functionalities! are! invoked! dynamically! in! an! unpredictable! way,! and! elasticity!must! deal! with! changes! in! invocations! volume.! The! activity! is! conducted! in!asynchronous!mode.!

4. Test!execution!functionalities!!

! The! requirements! are:! (i)! processing! (test! execution! engine! allocation);! (ii)!number!of!connections!(between!the!MIDAS!test!execution!environment!and!the!SUT! for! very! large! multiNnode! services! architecture),! and! (iii)! bandwidth!(between!the!MIDAS!test!execution!environment!and!the!SUT!for!very!large!size!exchange! messages).! These! functionalities! are! invoked! dynamically! in! an!unpredictable!way,,!and!elasticity!must!deal!with!changes!in!invocations!volume.!The! scalability! depends! on! size! of! the! multiNnode! SUT! or! on! the! number! of!messages!exchanged!within!the!SAUT.!The!activity!is!conducted!in!asynchronous!mode!(synchronously!with!test!scheduling).!

5. Test!arbitration!functionalities!!

! The! requirements! for! these! functionalities! are! negligible,! except! for! inferenceNbased! arbitration! (e.g.,! for! instance,! probabilistic! inference).! In! this! case! the!requirements! are! similar! to! test! scheduling! needs.! The!most! complex! scenario!demands:!(i)!processing!(running!through!large!graphs),!(ii)!memory!(large!graphs!in!memory).! These! functionalities! are! invoked! dynamically! in! an! unpredictable!way,!and!elasticity!must!deal!with!changes!in!invocations!volume.!The!activity!is!conducted!in!asynchronous!mode!(synchronously!with!test!scheduling).!

6. Test!reporting!functionalities!!

! The! requirements! for! these! functionalities! are! negligible.! These! functionalities!are! invoked!dynamically! in!an!unpredictable!way,!and!elasticity!must!deal!with!changes!in!invocations!volume.!The!activity!is!conducted!in!asynchronous!mode.!

7. MIDAS!Platform!management!functionalities!!

! While!it!is!difficult!to!detail!the!requirements!for!the!MIDAS!architecture!and!its!deployment!on!Cloud!because!both!will!be!detailed! in! subsequent!deliverables!(i.e.,!D2.2!and!D6.2),!we!can!expect!that!the!requirements!will!be!in!terms!of!(ii)!bandwidth! (upload/download),! (iii)!number!of!connections! (proportional! to! the!number!of! users).!We! can! consider! that! these! functionalities! are! invoked!on! a!regular! or! irregular! basis! (not! important! at! the! moment),! with! scalability!requirements!proportional!to!the!number!of!tenancies/users.!

Page 32: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!32!of!54!

To!summarize,!the!main!MIDAS!functional!requirements!for!the!Cloud!are:!!

(i) scalability!of!computing!resources!on!the!basis!of! the!number!of!users!with!a!static! allocation! strategy,! where! a! preNassessed! number! of! resources! is!allocated!and!paid!at!a!fixed!cost;!!

(ii) elasticity! of! computing! resources! for! core! testing! functionalities,! with! a!dynamic!allocation!strategy!and!payNperNuse!billing;!

(iii) computational! resources! with! specific! requirements! in! terms! of! processing!power,! memory! and! network! (in! terms! of! outbound! bandwidth! and!connections);!

(iv) Remote!repository!for!files!with!support!for!POSIXNlime!metadata.!

In! order! to! quantify! the! computational! requirements,! a! questionnaire! has! been!designed! and! distributed! among! the! partners.! The! questionnaire! was! intended! to!exploit!the!partner!current!knowledge!of!the!MIDAS!components!in!order!to!provide!a!reasonable!estimate!of!the!hardware!requirement!for!single!MIDAS!components.!The!hardware!requirements!were!expressed!in!terms!of!!

1) Computational!power!(#!of!cores),!

2) Memory!(RAM),!

3) Local!storage!(disk)!

4) Network!throughput!(I/O)!!

Please!note!that!the!number!of!available!connections!has!not!been!taken!into!account!in! the! questionnaire,! because! (i)! they! will! depend! on! the! SAUT,! not! on! the! single!MIDAS!components,!and! (ii)!each!Cloud!virtual! resource! is!expected!to!behave! like!a!physical! resource,!so!we!assume!that!the!maximum!number!of!connections!will!be!a!fixed! amount! per! node! (65535! sockets,! but! in! general! the!OS! allows! a!maximum!of!1024!open!sockets!at!time).!We!assume!that!scalability!and!elasticity!requirements!can!easily!deal!with!any!requirement!in!term!of!number!of!outbound!connections.!

Table!2!reports!the!perNcomponent!hardware!requirements!currently!identified.!They!are! clearly! not! high! demanding,! since! they! refer! to! a! single! user,! singleNtest!environment,!very!different!from!the!MIDAS!TPaaS!goal.!They!are!however!very!useful!to!identify!minimal!requirements,!and!to!derive!a!reasonable!economic!cost!model!for!Cloud!provider!selection.!

Functionality2 #2of2cores2 RAM2 Disk2 I/O2

Test!Execution! 2! 2!GB! 400!MB! Not!available!

SAUT!Adapter3! 1! 20!MB! N! Not!available!

Test!Generation! 1! 100+!MB! 1+!GB! Not!available!

Test!Arbitration! 1! 4+!GB! N! Not!available!

Table!2:!Hardware!resources!requirements!collected!for!various!MIDAS!components!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!A!SAUT!adapter!can!be!functionally!classified!as!a!test!execution!functionality.!

Page 33: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!33!of!54!

5.1.2 Software!Requirements!In!order!to!provide!maximum!freedom!to!the!partners!that!will!implement!the!MIDAS!Core! components,!we! designed! an! additional! questionnaire! to! identify! their! current!development!environments!such!as!Operating!systems,!software!library!and!packages,!runtime!execution!environments,!licensing.!

We! consider! these! requirements! as! preNrequisites! for! the! development! of! the!components! of! the!MIDAS!Platform,! so!we!need! to! guarantee! that! the!public! Cloud!platform!that!will!be!selected!for!the!Project!supports!these!preNrequisites.!!

Again,! we! cannot! expect! to! collect! all! the! necessary! software! requirements! for! the!MIDAS!components,!but!this!initial!list!can!ease!the!Cloud!platform!selection.!!

Table!3!details!the!software!requirements!for!the!MIDAS!components!identified!so!far.!

Component2 OS2 Compiler2 Libraries2 License2Issues2

Test!Execution! Linux/Windows! Java! Eclipse! Proprietary!

UsageNbased!Test!Generation! Linux/Windows! Java! Maven! Apache!2.0!

TTCNN3!Test!Generation! Linux/Windows! C/C++,!Python,!Java! Maven! N!

Test!Inference! Linux! C/C++,!Python!! N! N!

Test!Generation! Windows! C#! .NET! N!

Eclipse!UML2! Linux/Windows! Java! Eclipse! EPL!License!

Eclipse!Acceleo! Linux/Windows! Java! Eclipse! EPL!License!

Eclipse!QVTo! Linux/Windows! Java! Eclipse! EPL!License!

Eclipse!EMF! Linux/Windows! Java! Eclipse! EPL!License!

Eclipse!SoaML! Linux/Windows! Java! Eclipse! EPL!License!

Eclipse!UTP! Linux/Windows! Java! Eclipse! EPL!License!

Fuzzing!Library! Linux/Windows! Java! Eclipse! Apache!

Fuzzy!Testing! Linux/Windows! Java! N! N!

Table!3:!Software!requirements!collected!for!various!MIDAS!components!

!

5.2 CRITERIA!TO!EVALUATE!PUBLIC!CLOUD!INFRASTRUCTURE!The!criteria! identified!for!analysing!Public!Cloud! infrastructures!have!the!objective!to!make!it!easier!to!evaluate!and!compare!the!different!Cloud!solutions!now!available!on!the! public! Cloud! market! with! respect! to! the! requirements! of! the! MIDAS! platform!development!and!usage.!

According! to! the! requirements! expressed! in! the! previous! Section,! we! produced! the!following!list!of!criteria!to!be!evaluated!for!each!Cloud!platform:!

Software2 support:! for! PaaS! solutions,! it! reports! whether! or! not! the! Cloud!platform! supports! software! requirements! such! as! the! Operative! System,! the!compiler/interpreter,! licensing! issues! to! deploy! on! Cloud! (GPL! license,! no! free!license,!etc.),!and!also!whether!or!not!the!Cloud!platform!provides!SDK!or!other!

Page 34: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!34!of!54!

software! tools! to! develop! applications! directly! on! Cloud;! for! IaaS! solutions,! it!reports! the! Operating! Systems! supported! and! the! software! tools! provided! for!the! management! of! the! Cloud! infrastructure! since! the! additional! software!necessary! to! develop! and! run! applications! should! be! provided! and! installed!directly!by!the!Cloud!user.!

As2 a2 Service2 Model:! it! specifies! which! Cloud! Computing! service! paradigms! is!provided:!IaaS!or!PaaS.!

Elasticity2 model:! it! specifies! whether! or! not! the! Cloud! platform! provides!sufficiently! large! storage,! computation! and! /! or! bandwidth! facilities! so! as! to!support!elasticity.!Given!that!all!Cloud!platforms!provide!scalability!(possibility!to!use!an!unlimited!number!of!machines),!we!carefully!check!the!Cloud!support!for!dynamic!load!balancing!(possibility!to!automatically!distribute!incoming!calls!to!different! virtual! resources),! dynamic! monitoring! (possibility! to! automatically!monitor! the! status! of! virtual! resources! according! to! predefined! metrics! and!receive! notifications)! and! dynamic! auto! scaling! ! (possibility! to! automatically!dispatch! and! dismiss! virtual! resources! to! support! dynamic! scalability! based! on!dynamic!monitoring!results).!

Migration2 cost2 model:! it! specifies! whether! or! not! the! infrastructure! involves!some! lockNin! effect,! thus! making! it! difficult! to! migrate! to! different! Cloud!Providers!in!the!future.!

Maturity2 and2 diffusion2 levels:! it! specifies! whether! or! not! there! is! a! lively!developers! community,! an! ecosystem! of! useful! libraries! and! software!components! built! around! the! platform! that! could! make! it! easy! to! exploit! the!infrastructure.! It! is! important!to!understand!if!the!platform!will!be!available!for!the!duration!of!the!project!and!beyond.!

Billing:! it! reports! an! estimate! of! the! costs,! for! each! Cloud! platform,! that! the!Project! consortium! or! a! future! MIDAS! provider! will! be! charged! with! when!deploying! and! operating! the! MIDAS! Platform.! These! costs! will! be! provided!according!to!the!“cost2estimates”!detailed!in!the!following!subsection.!Note!that!Cloud!providers!charge!for!the!“actual”!Cloud!usage,! i.e.!“you!pay!for!what!you!use”,!so!the!hourly!cost!assumes!that!the!Cloud!resources!are!up!and!running!for!one!hour.!

5.2.1 A!cost!estimator!for!the!Cloud!Platform!

Since!each!Cloud!provider!does!not!use!a!common!and!predefined!model!to!charge!for!the!Cloud!resources!they!provide!users!with,!a!“cost2estimator”!is!introduced!in!order!to! provide! a! preliminary! estimate! of! the! costs! of! a! given! Cloud! platform! in! a!normalized!way.!At! this!purpose,!we! identify! the!basic!MIDAS!Cloud!requirements! in!terms!of!hardware!resources!they!need.!Then,!our!cost!estimation!is!based!on!a!Cloud!platform!deployment! that! supports! the!prototype!of!MIDAS!platform! to!provide! the!necessary!computing!resources!to!host!the!MIDAS!prototype.!

This! cost! model! is! based! on! a! regular! (i.e.,! static)! usage! and! billing! of! the! Cloud!resources.! Even! if! the! MIDAS! platform! clearly! needs! to! support! very! dynamic! and!elastic! test!activities,!we!need! to!evaluate! the!costs!of! the!Cloud!providers!on! some!

Page 35: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!35!of!54!

static!basis.!Hence,!even!if!this!approach!does!not!reflect!the!actual!costs!the!MIDAS!provider!will!incur!due!to!the!unforecastable!number!of!users/SUTs!resulting!in!elastic!use!of! resources,! it!provides! the!basis! for!a! fair! compromise.!Please!note! that,! if!we!ignore!the!economic!benefits!of!the!economies!of!scale!and!the!costs!associated!with!autoscaling! features,! the! costs! of! the! dynamic! usage! of! the! Cloud! resources!will! be!proportional!to!the!costs!we!report.!!

In! this! deliverable! we! dimension! the! computing! resources! of! the! Cloud! platform!according!to!two!different! implementation!scenarios,!related!to!the!ones!reported!in!Section!4.2:!

1) Monolithic:! all! the! software! components! implementing! the! functionalities! of!the! MIDAS! platform! identified! so! far! (test! generation,! test! execution,! test!arbitration,! test!scheduling!and!test!profiling)!are!deployed!on!a!single!virtual!machine.!This!virtual!machine!must!be!sized!to!fulfil!the!hardware!requirement!of!all!components.!

2) LooselyCcoupled:!each!software!component! implementing!one! functionality!of!the! MIDAS! platform! identified! so! far! (test! generation,! test! execution,! test!arbitration,! test! scheduling! and! test!profiling)!will! be!deployed!on!a!different!virtual! machine.! Each! virtual! machine! must! be! sized! to! fulfil! the! hardware!requirement!of!each!component.!

While!the!first!implementation!scenario!corresponds!to!the!MIDAS!monolithic!design,!the! second! implementation! scenario! corresponds! to! a! specific! MIDAS! distributed!design,! where! every! single!MIDAS! core! component! is! developed! and! deployed! in! a!completely!independent!fashion,!as!depicted!in!Figure!6.!

!

Figure!6:!Implementation!scenarios!for!computing!resources!dimensioning!

These!implementation!scenarios!are!used!only!to!provide!two!operational!settings!for!a!generic!deployment!of!the!MIDAS!platform!in!a!single!user/single!tenancy!way.!The!actual! architecture! and! implementation! of! the! MIDAS! platform! will! be! possibly!different,!but!the!costs!associated!to!a!single!user/tenancy!testing!activity!using!MIDAS!will!require!Cloud!resources!ranging!from!a!single! large!virtual!machine! instance!to!a!set! of! different! virtual!machines,! one! per! component.! Of! course,!more! components!

Monolithic implementation scenario

VM

Test generation VM

Test generation

Test arbitration

Test execution

Test scheduling

Test profiling VMTest execution VM

Test arbitration VM

Test scheduling VMTest profiling VM

Loosely-coupled implementation scenario

Page 36: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!36!of!54!

could!be!hosted!inside!the!same!virtual!machine,!but!we!expect!that!the!Cloud!costs!in!the!considered!cases!will!range!between!the!costs!for!these!two!scenarios.!

In!absence!of!additional!details!at!this!stage!of!the!project,!in!the!following!we!assume!that:!

• the!“expected!network!throughput”! is!not! large,!as!most!communications!are!simple!strings,!and!it!is!not!considered!when!computing!the!Cloud!costs;!

• the! “number! of! (outbound)! Internet! connections”! is! fixed! for! each! virtual!machine! (1024! concurrent! open! sockets);! if! more! connections! are! required,!elasticity!will!provide!to!dispatch!new!virtual!machines!with!no!additional!costs!except!the!costs!for!the!additional!computing!resource;!

• any! software! component! without! specific! and! large! computational!requirements!as!detailed! in!Table!2! is! expected! to! require!a! “minimum!cost”!(e.g.,! small! or! micro! instances)! virtual! machine! (in! the! looselyNcouple!implementation!scenario)!or!no!additional!costs!(in!the!monolithic!scenario).!

Table!4!reports!the!hardware!resources!for!MIDAS!basic!implementation!scenarios!we!will!use!to!compare!the!costs!of!Cloud!platforms.!

Scenario2 #2of2Cores2 RAM2 Disk2 Component2

Monolithic! 4! 8!GB! 10!GB! All!

LooselyNcouple!

1! 1!GB! 2!GB! Test!generation!

2! 2!GB! 2!GB! Test!execution!

1! 8!GB! 1!GB! Test!arbitration!

1! (1!GB)! N! Test!scheduling!

1! (1!GB)! N! Test!profiling!

Table!4:!Hardware!resources!for!the!MIDAS!basic!implementation!scenarios!

The! cost! estimations,! both! for! the! monolithic! and! looselyNcoupled! scenarios,! are!computed! assuming! that! each! VM! involved! in! each! scenario! is! up! and! running,!equipped!with!the!hardware!resources!reported!in!the!previous!table.!

5.3 SURVEY!ON!CLOUD!INFRASTRUCTURES!In!according!to!the!criteria!described!in!subsection!5.2,!in!the!following!subsections!we!start! to! examine! an! initial! set! of! Public! Cloud! Infrastructures! provided! by! different!Cloud!Providers.!It!should!be!noted!there!are!Cloud!providers!that!provide!both!PaaS!and!Iaas!Cloud!infrastructures!that!will!be!analysed!separately.!

5.3.1 Amazon!EC2!(AEC2)!

Amazon! Elastic! Compute! Cloud! (Amazon! EC2)! [10]! is! a! Web! service! that! provides!resizable! computing! capacity! in! the! Cloud.! This! allows! exploiting! Web! service!interfaces!to!launch!VM!instances!with!the!chosen!operating!systems,!load!them!with!a!custom!application!context,!manage!the!network’s!access!permissions,!and!run!the!process!image!using!the!desired!subset!of!features!the!system!comes!with.!

Amazon!EC2!allows!Cloud!users!to:!

Page 37: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!37!of!54!

Create!an!Amazon!Machine!Image!(AMI)!containing!all!their!software,! including!your! operating! system! and! associated! configuration! settings,! applications,!libraries,!etc.!Think!of!this!as!zipping!up!the!contents!of!your!hard!drive.!Amazon!EC2!provides!all!the!necessary!tools!to!create!and!package!Cloud!users!AMI.!

Upload!this!AMI!to!the!Amazon!S3!(Amazon!Simple!Storage!Service)!service.!This!gives!Amazon!a!reliable!and!secure!access!to!their!AMI.!

Register! their! AMI! with! Amazon! EC2.! This! allows! Amazon! to! verify! that! AMIs!have!been!uploaded!correctly!and!to!allocate!a!unique!identifier!for!it.!

Use!this!AMI!and!the!Amazon!EC2!Web!service!APIs!to!run,!monitor,!and!terminate!as!many!instances!of!this!AMI!as!required.!Currently,!Amazon!comes!with!command!line!tools!and! Java! libraries!but!also!directly!access! its!SOAPNbased!API!or!RESTful!API.! In!order!to!do!that,!Amazon!provides!several!SDKs!(i.e.,!AWS!SDK!for!Java,!AWS!SDK!for!.NET,!AWS!SDK! for!PHP,!AWS!SDK! for!Ruby,!AWS!SDK! for!Android,!and!AWS!SDK! for!iOS).!

While! instances! are! running,! Cloud! users! are! billed! for! the! computing! and! network!resources!that!they!consume.!

Amazon!has!data!centres!in!different!areas!of!the!world!(e.g.!North!America,!Europe,!Asia,!etc.).!Correspondingly,!EC2! is!available! to!use! in!different! regions.!By! launching!instances! in! separate! regions,! Cloud! user! can! design! its! application! to! be! closer! to!specific! customers! or! to! meet! legal! or! other! requirements.! Prices! for! Amazon! EC2!usage!vary!by!region.!

The! following! table! resumes! the! analysis! of! Amazon! EC2! according! to! the! identified!criteria.!!

Amazon!EC2!

Software!support!

Tools:! RESTfulNbased! and! SOAPNbased! API! that! allows! exploiting! the! application!development!on!Cloud.!Furthermore,!it!offers!AWS!SDK!(Java,!PHP,!Ruby,!Android,!.NET!and!iOS)!tools.!

OS:!Linux:!all!major!distributions.!Windows:!Windows!Server!2003!and!2008.!

As!a!Service!Model! IaaS!

Elasticity!Model!

Dynamic!Load!balancing:!0.028$/hour/balancer!

Dynamic!Monitoring:!0.5$/month/metric!(7!metrics)!

Dynamic!Autoscaling:!free!

Migration!cost!model! No!vender!lock!system.!

Maturity!and!diffusion!level!

HIGH:! No! free! support.! The! technical! support! is! available! 24/7! for! Premium!Amazon!User.! Several!Wikis,! forums,! FAQ! sites,! as!well! as! articles,! libraries,! and!code!snippets!highlight!that!the!community!is!very!active.!

Billing! Monolithic:!0.520!$/hour!(Linux),!0.728!$/hour!(Windows)!

Loosely!coupled:!0.845!$/hour!(Linux),!1.183!$/hour!(Windows)!

Table!5:!Analysis!Amazon!EC2!vs.!criteria!

Page 38: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!38!of!54!

5.3.2 Google!Compute!Engine!(GCE)!

Google! Compute! Engine! [11]! provides! a! largeNscale! computing! infrastructure! that! is!used!internally!by!Google!to!run!Google!Search,!Gmail!and!Ads.!Cloud!users!can!launch!Virtual!Machine!onNdemand,!manage!network!connectivity!using!a!simple!but!flexible!networking! solution,! and! access! to! a! variety! of! data! storage! alternatives! from! their!Virtual!Machine.!!

Google!Compute!Engine!provides!the!following!benefits:!

Open! tooling! to! offer! simple! UI! and! commandNline! tooling! to! configure! and!launch!Virtual!Machines,!like!Open!API!and!Open!ecosystem.!!

Open! API! provides! tools! built! on! Google! open! RESTful! API! to! allow! others! to!create!customized!tools!for!specific!needs.!

Open!ecosystem!offers!familiar!tools!that!work!well!in!Google!environment,!such!as!RightScale,!PuppetLabs!and!OpsCode.!

Predictable!performance,!fast!and!reliable!persistent!block.!

The!analysis!of!Cloud!Compute!Engine!is!reported!in!the!following!table.!

Google!Compute!Engine!

Software!support!

Tools:! RESTfulNbased! API! that! allows! exploiting! the! application! development! on!Cloud.!Furthermore,! it!offers!API!Client!Libraries! for! .NET,!Dart,!Go,!Web!Toolkit,!Java,!JavaScript,!Node.js,!ObjectiveNC,!PHP,!Python!and!Ruby.!

OS:!Linux!KernelNhosted!virtual!machines!running!either!Ubuntu!or!CentOs.!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!free!

Dynamic!Monitoring:!none!

Dynamic!Autoscaling:!none!

Migration!cost!model! No!vender!lock!system.!

Maturity!and!diffusion!level!

LOW:! No! free! support.! Gold! or! Platinum! support! available! 24/7.! Several! Wikis,!forums,!FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community! is! active.! Actually,! Google! Compute! Engine! is! available! as! limited!preview.!

Billing! Monolithic:!0.580!$/hour!

LooselyNcoupled:!1.16!$/hour!

Table!6:!Analysis!Google!Compute!Engine!vs.!criteria!

!

!

!

!

!

Page 39: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!39!of!54!

5.3.3 Google!App!Engine!(GAE)!

Google! App! Engine! [12]! is! a! Cloud! Computing! Platform! based! on! the! Platform! as! a!Service!(PaaS)!paradigm.!!

With!Google!App!Engine!Cloud!users!are!enabled!to:!

Run!web!applications!on!Google’s!Infrastructure.!

Build!App!Engine!applications.!

Maintain!your!applications.!

Scale!as!their!traffic!and!data!storage!needs!grow.!

In!this!solution,!it!is!not!necessary!to!maintain!the!servers,!but!developers!need!just!to!upload! the! application! ready! to! serve! Cloud! users.! The! programming! languages!supported! to!write! the! apps! are! only! Java,! Javascript,! Ruby,! Python! and!Go.!Google!App!Engine!provides!facilities!for!Java,!like!Java!SDK!for!developing,!plugins!Eclipse!to!easily!deploy!Java!applications,!and!Python!scripts!to!deploy!easily!Python!applications.!

The!GAE!has!issues!with!some!Java!libraries,!such!as!EJB,!JAXNRPC,!JDBC,!JCA,!JMX,!JMS,!JNDI!and!RMI,!and!some!Python!libraries!depending!on!the!system!C!libraries,!such!as!fcntl,!ssl,!syslog!et!al.!

The!following!table!analyses!GAE!with!respect!to!our!criteria.!

Google!App!Engine!

Software!support!Tools:!It!supports!only!Java,!Python,!Maven!plugins!and!Go.!!

OS:! a! Cloud! user! can’t! choose! the! OS,! the! platform! running! on! the! Google.!Infrastructure.!

As!a!Service!Model! PaaS!

Elasticity!model!

Google!App!Engine!enables!Cloud!users!to!increase!or!decrease!capacity!quickly;!it!provides!an!environment!with!automatic!scaling!and!load!balancing.!!

Dynamic!Load!balancing:!free!(no!cost!details)!

Dynamic!Monitoring:!free!(no!cost!details)!

Dynamic!Autoscaling:!free!(no!cost!details)!

Migration!cost!model!

There! are! some! open! source! projects! to! make! it! easy! to! migrate! Cloud! user!projects!to!another!Cloud!provider!like!AppScale,!TyphoonAE!or!Web2py.!

Maturity!and!diffusion!level!

MEDIUM:!There! is!a!big!community!around!this!platform!and!more!open!source!project.!

Billing!The! costs! are!not! available!on!product!website.! Exceeding! the! free!quotas,! the!billing! depends! on! the! sizes! of! instances! with! hourly! rates! based! on! the! class!selected!and!more!the!storage!increase.!

Table!7:!Google!App!Engine!vs.!criteria!

!

Page 40: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!40!of!54!

5.3.4 Microsoft!Azure!Virtual!Machine!(MAVM)!

Microsoft!Azure!Virtual!Machine! [13]!provides!Cloud!computing! resources!according!to! the! IaaS!model.! It! is! based! on! the!Windows!Azure!Management! Portal! (accessed!from!any!popular!browser,! including! Internet!Explorer,!Mozilla!and!Chrome)!or!REST!Windows! Azure! Service! Management! API! (scripting! tools! for! Windows,! Linux! and!Macintosh!systems).!!

With!this!Cloud!platform!Cloud!users!can!easily:!

access!to!the!platform,!create!a!new!VM!and!choose!a!Virtual!Hard!Disk! (VHD)!for!the!VM.!For!the!VHD,!they!have!two!choices:!to!upload!their!own,!or!to!use!VHDs! provided! by! Microsoft! and! its! partners! in! the! Windows! Azure! Virtual!Machines! gallery! (i.e.! Windows! Server! 2008! R2! with! and! without! SQL! Server,!Windows! Server! 2012,! but! also! Suse,! Ubuntu,! CentOS,! provided! by! Microsoft!partners).!

choose! which!Windows! Azure! datacentre! new! Cloud! user! VM! should! run! on,!whether!in!the!US,!Europe!or!Asia.!

pay!for!each!hour! it! runs,!and!you!will! stop!paying!when!you!remove!that!VM.!The!amount!Cloud!user!pay!does!not!depend!on!how!much!its!VM!is!used,!but!it!is!based!solely!on!wallNclock!time.!!

The! following! table! reports! the! Microsoft! Azure! Virtual! Machine! infrastructure!evaluation.!

Microsoft!Azure!Virtual!Machine!

Software!support!

Tools:! RESTfulNbased! API! that! allowing! the! application! development! on! Cloud.!Furthermore,! it! offers! SDK! for! Mobile! (Windows! Phone! 8,! iOS,! Android),! .NET,!JAVA,!Node.js,!PHP,!Python,!Ruby!and!Media.!

OS:!Windows:!Windows! Server! 2008!and!Windows! Server! 2012,! Linux! (provided!by!Microsoft!partner):!Suse,!Ubuntu!and!CentOS.!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!none!

Dynamic!Monitoring:!none!

Dynamic!Autoscaling:!none!!

Migration!cost!model! No!vender!lock!system.!

Maturity!and!diffusion!level!

HIGH:! No! free! support.! Professional! direct! or! Premier! support! available! 24/7,!fastest! response! time,! respectively! <1! hour! and! <! 15! minutes.! Several! Wikis,!forums,!FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.481!$/hour!(Linux),!0.721!$/hour!(Windows)!

LooselyNcoupled:!0.785!$/hour!(Linux),!1.175!$/hour!(Windows)!

Table!8:!Microsoft!Azure!Virtual!Machine!vs.!criteria!

!

Page 41: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!41!of!54!

5.3.5 Microsoft!Azure!Cloud!Services!(MACS)!

Microsoft! Azure! Cloud! Services! [14]! suite! provides! a! Platform! as! a! Service! solution!offering! scalability,! reliability! and! cheapness! to! Cloud! user! applications.! The!administration!of!the!platform!infrastructure,!including!deploying!new!versions!of!the!operating! system,! performing! routine!maintenance,! and! attempting! to! recover! from!service! and! hardware! failures! are! assigned! to! Cloud! provider.! Cloud! users! take! care!only!to!deploy!their!applications.!This!suite!provides!two!VM!options:!

• web2roles:!a!VM!running!a!variant!of!Windows!Server!with!IIS;!

• worker2roles:!a!VM!running!a!variant!of!Windows!Server!without!IIS.!

A!Microsoft!Azure!Cloud!Services!application!relies!on!some!combination!of!these!two!options.! With! it,! the! Cloud! user! doesn’t! create! virtual! machines,! but! it! provides! a!configuration!file!that!allows!to!choose!how!many!virtual!machine!instances!it!wants!to!create! and! the! size! of! VMs! (among! five! families)! and! the! Cloud! provider! platform!create!them!for!it.!Furthermore,!Cloud!user!application!can!autoscale!as!the!workload!increases!or!decreases.!

In! the! following! table! the! analysis! of! selected! criteria! for! this! Cloud! solution! are!reported.!

Microsoft!Azure!Cloud!Services!

Software!support!

Tools:! RESTfulNbased! API! that! allows! exploiting! the! application! development! on!Cloud.! Furthermore,! it! offers! SDK! for!Mobile! (Windows! Phone! 8,! iOS,! Android),!.NET,!JAVA,!Node.js,!PHP,!Python,!Ruby!and!Media.!

OS:!Windows:!Windows!Server.!(Linux!is!not!supported).!

As!a!Service!Model! PaaS!

Elasticity!model!

Microsoft!Azure!Cloud!Services!suite!provides! for!Cloud!user!application! to!scale!out!by!increasing!the!number!of!instances!(virtual!machines)!deployed.!!

Dynamic!Load!balancing:!free!(no!cost!details)!

Dynamic!Monitoring:!free!(no!cost!details)!

Dynamic!Autoscaling:!free!(no!cost!details)!

Migration!cost!model! As!PaaS!is!difficult!to!deploy!into!other!PaaS!Provider!an!existing!development.!

Maturity!and!diffusion!level!

HIGH:! No! free! support.! Professional! direct! or! Premier! support! available! 24/7,!fastest! response! time,! respectively! <1! hour! and! <! 15! minutes.! Several! Wikis,!forums,!FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.64!$/hour!(Windows)!

LooselyNcoupled:!1.04!$/hour!(Windows)!

Table!9:!Microsoft!Azure!Cloud!Services!vs.!criteria!

!

!

!

Page 42: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!42!of!54!

5.3.6 HP!Cloud!Compute!(HPCC)!

HP!Cloud!Compute![15]!is!an!IaaS!solution!that!offers!reliable!computing!resources!to!build! Cloud! platforms.! The! amount! of! memory! and! local! disk! space,! as! well! as! the!number!of!virtual!processor!cores!allocated!to!Cloud!user!instance!measure!compute!instance! type.! HP’s! use! of! OpenStack4! technology! allows! to! easily! port! code! and!integrate! applications! with! no! vendorNlockNin! using! an! open! source! approach,! open!APIs,! and! tools! from!multiple! Cloud! providers.! HPCC! allows! a! Cloud! user! to! quickly!consume!costNeffective,! secure!and!scalable!Cloud!services,!and!he!only!pays! for! the!resources!he!uses.!

This!Cloud!provider!offers!a!management!console!to!select!the!instance!type,!the!OS,!and!other!parameters.!!

In!the!following!table!the!analysis!on!criteria!described!is!detailed.!

HP!Cloud!Compute!

Software!support!

Tools:! RESTfulNbased! API! (based! upon! OpenStack! standard! APIs)! that! allows!exploiting! the! application! development! on! Cloud.! Furthermore,! it! offers! several!Library! to! develop! in! Ruby,! Java/Clojure,! Node.js,! PHP,! Apache! libCloud,! Python!and!.NET!

OS:!Linux!(Ubuntu,!CentOS,!Fedora,!Debian)!and!Windows!Server!(Server!2008!SP2!and!Server!Enterprise!Edition!2008!R2).!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!none!

Dynamic!Monitoring:!none!

Dynamic!Autoscaling:!none!

Migration!cost!model!

No! vender! lock! system,! it! is! based! upon! an! open! source! architecture! and!standardsNbased!APIs.!

Maturity!and!diffusion!level!

MEDIUM:! The!provider! site!does!not!detail! the! costs! for! support.! Several!Wikis,!forums,!FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.28!$/hour!(Linux),!0.48!$/hour!(Windows)!

LooselyNcoupled:!0.455!$/hour!(Linux),!0.78!$/hour!(Windows)!

Table!10:!HP!Cloud!Compute!vs.!criteria!

5.3.7 Rackspace!Cloud!Servers!(RCS)!

Rackspace!Cloud!Servers![16]!suite!is!the!IaaS!solution!of!Rackspace.!Cloud!Servers!are!virtual!machines!running!Linux!or!Windows!Server!in!the!Rackspace!Cloud.!Cloud!users!can! scale! resources! like! CPU,!memory! and! storage! up! or! down,! depending! on! your!needs.!As!other!Cloud!Providers,!Cloud!user!pays!as!it!goes.!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4!OpenStack! software! is! a! Cloud!operating! system! that! controls! large!pools! of! compute,! storage,! and!networking!resources!through!a!datacenter,!all!managed!through!a!dashboard!that!gives!administrators!control! while! empowering! their! users! to! provision! resources! through! a! web! interface,! enabling!enterprises!and!service!providers!to!offer!onNdemand!computing!resources.!

Page 43: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!43!of!54!

With!Rackspace!Cloud!Servers!it!is!possible:!

Sign!up!for!a!Rackspace!Cloud!Account,! it’s! free,!Cloud!users!are!not!be!charged!until!they!create!a!server.!They!can!also!select!a!Managed!Cloud!Account!(priced!separately)!and!let!manage!Cloud!user!platform!by!Technical!experts!of!Rackspace.!

Cloud! users! create! their! platform! simply! using! the! Cloud! Control! Panel! or! API,!naming! the! server,! selecting! an! image! and! size,! and! choosing! from! a! variety! of!popular!64Nbit!Linux!Distributions!or!Windows!Server!2008!or!2012!the!OS.!

The!Cloud!server!is!online!in!just!a!few!minutes.!Using!the!Cloud!Control!Panel!or!API!the!user!can!upgrade!or!remove!each!Cloud!Server!as!the!needs!change.!

Rackspace! Provider! offers! a! “Fanatical! Support”! for! user! questions! or! problems;!Rackspace!Cloud!specialists!help!Cloud!users!anytime,!24!hours!per!7!days!per!every!day!of! year.!Also! this! Cloud! choice! is! no! vendor! lockNin,! and!offers!APIs! based!upon!OpenStack!standard!APIs.!

The!following!table!resumes!the!criteria!compliance!for!this!Cloud!provider!solution.!

Rackspace!Cloud!Servers!

Software!support!

Tools:! RESTfulNbased! API! (Based! upon! OpenStack! standard! APIs)! that! allows!exploiting!the!application!development!on!Cloud.!Furthermore,!it!offers!SDK!tools!for!Ruby,!Java,!PHP,!Python!and!.NET!

OS:! Linux! (Ubuntu,! CentOS,! Fedora,! Debian,! FreeBSD,! Arch,! OpenSUSE)! and!Windows!(Windows!Server!2008!SP2!and!Windows!Server!2012).!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!none!

Dynamic!Monitoring:!free!but!limited!to!Managed!Cloud!Account!

Dynamic!Autoscaling:!none!

Migration!cost!model!

No! vender! lock! system,! it! is! based! upon! an! open! source! architecture! and!standardsNbased!APIs.!

Maturity!and!diffusion!level!

HIGH:! The! provider! site! does! not! detail! the! costs! for! support.! Several! Wikis,!forums,!FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing!

Monolithic:!0.60!$/hour!(Linux),!0.70!$/hour!(Windows)!

LooselyNcoupled:!1.38!$/hour!(Linux),!1.58!$/hour!(Windows)!

Note:!all!costs!are!with!respect!to!Managed!Cloud!Accounts!

Table!11:!Rackspace!Cloud!Services!vs.!criteria!

5.3.8 IBM!SmartCloud!(IBM[SC)!

IBM!SmartCloud![17]!Infrastructure!as!a!Service!(IaaS)!delivers!a!range!of!securityNrich,!enterpriseNclass!Cloud!services.!It!is!based!on!open!standard!and!enhanced!by!a!large!partner!ecosystem!(no!vendor!lockNin).!

Page 44: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!44!of!54!

SmartCloud! Enterprise! allows! Cloud! users! to! create! an! IT! infrastructure! and! to!accelerate! the! development! of! new! bornNonNtheNCloud! applications,! scaling!economically!the!resources.!!

This! Provider! offers! operating! system! images! based! upon! Red! Hat! Enterprise! Linux,!Suse!Linux!Enterprise!Server!and!Microsoft!Windows!Server,!but!a!Cloud!user!has!the!option!of!importing!custom!Linux!images.!!

!IBM! SmartCloud! Enterprise! is! designed! to! address! demanding,! highly! transactional!enterpriseNlevel! applications! with! production! storage! capabilities! in! a! Cloud!environment.! The! solution! includes! a! blockNbased,! enterpriseNgrade,! high!performance,!and! fully! redundant! fibre!channel!storage!area!network,!based!on! IBM!storage!virtualization!technologies.!!

The!criteria!compliance!for!IBM!SmartCloud!is!shown!in!the!following!table.!

Table!12:!IBM!SmartCloud!vs.!criteria!

5.3.9 GoGrid!(GoG)!

GoGrid! Cloud! hosting! [18]! is! an! IaaS! solution;! it! provides! automated! provisioning! of!infrastructure! over! the! Internet.! A! Cloud! user! can! provision! and! scale! virtual! and!physical!servers,!storage,!networking,! load!balancing!and!firewalls! in!real!time!across!multiple!data!centers!using!a!webNbased!management!console!or!GoGrid’s!API.!GoGrid!infrastructure!provides!instant!access!to!highly!available!multiNserver!environments.!A!Cloud!user!can!access!and!operate!using!standard!network!protocols!and!IP!addresses.!

GoGrid’s!API!is!a!RestNlike!query!interface,!and!the!API!specification!is!available!under!a!Creative!Commons!ShareNalike!license,!allowing!any!Cloud!computing!service!provider!to!build!a!compatible!API!based!on!the!OpenSpec.!

IBM!SmartCloud!

Software!support!

Tools:! RESTfulNbased! API! that! allows! exploiting! the! application! development! on!Cloud.!But!provider!does!not!detail!other!tools.!

OS:! Linux! (Red!Hat!Enterprise,!Suse!Linux!Enterprise)!and!Windows!Server! (2003!and!2008!version).!A!Cloud!user!can!also!import!its!own!Linux!image.!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!none!

Dynamic!Monitoring:!none!

Dynamic!Autoscaling:!none!

Migration!cost!model! No!vender!lock!system.!

Maturity!and!diffusion!level!

HIGH:!The!Provider!offers!Forum,!Premium!and!Advance!Premium!Support.!Only!the!Advance!Premium!Support! offers! 24/7! supports.! Several!Wikis,! forums,! FAQ!sites,!as!well!as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.35!$/hour!(Linux),!0.45!$/hour!(Windows)!

LooselyNcoupled:!1.09!$/hour!(Linux),!1.27!$/hour!(Windows)!

Page 45: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!45!of!54!

This!Cloud!solution!provides:!

Cloud! Servers,! virtual! machines! preconfigured! that! Cloud! user! runs! instantly,!based!upon!a!variety!of!Windows!and!Linux!server!images!in!various!sizes!to!meet!a!range!of!needs;!

Load! Balancers,! Cloud! user! can! build! fault! tolerance! into! its! Cloud! platform!network!so!the!load!is!distributed!across!resource;!

Cloud!Storage,!it!is!available!onNdemand!and!is!instantly!scalable.!

On!the!provider’s!web!site!there!is!no!information!about!whether!the!virtual!machine!image!is!“vendor!lockedNin”!or!not.!!

The!following!table!shows!the!criteria!respect!for!GoGrid.!

GoGrid!

Software!support!

Tools:! RESTfulNbased! API! that! allows! exploiting! the! application! development! on!Cloud.!Furthermore,!it!offers!SDK!for!Java,!.NET,!Ruby.!

OS:!Linux!(CentOS,!Debian,!RedHat,!Ubuntu)!and!Windows!Server!(2003,!2008!and!2012!version).!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!0.03!$/hour/balancer!

Dynamic!Monitoring:!free!(only!network!traffic)!

Dynamic!Autoscaling:!none!

Migration!cost!model! No!info!available!in!the!Provider!website!

Maturity!and!diffusion!level!

MEDIUM:! The! Provider! offers! 24/7! supports.! Wikis! and! FAQ! site,! online! chat,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.64!$/hour!(Linux),!0.64!$/hour!(Windows)!

LooselyNcoupled:!1.04!$/hour!(Linux),!1.04!$/hour!(Windows)!

Table!13:!GoGrid!vs.!criteria!

5.3.10 ElasticHosts!Cloud!Servers!(EHCS)!

ElasticHosts!Cloud!Servers! [19]!suite! is!an! IaaS!solution!provided!by!ElasticHosts! that!offers!virtualized!onNdemand!servers,!designed!to!behave!just! like!physical!servers!so!that!they!are!easy!for!Cloud!users!to!work!with.!!

This!Cloud!solution!offers!the!following!benefits!to!Cloud!users:!

Fast! to!deploy:! so!quick!and!easy! they!will! have! their! servers!up!and! running! in!minutes;!

Totally!flexible!capacity:!they!can!easily!adjust!the!capacity!for!growths!or!peaks!in!demand!while!servers!running;!

Flexible!pricing:!pay!by! the!hour,!monthly!or!yearly! subscription! for!exactly!how!much!capacity!they!need!and!no!more,!no!payment!when!servers!are!off;!

Easy!to!use!control!panel;!

Page 46: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!46!of!54!

HighNIO!Solid!State!Drives!or!standard!disk!storage;!

Cloud!users!can!manage!their!servers!via!web!interface!or!flexible!API!that!allows!them!to! create! drives,! upload! and! download! drive! images,! and! create! and! control! virtual!server!on!ElasticHost!infrastructure.!

ElasticHosts!Cloud!Servers,!also,!based!upon!KVM!virtualization,!offers!standard!install!of!Debian,!Ubuntu,!CentOS!Linux!machines,!and!Windows!Server!2008!R2.!Also,!many!open!sources!install!CDs!available,!including!Red!Hat!Fedora!Linux,!Mint!and!FreeBSD.!Cloud!user!can!even!upload!and!boot!its!own!custom!disk!images.!

The!ElasticHosts!Cloud!Servers!analysis!respect!the!criteria!is!reported!in!the!following!Table.!

ElasticHosts!Cloud!Servers!

Software!support!

Tools:! RESTfulNbased! API! that! allows! exploiting! the! application! development! on!Cloud.! Furthermore,! ElasticHosts! is! part!of! a! rich!ecosystem!of!Cloud! computing!tools;! It! offers! BoxGrinder! (build! an! application! platform! image! ready! for!deployment! on! any! Cloud);! elastichostsNutils! (Ubuntu! CommandNline! tools! to!create,! deploy! and!manage! EH! VMs).! Furthermore,! it! offers! Python! crossNCloud!compatibility! library! (Apache!LibCloud)!and! Java!crossNCloud!compatibility! library!(JClouds,!an!open!source!library!that!helps!users!get!started!in!the!Cloud!and!reuse!their!Java!and!Clojure!development!skills).!!

OS:!Linux!(Debian,!Ubuntu,!CentOS),!Windows!Server!2008!R2!and!FreeBSD.!

Cloud!users!can!also!import!their!own!custom!disk!image.!

As!a!Service!Model! IaaS!

Elasticity!model!

Dynamic!Load!balancing:!none!

Dynamic!Monitoring:!none!

Dynamic!Autoscaling:!none!

Migration!cost!model! No!vender!lock!system.!

Maturity!and!diffusion!level!

HIGH:! The! Provider! offers! support! through! wikis,! forums,! FAQ! sites,! as! well! as!articles,!libraries,!and!code!snippets!highlight!that!the!community!is!active.!

Billing! Monolithic:!0.69!$/hour!(Linux),!0.73!$/hour!(Windows)!

LooselyNcoupled:!1.01!$/hour!(Linux),!1.22!$/hour!(Windows)!

Table!14:!ElasticHosts!Cloud!Servers!vs.!criteria!

5.4 CLOUD!INFRASTRUCTURES!COMPARISON!FOR!MIDAS!TPAAS!This!section!presents!an!evaluation!the!Cloud!platforms!discussed!previously.!Firstly,!a!comparison! table! reporting! a! crosscheck! of! the! salient! qualitative! features! for! each!Cloud!platform!is!extracted!from!the!previous!analysis!to! identify!those!features!that!are!suitable!for!MIDAS!development!and!execution!according!to!the!software!criteria.!Secondly,!the!elasticity!features!and!associated!costs!are!reported.!As!elasticity!is!the!most!innovative!feature!in!MIDAS,!as!it!allows!to!support!multiNtenancy!and!multiNuser!dynamic!testing!patters,!it!is!important!to!identify!the!Cloud!platform!providing!outNofNtheNbox! the! building! blocks! for! elastic! application! support,! namely! dynamic! load!

Page 47: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!47!of!54!

balancing,! dynamic! monitoring! and! dynamic! autoscaling.! Eventually,! an! economic!comparison!of! the!Cloud!platform! is!presented,! illustrating! the!costs!associated!with!our!preliminary!implementation!scenario,!monolithic!and!looselyNcoupled.!

!

5.4.1 Criteria!comparison!and!evaluation!The!comparison!table!of!the!qualitative!features!of!each!Cloud!platform!is!reported!in!the!following!table:!

Cloud2Platform2

AsCaCService2Model2

Supported2OS2 Vendor2LockCin2

Maturity2Level2

Java2Support2

C++2Support2

AEC2! IAAS! Linux/Windows! No! High! Yes! Yes!

GCE! IAAS! Linux! No! Low! Yes! Yes!

GAE! PAAS! N.A.! Yes! Medium! Yes! No!

MAVM! IAAS! Linux/Windows! No! High! Yes! Yes!

MACS! PAAS! Windows! Yes! High! Yes! No!

HPCC! IAAS! Linux/Window! No! Medium! Yes! Yes!

RCS! IAAS! Linux/Windows! No! High! Yes! Yes!

IBMNSC! IAAS! Linux*/Windows! No! High! Yes! Yes!

GoG! IAAS! Linux/Windows! Yes! Medium! Yes! Yes!

EHCS! IAAS! Linux*/Windows! No! High! Yes! Yes!

Table!15:!Qualitative!features!of!Cloud!platforms!

From!the!table,! it!emerges!that!PaaSNbased!Cloud!Infrastructures!are!not!suitable!for!MIDAS.! In! fact,! the! software! support! requirements! collected! for! the! MIDAS!components,!as!reported!in!Table!3,!are!very!diversified!and!it! is!not!possible!to!find!one!complete!PaaSNbased!solution!satisfying!all!of!them!at!once.!More!specifically,!the!PaaS! platforms! do! not! support! C++! components! and! the! Linux! OS,! with! associated!libraries.!Furthermore,!choosing!a!PaaSNbased!solution!makes!it!difficult!to!migrate!the!MIDAS!Platform!to!a!different!Cloud! infrastructure.!This! is!a!very!crucial! limitation! in!the!Cloud!Infrastructures!market!that,!as!already!mentioned,! is!evolving!very!quickly.!Finally,! the! PaaS! generally! provides! less! “degrees! of! freedom”! when! building! the!MIDAS!TPaaS!compared!to!IAAS!solutions.!

So,! an! IaaSNbased! solution! better! fits! the! development! needs! of! MIDAS! Cloud!infrastructure.!For!this!reason!only!IaaSNbased!Cloud!infrastructures!are!considered!for!MIDAS.!Among!these,!the!platforms!selected!are!those!with!the!medium/high!maturity!and! diffusion! levels:! Amazon! EC2,! Microsoft! Azure! Virtual! Machine,! HP! Cloud!Compute,!Rackspace!Cloud!Servers!and!ElasticHosts!Cloud!Servers.!

5.4.2 Elasticity!comparison!and!evaluation!The! comparison! table! for! the! elasticity! features! of! each! Cloud! platform,! with!associated!costs!when!available,!is!reported!in!the!following!table,!where!“free”!means!that! the! feature! is! provided! at! no! costs,! while! “auto”! means! that! the! feature! is!automatically!provided!and!managed!but!the!cost!details!are!not!available.!

Page 48: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!48!of!54!

Cloud2Platform2 Dynamic2Load2Balancing2 Dynamic2Monitoring2 Dynamic2Autoscaling2

AEC2! 0.028!$/hour/balancer! 0.5!$/month/metric! Free!(fully!customisable)!

GCE! Free! N.A.! N.A.!

GAE! Auto! Auto! Auto!

MAVM! N.A.! N.A.! N.A.!

MACS! Auto! Auto! Auto!

HPCC! N.A.! N.A.! N.A.!

RCS! N.A.! Free! N.A.!

IBMNSC! N.A.! N.A.! N.A.!

GoG! 0.030!$/hour/balancer! Free!(traffic!only)! N.A.!

EHCS! N.A.! N.A.! N.A.!

Table!16:!Qualitative!features!of!Cloud!platforms!

From! the! table! it! emerges! that,! with! the! exception! of! PaaS! solutions,! where! the!elasticity!is!managed!automatically!by!the!underlying!runtime!environments,!very!few!IaaS! solutions! provide! mechanisms! to! manage! elasticity! natively.! While! all! Cloud!infrastructures!provide!“onCdemand2scalability”,!i.e.,!the!possibility!to!manually!create!and!dismiss!new!virtual!machines!on!demand,!very!few!infrastructures!provide!native!mechanisms!to!dynamically!and!automatically!manage!load!balancing,!monitoring!and!autoscaling.! In! particular,! only! Amazon! EC2,! Google! Compute! Engine! and! GoGrid!support! dynamic! load! balancing,! only! Amazon! EC2,! Rackspace! Cloud! Servers! and!GoGrid! support! dynamic! monitoring,! while! only! Amazon! EC2! supports! dynamic!autoscaling.!Moreover,!the!Amazon!EC2!autoscaling!feature!is!fully!customisable,!that!is,! it! is! possible! to! specify! the! rules! and! events! upon! which! the! Cloud! creates! and!dismisses!new!virtual!machines.!

5.4.3 Costs!comparison!and!evaluation!The! hourly! costs! of! each! Cloud! platform,! for! both! normalized! implementation!scenarios!(monolithic!and!looselyNcoupled)!and!operating!systems,!are!reported!in!the!following!table.!

!

!

!

!

!

!

!

!

!

Page 49: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!49!of!54!

Cloud2platform2Monolithic2 LooselyCCoupled2

Linux2 Windows2 Linux2 Windows2

AEC2! 0.52! 0.73! 0.85! 1.18!

GCE! 0.58! N! 1.16! N!

GAE! N! N! N! N!

MAVM! 0.48! 0.72! 0.79! 1.18!

MACS! N! 0.64! N! 1.04!

HPCC! 0.28! 0.48! 0.46! 0.78!

RCS! 0.60! 0.70! 1.38! 1.58!

IBMNSC! 0.35! 0.45! 1.09! 1.27!

GoG! 0.64! 0.64! 1.04! 1.04!

EHCS! 0.69! 0.73! 1.01! 1.22!

Table!17:!Hourly!costs!of!Cloud!platforms!(in!$/hour)!

From!the!table! it!emerges!that!the!most!costNeffective!platform!for!both!scenarios! is!HP! Cloud! Compute.! However,! the! Amazon! EC2! is! comparable!with! these! platforms.!Moreover,!Amazon!EC2!provides!(at!a!cost)!elasticity!features!that!the!other!platforms!do!not!provide!at!all.!

Page 50: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!50!of!54!

6 CONCLUSIONS!This!document!analyzed!the!MIDAS!TPaaS!required!functionalities!with!respect!to!their!deployment!on!the!Cloud!and!surveyed!the!most!important!public!Cloud!providers!in!order! to! ease! the! decisions! concerning! the! architectural! design! and! the!implementation!strategies!to!adopt!for!the!MIDAS!TPaaS!deployment!on!Cloud.!

Public!Clouds!offer,!in!principle,!unlimited!availability!of!Cloud!resources!because!they!are!not!subject! to! restrictions!concerning! their! location!and!size,! so!elasticity,! that! is!the!main!requirements!for!the!MIDAS!platform,!is!better!supported!by!the!possibility!to!move!consumer!workloads!everywhere!on!the!available!resources.!

After!an!overview!of!the!main!concepts!underlying!the!Cloud,!this!document!reported!the! preliminary! design! of! the! MIDAS! reference! architecture! from! the! users!perspective,! in! order! to! identify! its! main! functionalities! together! with! their!requirements.! We! discussed! the! benefits! and! drawbacks! of! two! potential!implementation! scenarios,! respectively! according! to! the!PaaS!and! IaaS!models,! from!the!point!of!view!of!the!MIDAS!users!and!the!MIDAS!developers.!We!concluded!that!the!IaaS!deployment!model!is!most!suited!for!MIDAS!deployment,!because!it!provides!a!greater!freedom!in!developing!the!MIDAS!components!and!grants!better!and!more!flexible!control!of!Cloud!resources.!

Then,!we!presented!a!detailed!analysis!of!a!set!of!public!Cloud!providers!available!on!the!market!(both!IaaS!and!PaaS),!focusing!on!the!provisioning!of!the!relevant!features!to! support! the! development! of! the! MIDAS! TPaaS,! and! its! deployment! on! a! Cloud!platform.! The! analysis! was! carried! out! according! to! three! criteria:! development!support,!elasticity!support!and!cost!estimation.!The!results!reported!in!the!document!allows!us!to!draw!the!conclusion!that!the!IaaS!service!model! is!preferable!for!MIDAS!deployment,!and!in!particular,!the!Amazon!EC2!platform!is!the!best!candidate!solution!offering! the! best! compromise! among! cost,! development! features! and! elasticity!mechanisms.!

Page 51: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!51!of!54!

REFERENCES"![1] B.!Furht,!A.!Escalante,!“Handbook!of!Cloud!Computing”,!Springer,!2010,!pp!3N4.!

[2] J.!Voas,!J.!Zhang,!“Cloud!Computing:!New!Wine!or!Just!a!New!Bottle?”,!IT!Professional!Journal,!Volume!11!Issue!2,!March!2009,!pp!15N17.!

[3] !L.!Badger,!T.!Grance,!R.!PattNCorner,!J.!Voas,!“Cloud!Computing!Synopsis!and!Recommendations”,!http://csrc.nist.gov/publications/nistpubs/800N146/sp800N146.pdf!

[4] Schubert,!L.,!Jeffery,!K.!&!NeideckerNLutz,!B.!(eds).!(2010).!The!Future!of!Cloud!Computing!–!Opportunities!for!European!Cloud!Computing!Beyond!2010.!Cordis,!Available!online:!http://cordis.europa.eu/fp7/ict/ssai/docs/CloudNreportNfinal.pdf!

[5] Barr,!J.!“Amazon!EC2!Beta”,!available!(Online)!at!http://aws.typepad.com/aws/2006/08/amazon_ec2_beta.html!

[6] “Unleashing!the!Potential!of!Cloud!Computing!in!Europe”,!COM(2012)!529!available!at!http://aws.typepad.com/aws/2006/08/amazon_ec2_beta.html!

[7] F.!Liu,!J.!Tong,!J.!Mao,!R.!Bohn,!J.!Messina,!L.!Badger!and!D.!Leaf,!“NIST!Cloud!Computing!Reference!Architecture”,!available!(online)!at!http://www.nist.gov/manuscriptNpublicationNsearch.cfm?pub_id=909505!

[8] VMware!white!paper,!Virtualization2Overview!

[9] Ivanov!I.,!“Utility!Computing:!Reality!and!Beyond”,!in!ENbusiness!and!Telecommunications,!vol.!23,!(2009),!Springer!Berlin!Heidelberg,!doi:!http://dx.doi.org/10.1007/978N3N540N88653N2_2!!

[10] Amazon!Elastic!Computing!Cloud,!http://aws.amazon.com/ec2/!

[11] Google!Compute!Engine,!https://developers.google.com/compute/docs/overview!

[12] Google!App!Engine,!https://developers.google.com/appengine/docs!

[13] Microsoft!Azure,!http://www.windowsazure.com/enNus/develop/net/fundamentals/compute/!

[14] Microsoct!Azure!http://www.windowsazure.com/enNus/develop/net/fundamentals/compute/#CloudServices!

[15] HP!Cloud!Compute,!https://www.hpCloud.com/products/CloudNcompute!

[16] Rackspace!Public!Cloud,!http://www.rackspace.com/Cloud!!

[17] IBM!Cloud!Computing:!Infrastructure!as!a!Service,!http://www.ibm.com/CloudNcomputing/us/en/iaas.html?lnk=iaasNbody!

[18] GoGrid!Cloud!http://www.gogrid.com!

[19] Elastichosts,!http://www.elastichosts.com/CloudNhosting/CloudNservers/!

[20] TTworkbench!User!Guide,!http://www.testingtech.com/download/users_guides/TTworkbench_UserGuide.pdf!

[21] ETHZ,!“An!introduction!to!Service!Oriented!Architectures”!http://www.euNorchestra.org/TUs/SOA/en/text/SOA.pdf!

[22] Papazoglou!M.,!Traverso!P.,!Dustdar!S.,!Leymann!F.,!“ServiceNOriented!Computing:!State!of!the!Art!and!Research!Challenges”,!Computer!Journal,!Vol.!40,!N.!11,!2007.!

! !

Page 52: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!52!of!54!

A TTWOKBENCH!ON!CLOUD:!A!PRELIMINARY!EXPERIENCE!In!order!to!start!analysing!the!service!and!communication!mechanisms!of!the!MIDAS!TPaaS,! in! this! section!we!describe!an! initial!experience! related! to! the!deployment!of!the! test! execution! engine! of! TTworkbench! (TTman)! into! a! Virtual! Machine! (VM)!configured!as!a!basic!Cloud!infrastructure.!

At! this!stage!of! the!project,! the!TTworkbench!software!suite! is! the!reference!TTCNN3!test!execution!engine!for!the!MIDAS!TPaaS!prototype,!as!specified!in!the!MIDAS!DOW.!

A.1 TTWORKBENCH!TTworkbench5! is! a! commercial! software! tool,! provided! by! TestingTechnologies™,!compliant! with! the! TTCNN3! ETSI! Standard! that! allows! a! fullNfeatured! integrated! test!development!and!execution!environment!(IDE)!for!any!kind!of!test!automation!project.!This!technologyNindependent!tool!can!be!deployed!for!testing!products!and!services!in!a! wide! range! of! different! industry! sectors.! It! supports! a! broad! spectrum! of! test!development,!ranging!from!the!specification!to!the!compilation!and!the!execution!of!tests.!

TTman!is!the!test!execution!engine!provided!by!TTworkbench.!Its!main!features!are:!

- Definition,!execution,!saving!and!resuming!of!test!campaigns!projectNwise;!

- Textual! and! graphical! logging! with! different! levels:! for! each! test! campaign!executed!with!TTman,!a!test! log! is!created,!containing!all! the!events!generated!by!the!execution!process;!

- Test! data! view!with! analysis! support:! it! displays! information!on! transmitted!or!received!data!during!test!execution;!!

- Selection!and!configuration!of! test!adapter!and! runtime!plugins! (ports,! codecs,!external!functions);!

- Tools! for!monitoring!statistic!results! for!each!test!case!(pass,! fail,!error,! inconc,!none)!in!a!test!campaigns;!

- Generation!of!test!reports;!!

- Scripting!for!batch!mode!tests;!

TTman! can! be! executed! via! commandNline! mode! using! scripts.! This! feature! is!important! for! building! a! basic! Cloud! infrastructure!prototype! running! simple! TTCNN3!compiled!test!cases!or!better,!TTCNN3!test!campaigns.!

A.2 DEPLOY!TTWORKBENCH!ON!CLOUD!In!assembling!a!Cloud!IaaS!suitable!to!run!a!TTCNN3!test!case!using!the!TTworkbench!execution!environment,!the!operating!mechanisms!of!TTworkbench!was!analysed,!and!then!it!was!installed!and!run!on!the!configured!Cloud.!The!Cloud!provider!selected!for!this!activity!was!Amazon!Elastic!Cloud!Compute.!At!the!moment,!the!tested!scenario!is!a! user! who! runs! a! TTCNN3! test! case! and! waits! for! TTCNN3! results.! For! the! sake! of!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!5!!http://www.testingtech.com/download/users_guides/TTworkbench_UserGuide.pdf!!

Page 53: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!53!of!54!

simplicity,! the!user! launches! a! TTCNN3! test! execution!by! commandNline,!without! any!graphical!user!interface!(GUI).!

A.2.1 Pre[requirements!for!TTworkbench!TTworkbench!is!based!on!the!Eclipse!Platform!(version!>!3.7.1)!and!runs!on!a!machine!with!Windows!(7,!Vista,!XP,!2000)!or!Linux!(not!all!versions)!and!at!least!2!GB!RAM!(4!GB!recommended).!It!is!distributed!as!a!downloadable!installer!from!the!website!and!it!only! requires! Java! Platform! Standard! Edition! (JDK! or! JRE,! version! >! 1.6).! After!installation! and! before! effectively! using! TTworkbench! you! need! a! valid! license!installed.!TTworkbench!uses!the!FlexNet!Publisher!license!server!version!10.1!or!higher!of!Flexera.!The! license! is!nodeNlocked!by!hostname!and!MAC!(Media!Access!Control)!address.!!

1.2.1.1 FlexNet2Publisher2license2server2

TTworkbench! exploits! a! nodeNlocked! license! that! defines! how! to! use! the! features!provided!by! this! software.!To!handle! these! features,!TTworkbench! is!developed!as!a!FlexEnabled!application,!that!is,!an!application!connected!to!the!license!server!(FlexNet!Publisher!license!server)!across!a!TCP/IP!network.!

The!basic!components!of!a!FlexNet!Publisher!license!server!are:!!

License2server2manager2(lmgrd):!provided!by!the!software!publisher!or!available!from!Flexera!Software.!

License2file2(license.dat):!created!by!the!software!publisher.!

Vendor2 daemon2 (TTtech):! created! by! the! software! publisher;! it! manages! the!communication!requests!between!application!and!license!server.!

Debug2log:!written!by!the!license!server!manager.!!

A.2.2 Install!and!Run!TTworkbench!on!Cloud!

In!selecting!a!VM!infrastructure!able!to!host!TTworkbench,!virtual!hardware!resources!were!configured!as!follows:!

CPU:!2!cores!

RAM:!2!GB!

Storage:!10!GB!

With!this!hardware!configuration,!a!Linux!Operating!System!was!chosen,!in!particular!Ubuntu!12.04!server!with!the!Java!1.7!SDK!version.!!

To!run!TTman!on!Cloud,!the!FlexNet!license!manager!was!installed!into!another!Linux!machine!server!with!hostname!and!MAC!address!provided!for!the! license!credentials!of! TTworkbench,! as! shown! in! Figure! 7.! This! is! the! only! possible! solution,! being! the!vendor!daemon!and!the!license!file!linked!by!MAC!address!and!hostname.!

!

Page 54: MIDAS D6.1 FINAL - web.itainnova.esweb.itainnova.es/midas/files/2013/10/MIDAS_D6.1-WP6.pdf · Deliverable!D6.1!! MIDAS!•!Project!Number!318786!•!D6.1!•!Page!2!of!54! Revision!Chart!

! Deliverable!D6.1!

!

MIDAS!•!Project!Number!318786!•!D6.1!•!Page!54!of!54!

!

Figure!7:!Simple!Test!execution!on!Cloud!infrastructure.!

After! configuring! the!Cloud! IaaS,! the!TTworkbench! software!was! installed.! Then,! the!license!manager! server!was! started!on! another!machine,! so! TTman!was! successfully!run!by!commandNline!into!the!VM.!!

This!preliminary!experience!with!TTworkbench!deployed!on!a! single!Virtual!Machine!has!shown!that,!while!it!does!not!present!particular!issues!in!executing!“as!provided”!in!a!Cloud!environment,!TTworkbench!has!the!main!issue!of!the!licensing!mechanism!that!can!not!be!directly!deployed!on!Cloud,!unless!the!license!server!could!be!installed!in!a!Virtual!Machine!with!static!IP!and!MAC!addresses.!Given!that,!at!least!for!the!MAC!address,! this! is! not! possible! in! any! Cloud! platform,! we! can! conclude! that,! for! the!MIDAS!platform,! the! TTworkbench!execution!engine!may! run!unmodified! in! a!Cloud!infrastructure,!but!the!license!server!it!depends!on!cannot,!and!must!be!deployed!in!a!remote!networked!location!outside!the!Cloud.!

!