Matt Mullenweg (WordPress) – The architecture behind wordpress.com

Aggiornamento: sono online le slide del suo intervento.

Matt Mullenweg di WordPress (lo facevo più giovane), ha parlato delle scelte di architettura, e non solo, di wordpress.com, l’hosting di wordpress.
Secondo Mullenweb architettura vuol dire scalabilità. E scalabilità applicata a più contesti:

  • la piattaforma
  • il business
  • le persone (chi lavora al progetto)

Parla anche un po’ di statistiche: in settembre 2006 wordpress.com aveva 18 milioni di utenti, oggi ne ha 88 milioni.

La piattaforma

Sono impiegati per wordpress.com dei mini-cluster, 7 per la precisione, dal costo di 1500 dollari al mese, 2 bilanciatori (2 GByte di memoria), 2 database (4 GByte di memoria, dischi veloci, RAID, setup di Mysql master + slave), 3 web server (CPU veloce, 2GByte di memoria, un Apache configurato molto molto bene).

Per wordpress.com è stato uno strato di accesso ai dati dedicato e più prestazionale, HyperDB.

Tutto il codice di wordpress.com, ma anche tutti i file di configurazione, sono posti sotto subversion per la gestione delle versioni.
Per facilitare il bilanciamento e la scalabilità, ogni operazione compiuta su wordpress.com è stateless.

Il sito ha 300 richieste al second.

Business

Non gli è ancora molto chiaro quale sia il modello di business applicabile a wordpress.com. Per il momento quello che riescono a far capire è sono in grado di realizzare del software che funziona molto bene. Ad alcuni utenti hanno proposto upgrade al servizio, come per esempio nomi di dominio dedicati. Stanno valutando la possibilità di impiegare pubblicità.

Persone

Secondo Matt great people = rich environment + worthwile problems

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA

Dion Almaer (ajaxian.com)- Hot to take your app offline

Dion parla di Google Gears, la tecnologia che permette di portare offline dati e applicazioni web.

Parte dalla considerazione che in Palo alto si perde la connettività molto spesso. Portare l’applicazione offline può eliminare delle barriere, ma non solo. Portare le elaborazioni offline permette anche di aumentare la performance per l’online.

A Google si sono chiesti come portare le applicazioni offline senza risovere semplicemente i problemi di Google stessa; per questo Google Gears è stato rilasciato come open source (new bsd).

La filosofia su cui si basa può essere così sintetizzata:

  • usare lo stesso URL per applicazione online e offline
  • la transizione la versione online e offline dell’applicazione deve essere trasparente
  • dev’essere possibile usare dati locali anche se si è online
  • dev’essere disponibile a tutti su tutte le piattaforme

Google Gears è qualcosa di più rispetto a Ajax, ma i concessi sono tra loro simili: si tratta di fare per le applicazioni offline quello che XMLHttpRequest fa le per applicazioni web (per questo è simile, come concezione, a Ajax).

I componenti:

  1. LocalServer: che gira nel browser
  2. Database: un database relazionale “fully-searchable”, non file di testo
  3. WorkerPool: possibilità di gestire thread indipendenti dal browser

Database

Il database è creato usando SQLite. Su questa base sono stati aggiunti dei livelli di astrazione successivi.

GearsORM: gestire relazione tra oggetti del database come fosse Hibernate.

GearShift: gestire la migrazione di tanti database negli utenti quando si fanno cambiamenti: db migration come il rails.

Local Server

E’ semplicemente un mini server web che ascolta sulla porta 200 e 304.

Worker Pool

Risponde alla necessità di avere diversi thread di processo separati dal browser, e sicuri. In questo modo il Javascript gira in background, non nel contesto del browser.

Altro

E’ stata scritta un’estensione per criptare i dati salvati nel client. E’ stato aggiunta la ricerca full-text.

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA

Blogging alle conferenze

La mia valigia per il FOWASto ultimando la valigia per il FOWA: macchina fotografica, blocco appunti, batterie, portatile…l’arsenale tecnologico è al completo.

Spero di avere la possibilità di scrivere dalla conferenza e – guarda caso – scorrendo i feed Rss ho trovato questo interessante intervento di Bruno Giussani, Tips for conference bloggers.

C’è il link a un agile manuale in PDF, meno di 10 pagine, ricco di suggerimenti che per chi vuole scrivere per il proprio blog il riassunto di una conferenza durante lo svolgimento.

I suggerimenti, alcuni ovvi, altri meno, sono raggruppati per categorie:

  1. strumenti
    • carica la batteria del portatile
    • ricordati di sederti dove ci sono le prese di corrente
    • guarda che il portatile scalda le gambe (vero!); procurati qualcosa per proteggerle
    • organizzati per tempo
  2. posizione
    • non sederti nelle prime file, perché potresti disturbare, né al centro
    • fai vedere che stai seguendo la conferenza, e non rispondendo alle tue email private
  3. preparazione
    • guarda il programma della conferenza e preparati delle bozze con almeno il titolo dell’intervento, meglio se con il profilo dello speaker e i link al suo blog
    • mettici magari anche una foto
    • prova a iniziare già l’intervento, così partirai con il piede giusto quando sarai costretto, durante la conferenza, a lavorare in multitasking

Mi fermo ai primi 3 punti, perché rischio di fare tardi: leggerò il resto in aeroporto. Intanto date un’occhiata al documento, ne vale la pena.

Ci vediamo!