Mais conteúdo relacionado
Semelhante a Imola informatica - cloud computing and software development (20)
Imola informatica - cloud computing and software development
- 1. Emanuele Barrano – ebarrano@imolinfo.it
Filippo Bosi – filippo.bosi@deri.org fbosi@imolinfo.it
Cloud&Compu>ng&Workshop&7&DERI&Galway&September,&15°&2011&
CLOUD&COMPUTING&AND&SOFTWARE&ARCHITECTURES:&
IMPACTS&OF&CLOUD&ON&SOFTWARE&DEVELOPMENT&
PROCESS&–&A&HANDS7ON&SESSION&
- 3. Cloud&Compu>ng:&Concepts&and&Keywords&
Concepts ! ! ! ! !!!!!!!!!Keywords!
› on!demand!IT!resources!availability! › On!demand!
› on!demand!resource!reliability! › Reliability!
› set!of!virtualized!IT!components! › Virtualiza0on!
› Quick!runE0me!resources!assignement!
F! › Provisioning!
› Systems!architecture!aimed!to!high! › Scalability!
scalability!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 3
- 4. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 4
- 5. Cloud&Compu>ng&Con>nuum&
› Cloud!services!can!be!seen!as!a!con0nuum!of!services!from!
infrastructure!to!pla;orm!
› 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& 5
- 6. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 6
- 7. IaaS&–&Amazon&EC2&(II)&
› 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& 7
- 8. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 8
- 9. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 9
- 10. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 10
- 11. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 11
- 12. 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!)!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 12
- 13. Development&on&IaaS&(I)&
› 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& 13
- 14. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 14
- 15. 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)!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 15
- 16. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 16
- 18. 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.&
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 18
- 19. QUESTIONS?!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 19
- 20. 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!
Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 20