Case History 2 spaghi 2011

19
Trova e Condividi i tuoi ristoranti preferiti giovedì 28 aprile 2011

description

Lo sviluppo, le scelte tecniche e di comunicazione della più importante comunità di recensori di ristoranti. Un importante esempio di contributi generati dagli utenti.

Transcript of Case History 2 spaghi 2011

Page 1: Case History 2 spaghi 2011

Trova e Condividi i tuoi ristoranti preferiti

giovedì 28 aprile 2011

Page 2: Case History 2 spaghi 2011

come nasce?

L’idea di 2Spaghi nasce dall’ispirazione di popolari servizi Web2.0 USA

un posto dove salvare i propri ristoranti

preferiti

guidato dai contenuti generati dagli utenti

totalmente democratico ed user-

centrico

Obiettivo?

scoprire nuovi posti dove mangiare

giovedì 28 aprile 2011

Page 3: Case History 2 spaghi 2011

la vision

2Spaghi nasce con l'obiettivo di creare un luogo che diventi leader per:

• Trovare il ristorante giusto per la cena che si sta organizzando (mappe, reviews, domande alla community).

• Permettere ai ristoratori di entrare in contatto e discutere con i propri clienti e potenziali.

giovedì 28 aprile 2011

Page 4: Case History 2 spaghi 2011

il lancio: luglio 2006

Le prime funzionalita: Google Maps Mashup, ristoranti ordinati per più salvato, SpagoLista, commenti degli utenti

• Passaparola come modello di Marketing

• Partecipazione ad eventi organizzati dalla blogosfera italiana (barcamp)‏

• Feedback subito positivi

giovedì 28 aprile 2011

Page 5: Case History 2 spaghi 2011

i primi due anni: business model

Durante 2007 prime sperimentazioni sul modello di business:

Advertising: Google Adsense e da Settembre ’07 concessionaria pubblicitaria specializzata in food (Vinoclic)‏

Newsletter: sponsorizzate: vendute dalla concessionaria

Progetti speciali:

lancio del film Nero Bifamiliare con i ristoranti preferiti dei protagonisti

giovedì 28 aprile 2011

Page 6: Case History 2 spaghi 2011

il mercato di riferimento

giovedì 28 aprile 2011

Page 7: Case History 2 spaghi 2011

un caso di successo: Booking online

+20.000 prenotazioni entrate

A Dicembre del 2009 abbiamo lanciato il primo servizio di prenotazione online su tutti i ristoranti (oltre 50.000) in Italia come servizio dedicato agli utenti e completamente free.

Gli utenti lo hanno giudicato:

1. Comodo2. Veloce3. Gratuito

+70.000 coperti prenotati

giovedì 28 aprile 2011

Page 8: Case History 2 spaghi 2011

la SpagoGuida 2011

13 Novembre 2010 è uscita in libreria la SpagoGuida, la prima guida ai ristoranti interamente creata grazie alle recensioni degli utenti

giovedì 28 aprile 2011

Page 9: Case History 2 spaghi 2011

2Spaghi Mobile APPS

iPhone Android

20.000 app scaricate100.000 consultazioni mensili

In uscita a fine Aprile

giovedì 28 aprile 2011

Page 10: Case History 2 spaghi 2011

2Spaghi ha scelto LAMP come piattaforma di erogazione dei suoi servizi web.

La scelta è stata strategica perchè offre ampia versatilità, grande scalabilità e performance elevate.

Piattaforma

giovedì 28 aprile 2011

Page 11: Case History 2 spaghi 2011

Piattaforma

Linux e ubuntu server

Apache MySQL PHP

La scelta di Ubuntu Server è stata la migliore scelta per noi.

Pur non essendo la migliore distribuzione(redhat, fedora, centOS, etc), accorpa caratteristiche che, per chi come noi non ha grandi competenze di tipo sistemistico, sono una manna dal cielo, ad esempio l’aggiornamento e l’installazione tramite apt-get dei pacchetti precompilati.

C’è poi un fattore più opportunistico, il costo pari a 0 (ZERO) per cui non è necessario dotarsi di costose licenze software o di assistenza sistemistica dedicata. Inoltre il tutto può girare su Harware obsoleto avendo una consumo di risorse eseguo.

giovedì 28 aprile 2011

Page 12: Case History 2 spaghi 2011

WebServer robusto e veloce è l’ambiente ideale per erogare pagine web e siti con molte visite sviluppate in PHP.

È possibile configurare ogni singolo parametro di erogazione per trovare la migliore configurazione possibile (tuning). Questa possibilità naturalmente aumenta il rischio di errori.

Tra le infinite possibilità e moduli configurabili il più interessante è il mod_rewrite, sistema ottimale per creare URL parlanti (SEO oriented). Che di questi tempi non si sa mai ;-)

Platform

Apache

MySQL PHP Linux

giovedì 28 aprile 2011

Page 13: Case History 2 spaghi 2011

Rappresenta lo standard nel mondo dei DataBase relazionali OpenSource.

Avaro di risorse (CPU) va configurato con attenzione (tuning) per evitare crolli improvvisi e lock-table indesiderati.

Le nuove versioni, a differenza delle precedenti, consentono una maggiore scalabilità (cluster, master/slave).

È sempre meglio avere un DB server dedicato!

MySQL

PHP Linux Apache

Piattaforma

giovedì 28 aprile 2011

Page 14: Case History 2 spaghi 2011

Il linguaggi client-server più usato sul web e dal mondo Open Source nelle sue versioni più recenti (>=5.0) ha raggiunto una maturità ed affidabilità notevoli.

L’introduzione di OO e parser XML evoluto, ma anche migliaia di function già pronte che velocizzano il lavoro dello sviluppatore accorciando i tempi di produzione rappresentano i suoi punti di forza.

Stabilità e sicurezza lo rendono poi l’alleato ideale anche per architetture più complesse.

PHP

Linux Apache MySQL

Piattaforma

giovedì 28 aprile 2011

Page 15: Case History 2 spaghi 2011

Architettura

2006 2007 2008 2009 2010 2011

Hosting condiviso+MySQL7MB su Aruba da 35€ l’anno

Server Virtuale presso TOPIX Torino(front-end + DB Server)

4GB di RAM 1GB di HHD banda internet illimitata

Primo Server proprietario (front-end + DB Server)

Athlon II X4 635 (4 x 2.9Mhz)8GB di RAM 3GB di HHD

Banda internet illimitata

Secondo Server proprietario (DB server)

8GB di RAM 3GB di HHDPhenom II X4 945 (4 x 3,0 Ghz)

Banda internet illimitata

89.671 Visite 1.000.627 Visite 4.323.000 Visite 7.145.000 Visite 9.655.308 Visite 3.133.339 Visite IQ

giovedì 28 aprile 2011

Page 16: Case History 2 spaghi 2011

Hosting condiviso+MySQL7MB su Aruba da 35€ l’anno

Server Virtuale presso TOPIX Torino(front-end + DB Server)

4GB di RAM 1GB di HHD banda internet illimitata

Primo Server proprietario (front-end + DB Server)

Athlon II X4 635 (4 x 2.9Mhz)8GB di RAM 3GB di HHD

Banda internet illimitata

Secondo Server proprietario (DB server)

8GB di RAM 3GB di HHDPhenom II X4 945 (4 x 3,0 Ghz)

Banda internet illimitata

Architettura

DB Server

audience

BackUp

Mobile

Web

2006 2007 2008 2009 2010 2011

giovedì 28 aprile 2011

Page 17: Case History 2 spaghi 2011

in memory

L’evoluzione dell’architettura

API

RDBMS

front-end

1front-end

2front-end

3front-end

...

primo scenario (classico 2 livelli)

API

RDBMS

front-end

1front-end

2front-end

3front-end

...

secondo scenario (key-value 3 livelli)

memcache (in memory) + Redis (html)memcache (in memory) + Redis (html)

key-valye-DB

Business Logic*

key-valye-DB

key-valye-DB

*Business Logic è lo strato che implementa la logica applicativa

giovedì 28 aprile 2011

Page 18: Case History 2 spaghi 2011

L’evoluzione dell’architettura

NginxÈ un HTTP server con funzionalità di revers proxy. I test che stiamo portando avanti ci hanno dato ottimi risultati in termini di performance e stabilità nonchè in scalabilità.

PHP fast-cgiUsare PHP in questa modalità non lo rende più veloce ma ci offre la possibilità di isolare ilprocesso che non è più dipendente da Apache. Abbinato a Ngnix ci consente di creare e staticizzare parti di contenuto dinamico.

RedisUsiamo redis per memorizzare l’HTML creato dinamicamente da PHP in modo da velocizzare ulteriormente il front-end e non dover richiedere ogni volta il contenuto dinamico a PHP

ma come funziona?risponde a tutte le richieste HTTP al pari di Apache. Grazie alle sue caratteristiche di revers proxy è possibile scrivere HTML

statico e usare degli includes dinamici verso script PHP

<!--#include virtual="/includes/title.php?$QUERY_STRING" -->

Diciamo a Ngnix di andare a recuperare il contenuto dalla

pagina title.php passando anche i parametri che ci servono con ?

$QUERY_STRING

A questo punto PHP in modalità fast-cgi esegue lo script e

contestualmente crea la sezione HTML momorizzandola su Redis

La seconda volta che il contenuto viene richiesto Nginx non lo chiede a PHP ma

direttamente a Redis che lo eroga fino alla sua scadenza. Terminata la cache il giro ricomincia.

Nginx

giovedì 28 aprile 2011

Page 19: Case History 2 spaghi 2011

Stage?

Se sei interessato ad un periodo di stage con noi scrivi a [email protected]

Diventa Fan

http://www.facebook.com/2Spaghi

giovedì 28 aprile 2011