October 2009 - JBoss Cloud

  • 1,440 views
Uploaded on

JBug Rome October 2009 Meeting …

JBug Rome October 2009 Meeting
JBoss Cloud
Sanne Grinovero - Sourcesense -

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,440
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
37
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Innanzitutto, grazie per essere venuti
  • 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. 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. Cloud?
  • 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. 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. 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. Infrastrutture ● Un datacenter interno ● Amazon Web Services (EC2, S3) ● Rackspace Mosso ● Contegix Cloud ● Joyent ● On-demand, self-serve server ● Cloud “in casa” : Eucalyptus, ...
  • 9. Cloud? Molto più di IaaS Cloud
  • 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. 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. 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. Scale on-demand
  • 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. Semplifica il processo di deploy
  • 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. 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. 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. Tipica configurazione mod_jk
  • 20. File di configurazione httpd
  • 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. 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. 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. Archittura mod_cluster
  • 25. Domini multipli, N servizi
  • 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. 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. 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. Basato su RPM ● Personalizzare le appliance selezionando gli RPM necessari ● Versioni RPM di – mod_cluster – JBoss AS – JGroups GossipRouter
  • 30. Definizioni di appliance
  • 31. Appliance preconfezionate ● Front-end – Apache Httpd, mod_cluster ● Management – GossipRouter ● Back-end – JBoss AS – TorqueBox
  • 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. Console web EC2
  • 34. Deploy del servizio scp my-app.war be1:/opt/jboss-as/server/cluster/farm/
  • 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. 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. Scale-down ● Termina un nodo ● Il load balancer smette di inviare richieste ai nodi terminati
  • 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. 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. Grazie! Domande? ● Riferimenti web: – jboss.org – oddthesis.org – www.jboss.org/infinispan ● Twitter: – jbosscloud – infinispan