• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
October 2009 - JBoss Cloud
 

October 2009 - JBoss Cloud

on

  • 2,528 views

JBug Rome October 2009 Meeting

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

Statistics

Views

Total Views
2,528
Views on SlideShare
2,521
Embed Views
7

Actions

Likes
3
Downloads
36
Comments
0

1 Embed 7

http://www.slideshare.net 7

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    October 2009 - JBoss Cloud October 2009 - JBoss Cloud Presentation Transcript

    • Innanzitutto, grazie per essere venuti
    • 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
    • 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
    • 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)
    • 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
    • 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.
    • Infrastrutture ● Un datacenter interno ● Amazon Web Services (EC2, S3) ● Rackspace Mosso ● Contegix Cloud ● Joyent ● On-demand, self-serve server ● Cloud “in casa” : Eucalyptus, ...
    • Cloud? Molto più di IaaS 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
    • 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.
    • 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
    • Scale on-demand
    • 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
    • Semplifica il processo di deploy
    • 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
    • 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
    • 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
    • Tipica configurazione mod_jk
    • File di configurazione httpd
    • 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
    • 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
    • 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
    • Archittura mod_cluster
    • Domini multipli, N servizi
    • “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
    • 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
    • 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
    • Basato su RPM ● Personalizzare le appliance selezionando gli RPM necessari ● Versioni RPM di – mod_cluster – JBoss AS – JGroups GossipRouter
    • Definizioni di appliance
    • Appliance preconfezionate ● Front-end – Apache Httpd, mod_cluster ● Management – GossipRouter ● Back-end – JBoss AS – TorqueBox
    • 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
    • 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 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
    • 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
    • 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/spegnile a volontà: – Ambienti di staging immediati – Auto-scaling per reazioni automatizzate – Architettura senza point-of-failure – Semplice da gestire
    • 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
    • Grazie! Domande? ● Riferimenti web: – jboss.org – oddthesis.org – www.jboss.org/infinispan ● Twitter: – jbosscloud – infinispan