Imola informatica - cloud computing and software development

20
CLOUD COMPUTING AND SOFTWARE ARCHITECTURES: IMPACTS OF CLOUD ON SOFTWARE DEVELOPMENT PROCESS – A HANDS7ON SESSION Emanuele Barrano – [email protected] Filippo Bosi – [email protected] [email protected] Cloud Compu>ng Workshop 7 DERI Galway September, 15 ° 2011

description

 

Transcript of Imola informatica - cloud computing and software development

Page 1: Imola informatica - cloud computing and software development

CLOUD&COMPUTING&AND&SOFTWARE&ARCHITECTURES:&IMPACTS&OF&CLOUD&ON&SOFTWARE&DEVELOPMENT&PROCESS&–&A&HANDS7ON&SESSION&

  Emanuele Barrano – [email protected]   Filippo Bosi – [email protected] [email protected]

Cloud&Compu>ng&Workshop&7&DERI&Galway&September,&15°&2011&

Page 2: Imola informatica - cloud computing and software development

Agenda!

›  Cloud!Overview!›  Cloud!Compu0ng!Approach!›  Impact!of!Cloud!Pla;orms!(PaaS)!on!Web!applica0ons!development!

›  Demo!–!HandsEon!Session!›  Conclusions!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 2

Page 3: Imola informatica - cloud computing and software development

Cloud&Compu>ng:&Concepts&and&Keywords&

›  on!demand!IT!resources!availability!

›  on!demand!resource!reliability!›  set!of!virtualized!IT!components!

›  Quick!runE0me!resources!assignement!›  Systems!architecture!aimed!to!high!

scalability!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 3

Concepts ! ! ! ! !!!!!!!!!Keywords!

›  On!demand!

›  Reliability!›  Virtualiza0on!›  Provisioning!›  Scalability!

F!

Page 4: Imola informatica - cloud computing and software development

What&is&Cloud&Compu>ng?&

›  From!a!soOware!development!point!of!view,!Cloud!Compu0ng!is!an!IT!development!and!runE0me!infrastructure!that!offers:!›  A!User!Interface!that!hides!lowElevel!infrastructure!management!

complexi0es.!

›  Reduc0on!of!administra0on!costs!and!skills!

›  A!set!of!services!aimed!at!administering!the!infrastructure!itself!

›  High!scalability,!preEconfigured,!out!of!the!box!

4 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 5: Imola informatica - cloud computing and software development

Cloud&Compu>ng&Con>nuum&

›  Cloud!services!can!be!seen!as!a!con0nuum!of!services!from!infrastructure!to!pla;orm!

5

›  Infrastructure:!provisioning!of!hardware!on!which!one!generally!has!control!over!the!OS!

›  Pla;orm:!higher!level!environment!for!which!developers!write!custom!applica0ons!

›  SoOware:!specialEpurpose!soOware!made!available!through!internet!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 6: Imola informatica - cloud computing and software development

IaaS&–&Amazon&EC2&(I)&

›  Technical!specifica0ons!›  AMI!(Amazon!Machine!Image)!

›  Immagini!di!macchine!virtuali!preconfigurate!e!readyEtoEgo!›  Amazon!S3!(Simple!Storage!Service)!

›  InfrastruYura!di!storage!proprietaria!di!Amazon!che!funge!da!repository!per!lo!storage!delle!AMIs!

›  Amazon!EC2!(Elas0c!Cloud!Compu0ng)!›  Applicazione!Web!che!permeYe!l’amministrazione!delle!macchine!virtuali!offerte!all’utente!finale!

›  Pay!per!use!scheme,!based!on!›  SLA!›  Data!traffic!›  CPU!consump0on!›  Storage!space!used!

6 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 7: Imola informatica - cloud computing and software development

IaaS&–&Amazon&EC2&(II)&

7

›  Steps!to!use!it!›  Create!an!Amazon!EC2!

Account!›  Internet!Connec0on!

and!Web!browser!›  Startup!the!AMI!›  Administer!through!

Amazon!User!Interface!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 8: Imola informatica - cloud computing and software development

IaaS&–&Amazon&EC2&(III)&

›  Management!capabili0es!›  Ability!of!selfEconfiguring!hardware!infrastructure!in!terms!of:!

›  CPU!›  RAM!›  Storage!›  Network!firewall!configura0on!

›  SSH!remote!shell!›  Templa0ng!of!Amazon!AMI!images!to!be!reused!in!a!community!›  Set!of!already!configured!AMIs!available!in!the!environment!›  Resource!monitoring!in!realE0me!

8 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 9: Imola informatica - cloud computing and software development

PaaS&–&Google&App&Engine&(I)&

›  hYp://code.google.com/appengine!›  Google!App!Engine!enables!to!build!and!host!web!apps!on!the!

same!systems!that!power!Google!applica0ons!›  Fast!development!›  Fast!deployment!›  Simple!Administra0on!›  No!need!to!worry!about!hardware,!patches!or!backups!

›  Python,!Java,!Go!(hYp://golang.org)!›  NoSQL!Data!Store!(BigTable)!›  Automa0c!resource!scaling!›  Oriented!to!specialized!algorithm!execu0on!like!MapReduce!

9 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 10: Imola informatica - cloud computing and software development

PaaS&–&CloudBees&

›  CloudBees!pla;orm!offers!build!test!and!deploy!on!a!Java!environment!

›  Offers!›  A!development!pla;orm!

›  Maven!repository!

›  Versioning!system:!SVN!Git!

›  Con0nuous!integra0on!system!readyEtoEgo!

›  A!deployment!pla;orm!›  Deploy!J2EE!and!Spring!applica0ons,!offering!

›  load!balancing,!scalability!and!high!availability!

10 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 11: Imola informatica - cloud computing and software development

PaaS&–&RedHat&OpenShiY&

›  OpenShiO!pla;orm!is!a!PaaS!that!offers!mul0Eframework!and!mul0Elanguage!wriYen!applica0ons,!based!mainly!on!RedHat!pla;orm!offerings!

›  Express!›  !Ruby,!PHP,!Python!(stack!for!fast!web!development)!

›  Flex!›  Java!Enterprise!Edi0on!and!PHP!›  JBoss!and!Tomcat!›  Versioning,!monitoring!and!autoEscaling!of!applica0ons!

›  Power!›  CElike!applica0ons!›  Ability!to!configure!opera0ng!systems!›  For!batch!applica0ons!without!frontEend!

11 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 12: Imola informatica - cloud computing and software development

Impacts&of&Cloud&Compu>ng&on&Web&Applica>on&development&

›  Different!impacts!based!on!level!of!cloud!services!›  Development!on!IaaS!

›  +!The!programmer!has!a!“readyEtoEgo”!virtualized!infrastructure!available.!›  +!PreEconfigured!images/configura0ons!of!virtual!hardware!›  +!Ability!to!get!advanced!configura0ons!through!UI!›  E!Need!to!manage!infrastructural!components!(e.g.!Updates!of!OS,!

Security!patches,!etc.)!and!middleware!(e.g.!Apache,!Applica0on!Servers,!etc.)!

›  Development!on!PaaS!›  +!The!programmer!can!leverage!a!pla;orm!that!hides!every!detail!of!the!

virtual!infrastructure!›  E!Limita0ons!imposed!by!defini0on!of!pla;orm!

›  Development!on!SaaS!›  ReadyEtoEgo!applica0on:!no!need!to!develop!(e.g.!no!interest!for!

developers!)!

12 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 13: Imola informatica - cloud computing and software development

Development&on&IaaS&(I)&

13

›  Can!be!defined!as!an!“Advanced!virtualiza0on”!›  Control!on!the!soOware!and!(virtual)!hardware!infrastructure!›  Full!ability!of!selfEconfiguring!the!soOware!stack!on!the!cloud!

infrastructure!›  +!Availability!of!readyEmade!templates,!ability!of!tuning!and!

customizing!the!templates!(e.g.!standard!LAMP!stack,!standard!J2EE!Web!Stack)!

›  E!S0ll!need!to!maintain!over!0me!the!configura0on!of!the!infrastructure!(e.g.!Security!Patches,!update!of!OS,!update!of!Middleware)!

›  Basically,!only!hw!maintenance!is!up!to!IaaS!cloud!providers.!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 14: Imola informatica - cloud computing and software development

Development&on&IaaS&(II)&

›  E!Hardware!independence!comes!at!a!cost:!›  Raw!Performance!of!virtual!machines!(20%!overhead,!roughly)!

›  +!However,!it!permits!to!achieve!a!flexible!scalability.!Easily!upgrade!compu0ng!power,!based!on!deployed!applica0ons!needs.!

›  E!The!programmer!has!to!have!at!least!basic!systems!management!abili0es!

14 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 15: Imola informatica - cloud computing and software development

Development&on&PaaS&(I)&

›  Cloud!compu0ng!intended!as!a!service!that!offers!›  Complete!dedicate!pla;orms!

› J2EE!› MicrosoO!.Net!› LAMP!Stack!

›  (Virtual)!infrastructure!is!completely!hidden!from!developer!›  Except!the!ability!of!monitoring!of!performance!and…!billing!!(resource!consump0on)!

15 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 16: Imola informatica - cloud computing and software development

Development&on&PaaS&(II)&

›  The!programmer!should!not!care!anymore!›  About!the!infrastructure!under!the!development!and!runE0me!

environment!›  About!configuring!

›  Hardware!›  SoOware!(the!soOware!stack!is!selfEupdated!by!the!pla;orm)!

›  The!programmer!is!free!to!concentrate!on!pure!development!ac0vi0es!on!the!pla;orm!offered!by!PaaS!

›  “Basic”!SoOware!Systems!concept!disappear:!›  Opera0ng!System!›  File!System!›  Applica0on!Server!

16 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 17: Imola informatica - cloud computing and software development

Live&Demo&–&PaaS&in&ac>on&

17

DEMO!› !Crea0ng!and!opera0ng!a!IaaS!infrastructure!on!Amazon!› !Deploying!and!running!!a!web!applica0on!on!!OpenShiO!PaaS!

› !…feel!free!to!experiment!together!!!

› !“Cloud”!download!from…!› !hYp://dl.dropbox.com/u/1650609/HelloCloud.zip!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 18: Imola informatica - cloud computing and software development

Conclusions&

›  Evolu0on!of!Cloud!Service!offering!›  IaaS!

›  From!a!standard!environment!of!development!and!deploy,!the!programmer!benefits!of!advanced!virtualiza0on/templa0ng/management!

›  PaaS!›  The!programmer!benefits!from!a!completely!virtualized!pla;orm!

›  IaaS!is!for!the!systems!manager!what!PaaS!is!for!a!programmer/architect!

›  PaaS!is!true!revolu0on!for!developers!(IaaS!is!just!an!evolu0onary!step!wrt!Virtualiza0on)!›  A!programmer!will!never!have!to!care!about!infrastructural!details!

running!the!pla;orm!(and!the!applica0on)!›  A!programmer!will!care!only!about!one!thing:!Applica>on&

development.&

18 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 19: Imola informatica - cloud computing and software development

19

QUESTIONS?!

Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&

Page 20: Imola informatica - cloud computing and software development

  More!than!20&years&of&experience!on!Enterprise!IT!

  Consul0ng!and!Skill!Transfer!on!Architecture,!Integra>on!and!Process&&

  OMG!Influence!Member,!JSR'312'Expert!Group,!CSI,!WWISA,!OpenESB!Key!Partner,!NetBeans!Strategic!Partner!

  hYp://www.imolinfo.it/index_en.php!

  Seman>c&Web&company,&now!&

  Applied!research,!training,!projects!

  hYp://www.sensiblelogic.it!

  The!online!italian!community!dedicated!to!Java&  10&years&of&ar0cles,!publica0ons,!books,!events,!training!  From!programmers!to!architect!  More!than!1.000.000&read!pages!per!month!  hYp://www.mokabyte.it!

20 Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&