october 2009 - jboss cloud

41

Upload: jbug-italy

Post on 06-Dec-2014

2.623 views

Category:

Business


5 download

DESCRIPTION

JBug Rome October 2009 MeetingJBoss CloudSanne Grinovero - Sourcesense -

TRANSCRIPT

Page 1: October 2009 - JBoss Cloud
Page 2: October 2009 - JBoss Cloud

Innanzitutto, grazie per essere venuti

Page 3: October 2009 - JBoss Cloud

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

Page 4: October 2009 - JBoss Cloud

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

Page 5: October 2009 - JBoss Cloud

Cloud?

Page 6: October 2009 - JBoss Cloud

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)

Page 7: October 2009 - JBoss Cloud

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

Page 8: October 2009 - JBoss Cloud

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.

Page 9: October 2009 - JBoss Cloud

Infrastrutture

● Un datacenter interno● Amazon Web Services (EC2, S3)● Rackspace Mosso● Contegix Cloud● Joyent● On-demand, self-serve server● Cloud “in casa” : Eucalyptus, ...

Page 10: October 2009 - JBoss Cloud

Cloud? Molto più di IaaS

Cloud

Page 11: October 2009 - JBoss Cloud

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

Page 12: October 2009 - JBoss Cloud

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.

Page 13: October 2009 - JBoss Cloud

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

Page 14: October 2009 - JBoss Cloud

Scale on-demand

Page 15: October 2009 - JBoss Cloud

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

Page 16: October 2009 - JBoss Cloud

Semplifica il processo di deploy

Page 17: October 2009 - JBoss Cloud

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

Page 18: October 2009 - JBoss Cloud

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

Page 19: October 2009 - JBoss Cloud

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

Page 20: October 2009 - JBoss Cloud

Tipica configurazione mod_jk

Page 21: October 2009 - JBoss Cloud

File di configurazione httpd

Page 22: October 2009 - JBoss Cloud

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

Page 23: October 2009 - JBoss Cloud

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

Page 24: October 2009 - JBoss Cloud

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

Page 25: October 2009 - JBoss Cloud

Archittura mod_cluster

Page 26: October 2009 - JBoss Cloud

Domini multipli, N servizi

Page 27: October 2009 - JBoss Cloud

“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

Page 28: October 2009 - JBoss Cloud

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

Page 29: October 2009 - JBoss Cloud

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

Page 30: October 2009 - JBoss Cloud

Basato su RPM

● Personalizzare le appliance selezionando gli RPM necessari

● Versioni RPM di– mod_cluster

– JBoss AS

– JGroups GossipRouter

Page 31: October 2009 - JBoss Cloud

Definizioni di appliance

Page 32: October 2009 - JBoss Cloud

Appliance preconfezionate

● Front-end– Apache Httpd, mod_cluster

● Management– GossipRouter

● Back-end– JBoss AS

– TorqueBox

Page 33: October 2009 - JBoss Cloud

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

Page 34: October 2009 - JBoss Cloud

Console web EC2

Page 35: October 2009 - JBoss Cloud

Deploy del servizio

scp my-app.war \be1:/opt/jboss-as/server/cluster/farm/

Page 36: October 2009 - JBoss Cloud

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

Page 37: October 2009 - JBoss Cloud

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

Page 38: October 2009 - JBoss Cloud

Scale-down

● Termina un nodo● Il load balancer smette di inviare richieste ai

nodi terminati

Page 39: October 2009 - JBoss Cloud

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

Page 40: October 2009 - JBoss Cloud

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

Page 41: October 2009 - JBoss Cloud

Grazie! Domande?

● Riferimenti web:– jboss.org

– oddthesis.org

– www.jboss.org/infinispan

● Twitter:– jbosscloud

– infinispan