imola informatica - cloud computing and software development
DESCRIPTION
TRANSCRIPT
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&
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
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!
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
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&
19
QUESTIONS?!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011&
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&