Innanzitutto, grazie per essere venuti
Mi presento
    Mi chiamo Sanne Grinovero, lavoro presso
    Sourcesense e mi occupo di:
●   Hibernate
●   Scalabilità & a...
Agenda
●   Cloud
       –   Cosa intendo per cloud
       –   Vantaggi: perchè usarle
●   Affrontare il cambiamento
      ...
Cloud?
SaaS
●   Software as a Service
●   Si tratta di quello su cui ci vorremmo
    concentrare in quanto sviluppatori di serviz...
PaaS
●   Platform as a Service
●   Si tratta della piattaforma dove inserire il
    nostro servizio
●   Spesso integrato c...
IaaS
●   Infrastructure as a Service
●   Infrastrutture:
        –   Gli scatoloni, i chip, dischi, cavi...
        –   Le...
Infrastrutture
●   Un datacenter interno
●   Amazon Web Services (EC2, S3)
●   Rackspace Mosso
●   Contegix Cloud
●   Joye...
Cloud? Molto più di IaaS




                           Cloud
Agenda
●   Cloud
       –   Cosa intendo per cloud
       –   Vantaggi: perchè usarle
●   Affrontare il cambiamento
      ...
Cloud è molto più di
             virtualizzazione
●   “Infrastructure as a service” fornisce solo
    server e networking...
Perchè sono interessanti
●   Costo molto competitivo
●   Si eliminano i problemi legati all'infrastruttura
●   Semplifica ...
Scale on-demand
Librerie di piattaforme
●   Per scalare facilmente serve un parco di
    macchine omogenee.
●   Installazione e configuraz...
Semplifica il processo di deploy
Agenda
●   Cloud
       –   Cosa intendo per cloud
       –   Vantaggi: perchè usarle
●   Affrontare il cambiamento
      ...
Problemi indipendenti dalla cloud
●   La maggior parte dei disservizi è causato
    dall'installazione di aggiornamenti, n...
Nuovi problemi
●   Multicast spesso non utilizzabile
        –   Autodiscovery dei servizi va ripensata
●   Le macchine do...
Tipica configurazione mod_jk
File di configurazione httpd
Agenda
●   Cloud
       –   Cosa intendo per cloud
       –   Vantaggi: perchè usarle
●   Affrontare il cambiamento
      ...
JBoss Cloud
●   Lead Bob McWirther
        –   JBoss Research & Prototyping team
        –   (Co-)Fondatore Codehouse, Dro...
mod_cluster
●   Gli application server si presentano al load
    balancer
        –   Httpd viene aggiornato sulle modific...
Archittura mod_cluster
Domini multipli, N servizi
“Rolling upgrades”
●   Aggiorna un dominio alla volta
●   Disattiva un dominio:
        –   Non accetta sessioni nuove, ge...
mod_cluster
●   Non è più necessario
        –   Conoscere gli indirizzi IP a priori
        –   Configurare ogni applicat...
Appliance JBoss Cloud
●   Una collezione di macchine preconfezionate
    su EC2
●   jboss-appliance-support: (script di bu...
Basato su RPM
●   Personalizzare le appliance selezionando gli
    RPM necessari
●   Versioni RPM di
       –   mod_cluste...
Definizioni di appliance
Appliance preconfezionate
●   Front-end
       –   Apache Httpd, mod_cluster
●   Management
       –   GossipRouter
●   Ba...
Pronte all'uso:
●   Trova le AMI nel catalogo pubblico
●   Accendi una management appliance
●   Accendi un (n) front-end
●...
Console web EC2
Deploy del servizio



           scp my-app.war 
be1:/opt/jboss-as/server/cluster/farm/
Auto-Cluster e farming
●   All'accensione di un nuovo nodo, si aggrega
    agli altri tramite il GossipRouter
●   Quando u...
Scale-up
●   Accendi ulteriori nodi
●   L'applicazione e lo stato attuale verrà
    trasmesso ai nuovi nodi
●   Il load ba...
Scale-down
●   Termina un nodo
●   Il load balancer smette di inviare richieste ai
    nodi terminati
Libreria di applicazioni
●   Confeziona la definizione di macchine
    includendo i servizi pronti all'uso
●   Accendile/s...
Infinispan
●   I Database sono ancora:
        –   Un collo di bottiglia
        –   Un single-point-of-failure
●   Infini...
Grazie! Domande?
●   Riferimenti web:
        –   jboss.org
        –   oddthesis.org
        –   www.jboss.org/infinispan...
JBoss Clouds -  JBug Roma october 2009
Upcoming SlideShare
Loading in …5
×

JBoss Clouds - JBug Roma october 2009

0 views
588 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JBoss Clouds - JBug Roma october 2009

  1. 1. Innanzitutto, grazie per essere venuti
  2. 2. Mi presento Mi chiamo Sanne Grinovero, lavoro presso Sourcesense e mi occupo di: ● Hibernate ● Scalabilità & architetture per cloud – JBoss Cloud – Infinispan ● Motori di ricerca full-text – Lucene – Hibernate Search
  3. 3. Agenda ● Cloud – Cosa intendo per cloud – Vantaggi: perchè usarle ● Affrontare il cambiamento – Problemi: nuovi ed esistenti – Nuove soluzioni ● mod_cluster ● Piattaforme pronte al consumo ● Infinispan – Conclusioni
  4. 4. Cloud?
  5. 5. SaaS ● Software as a Service ● Si tratta di quello su cui ci vorremmo concentrare in quanto sviluppatori di servizi ● Network-provided applications – Twitter, Mint, del.icio.us, FarmTown, GitHub, Flickr, Salesforce.com, Gmail ● Software composto da codice nostro e framework di terzi (Seam, Ruby on Rails, Struts, Portlets)
  6. 6. PaaS ● Platform as a Service ● Si tratta della piattaforma dove inserire il nostro servizio ● Spesso integrato con altri framework, API ● Reso disponibile tramite network ● Scalabile – Portale, Facebook, Google App Engine, EngineYard, Heroku, Force.com
  7. 7. IaaS ● Infrastructure as a Service ● Infrastrutture: – Gli scatoloni, i chip, dischi, cavi... – Le persone che li fanno funzionare – Quelli che li monitorano costantemente – 70% dei costi del servizio medio ● Tipicamente la sfruttiamo tramite network ● Può scalare - più o meno rapidamente.
  8. 8. Infrastrutture ● Un datacenter interno ● Amazon Web Services (EC2, S3) ● Rackspace Mosso ● Contegix Cloud ● Joyent ● On-demand, self-serve server ● Cloud “in casa” : Eucalyptus, ...
  9. 9. Cloud? Molto più di IaaS Cloud
  10. 10. Agenda ● Cloud – Cosa intendo per cloud – Vantaggi: perchè usarle ● Affrontare il cambiamento – Problemi: nuovi ed esistenti – Nuove soluzioni ● mod_cluster ● Piattaforme pronte al consumo ● Infinispan – Conclusioni
  11. 11. Cloud è molto più di virtualizzazione ● “Infrastructure as a service” fornisce solo server e networking. ● Cloud supporta funzioni aggiuntive per supportare processi di sviluppo e gestione avanzati. ● Usare cloud non significa solo semplificare l'acquisto di hardware.
  12. 12. Perchè sono interessanti ● Costo molto competitivo ● Si eliminano i problemi legati all'infrastruttura ● Semplifica lo sviluppo ● Accelera il Time-to-market ● Paghi solo quello che consumi ● Scale on-demand
  13. 13. Scale on-demand
  14. 14. Librerie di piattaforme ● Per scalare facilmente serve un parco di macchine omogenee. ● Installazione e configurazione manuale non permettono reazioni tempestive. ● Automatizzare il processo di deploy – Diventa testabile e riproducibile – Rappresenta una documentazione affidabile – Ripetibile a basso costo: rilasci più frequenti
  15. 15. Semplifica il processo di deploy
  16. 16. Agenda ● Cloud – Cosa intendo per cloud – Vantaggi: perchè usarle ● Affrontare il cambiamento – Problemi: nuovi ed esistenti – Nuove soluzioni ● mod_cluster ● Piattaforme pronte al consumo ● Infinispan – Conclusioni
  17. 17. Problemi indipendenti dalla cloud ● La maggior parte dei disservizi è causato dall'installazione di aggiornamenti, non da crash di sistema ● La configurazione dei servizi prevede tipicamente dei file di proprietà statiche ● Progettare l'architettura del servizio senza “single point of failure” – Database, Sessioni
  18. 18. Nuovi problemi ● Multicast spesso non utilizzabile – Autodiscovery dei servizi va ripensata ● Le macchine dovrebbero essere “stateless” – Non salvare niente su una singola macchina – Porta di fatto a vantaggi architetturali ● Indirizzi IP non assegnabili
  19. 19. Tipica configurazione mod_jk
  20. 20. File di configurazione httpd
  21. 21. Agenda ● Cloud – Cosa intendo per cloud – Vantaggi: perchè usarle ● Affrontare il cambiamento – Problemi: nuovi ed esistenti – Nuove soluzioni ● mod_cluster ● Piattaforme pronte al consumo ● Infinispan – Conclusioni
  22. 22. JBoss Cloud ● Lead Bob McWirther – JBoss Research & Prototyping team – (Co-)Fondatore Codehouse, Drools, Grails, Jaxen XPath, TorqueBox ● Test e prototipi sulla cloud ● mod_cluster ● Strumenti di amministrazione ● Macchine preconfezionate
  23. 23. mod_cluster ● Gli application server si presentano al load balancer – Httpd viene aggiornato sulle modifiche alla topologia della rete – Le applicazioni dichiarano quali URL gestiscono ad Httpd – I server sono in grado di trasmettere indicatori di sovraccarico al load balancer
  24. 24. Archittura mod_cluster
  25. 25. Domini multipli, N servizi
  26. 26. “Rolling upgrades” ● Aggiorna un dominio alla volta ● Disattiva un dominio: – Non accetta sessioni nuove, gestisce quelle esistenti – Si spegne alla chiusura dell'ultima sessione – Httpd intanto crea sessioni nuove nel nuovo dominio
  27. 27. mod_cluster ● Non è più necessario – Conoscere gli indirizzi IP a priori – Configurare ogni application server – Modificare alcun file di configurazione ● Nuovi rilasci senza interrompere mai il servizio
  28. 28. Appliance JBoss Cloud ● Una collezione di macchine preconfezionate su EC2 ● jboss-appliance-support: (script di build Rake): – Amazon EC2 – Chiavette USB, CD avviabili – Xen, KVM – VMWare
  29. 29. Basato su RPM ● Personalizzare le appliance selezionando gli RPM necessari ● Versioni RPM di – mod_cluster – JBoss AS – JGroups GossipRouter
  30. 30. Definizioni di appliance
  31. 31. Appliance preconfezionate ● Front-end – Apache Httpd, mod_cluster ● Management – GossipRouter ● Back-end – JBoss AS – TorqueBox
  32. 32. Pronte all'uso: ● Trova le AMI nel catalogo pubblico ● Accendi una management appliance ● Accendi un (n) front-end ● Accendi un database ● Accendi n back-end
  33. 33. Console web EC2
  34. 34. Deploy del servizio scp my-app.war be1:/opt/jboss-as/server/cluster/farm/
  35. 35. Auto-Cluster e farming ● All'accensione di un nuovo nodo, si aggrega agli altri tramite il GossipRouter ● Quando un nodo si presenta, riceve una copia delle applicazioni da servire ● Quando è pronto, presenta ai load balancer la lista di URL in grado di servire ● Nessuna configurazione: Accendi e vai
  36. 36. Scale-up ● Accendi ulteriori nodi ● L'applicazione e lo stato attuale verrà trasmesso ai nuovi nodi ● Il load balancer bilancia automaticamente anche sui nuovi nodi
  37. 37. Scale-down ● Termina un nodo ● Il load balancer smette di inviare richieste ai nodi terminati
  38. 38. Libreria di applicazioni ● Confeziona la definizione di macchine includendo i servizi pronti all'uso ● Accendile/spegnile a volontà: – Ambienti di staging immediati – Auto-scaling per reazioni automatizzate – Architettura senza point-of-failure – Semplice da gestire
  39. 39. Infinispan ● I Database sono ancora: – Un collo di bottiglia – Un single-point-of-failure ● Infinispan è un key-value store distribuito sul cluster – Basato su JGroups: sfrutta la topologia dinamica del GossipRouter di JBoss Cloud
  40. 40. Grazie! Domande? ● Riferimenti web: – jboss.org – oddthesis.org – www.jboss.org/infinispan ● Twitter: – jbosscloud – infinispan

×