Imola informatica - cloud computing and software development

864 views
802 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
864
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Imola informatica - cloud computing and software development

  1. 1.   Emanuele Barrano – ebarrano@imolinfo.it   Filippo Bosi – filippo.bosi@deri.org fbosi@imolinfo.itCloud&Compu>ng&Workshop&7&DERI&Galway&September,&15°&2011&CLOUD&COMPUTING&AND&SOFTWARE&ARCHITECTURES:&IMPACTS&OF&CLOUD&ON&SOFTWARE&DEVELOPMENT&PROCESS&–&A&HANDS7ON&SESSION&
  2. 2. 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
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  17. 17. Live&Demo&–&PaaS&in&ac>on&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& 17
  18. 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. 19. QUESTIONS?! Cloud&Compu>ng&Workshop&–&DERI&Galway&–&September&15°&2011& 19
  20. 20.   More!than!20&years&of&experience!on!Enterprise!IT!  Consul0ng!and!Skill!Transfer!on!Architecture,!Integra>on!and!Process&&  OMG!Influence!Member,!JSR312Expert!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

×