+ All Categories
Home > Technology > JBoss Clouds - JBug Roma october 2009

JBoss Clouds - JBug Roma october 2009

Date post: 05-Jul-2015
Category:
Upload: sanne-grinovero
View: 502 times
Download: 1 times
Share this document with a friend
41
Transcript
Page 1: JBoss Clouds -  JBug Roma october 2009
Page 2: JBoss Clouds -  JBug Roma october 2009

Innanzitutto, grazie per essere venuti

Page 3: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Cloud?

Page 6: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Cloud? Molto più di IaaS

Cloud

Page 11: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Scale on-demand

Page 15: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Semplifica il processo di deploy

Page 17: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Tipica configurazione mod_jk

Page 21: JBoss Clouds -  JBug Roma october 2009

File di configurazione httpd

Page 22: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Archittura mod_cluster

Page 26: JBoss Clouds -  JBug Roma october 2009

Domini multipli, N servizi

Page 27: JBoss Clouds -  JBug Roma october 2009

“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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Basato su RPM

● Personalizzare le appliance selezionando gli RPM necessari

● Versioni RPM di– mod_cluster

– JBoss AS

– JGroups GossipRouter

Page 31: JBoss Clouds -  JBug Roma october 2009

Definizioni di appliance

Page 32: JBoss Clouds -  JBug Roma october 2009

Appliance preconfezionate

● Front-end– Apache Httpd, mod_cluster

● Management– GossipRouter

● Back-end– JBoss AS

– TorqueBox

Page 33: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Console web EC2

Page 35: JBoss Clouds -  JBug Roma october 2009

Deploy del servizio

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

Page 36: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Scale-down

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

nodi terminati

Page 39: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

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: JBoss Clouds -  JBug Roma october 2009

Grazie! Domande?

● Riferimenti web:– jboss.org

– oddthesis.org

– www.jboss.org/infinispan

● Twitter:– jbosscloud

– infinispan


Recommended