LikePicasso

Non ti senti un po' artista anche tu?
Blomming.com
  • cronache di una startup 9 May 2011 njvitto
    scissors

    Come promesso, anche se un po’ in ritardo, vogliamo condividere un resoconto delle cause che hanno creato il disservizio di Blomming lo scorso 21 aprile, cogliendo l’occasione per spiegare un po’ meglio “cosa c’è dietro” al nostro sistema.

    Premesse
    Blomming è una piattaforma sviluppata in Ruby (utilizzando in particolare il framework Ruby On Rails) che è una delle tecnologie più moderne e avanzate per creare servizi web. Allo stesso tempo è molto affidabile, anche rispetto ad alternative per grandi aziende. Sin dal primo giorno in cui siamo andati online siamo stati attenti nella scelta di un partner che fosse in grado di offrire un servizio all’altezza delle aspettative dei nostri utenti e che quindi avesse caratteristiche di robustezza dell’infrastruttura, alta disponibilità del servizio e un alto grado di scalabilità, ovvero la capacità di adattarsi per gestire picchi di traffico offrendo sempre lo stesso ottimo livello di servizio.

    Dopo un’accurata selezione la nostra scelta è ricaduta su uno dei provider di servizi web più noti e solidi al mondo, ovvero AmazonWS e, per l’esattezza, utilizzando Heroku: un’infrastruttura di cloud computing per applicazioni Ruby che fornisce un ulteriore livello di astrazione e feature dedicate alle nostre tecnologie. In particolare questa infrastruttura risiede in un data center di Amazon in North Virginia ed è utilizzato da molte note startup web USA come Fourquare, Quora e Reddit.

    I dati degli utenti, in ogni caso, sono e sono sempre stati tutelati da backup con frequenza oraria e scaricamento giornaliero, distribuiti in zone separate in modo da avere la massima resistenza agli errori. In particolare, per assicurare la massima stabilità e ridondanza del sistema, i dati sono gestiti attraverso un database nel sistema di cloud computing (con gli opportuni backup dislocati di cui sopra) mentre i media (sostanzialmente le foto dei prodotti e degli utenti) risiedono nella piattaforma di cloud storage Amazon S3 (che non è stata toccata dal problema del 21 aprile).

    Blomming, quindi, è stato pensato per offrire un ottimo livello di affidabilità da subito. Ma già prima del 21 aprile, per via della crescita del numero degli utenti e dei prodotti a catalogo, avevamo aumentato le capacità dei nostri sistemi sia come “potenza di calcolo” (web server) sia nelle performance e capacità del database, scegliendo una alternativa più costosa ma ancora più affidabile.

    Cosa è successo il 21 aprile
    Il 21 aprile il data center di AmazonWS del North Virginia ha iniziato ad avere dei problemi intorno alle ore 10:00 italiane: la natura del problema è stata spiegata in ogni dettaglio nel post mortem di AWS. Sostanzialmente si è trattato di un errore, probabilmente umano, di aggiornamento dell’infrastruttura di rete. I server hanno “creduto” di non essere più collegati alle loro “copie specchio” (mirror) e hanno iniziato a cercare di “auto-ripararsi”. Così facendo hanno esaurito lo spazio disponibile nella loro rete locale e hanno messo in crisi anche i server di altre reti, che hanno cercato di “auto-ripararsi” anche loro. Il problema si è quindi amplificato e ha portato a un collasso del sistema. AmazonWS lo definisce un “re-mirroring storm”: una “tempesta”. Continua a leggere »

    Tags: , , , , ,
  • cronache di una startup, vino e cucina 13 April 2010 njvitto
    scissors

    Da Berlucchi, dove si è svolta la cerimonia da sommelier Sono Nicola – qui il mio blog – e sto curando lo sviluppo di Blomming.com. Trascrivo qui alcune riflessioni a riguardo, dopo aver passato il weekend su un passaggio delicato (sì, la notizia è che siamo quasi pronti per le prime prove :) e mentre mi preparo per Vinitaly. Oggi infatti prendo una pausa per l’altra mia passione, il vino. Le foto sono quelle del mio recente diploma di sommelier :)

    “Piattaforma” è un termine che si usa spesso per definire un servizio web. Ma qual è la vera differenza tra il dover realizzare una piattaforma rispetto a un “normale” sito? Tutto sta nel doversi fare più domande.

    La cantina di Berlucchi, dove vengono lavorati i famosi BrutSe si realizza un sito web, che sia dinamico, complesso, per se stessi o per un cliente, c’è sempre un bisogno più o meno specifico da soddisfare. Magari alcune funzionalità particolarmente complesse possono essere spiegate meglio, oppure ci si può permettere degli aspetti destinati a un pubblico particolarmente “avanzato” o di nicchia. Sviluppare una piattaforma invece significa prevedere tutti i diversi modi con cui gli utenti potranno usarla, le diverse esigenze specifiche che si vogliono supportare e i vari casi d’uso che si potranno presentare. Significa fare qualcosa di estremamente usabile, semplice e potente allo stesso tempo, cercando di accontentare tutti senza rendere pesante alcun processo.

    Blomming.com, la piattaforma su cui stiamo lavorando, vi permetterà di vendere online con un approccio innovativo e intrinsecamente “social”. Ci stiamo interrogando su come rendere semplicissimo l’upload di un nuovo prodotto, la gestione del vostro catalogo e come permettervi di vendere in pochi secondi attraverso il vostro sito, blog o i vari social network a cui siete iscritti. Recentemente abbiamo completato lo sviluppo del sistema per gestire i costi di spedizione: vi assicuro che non è stato banale pensare a qualcosa di semplice che contemplasse le diverse necessità dei vari venditori.

    Stiamo anche provando alcuni sistemi di cloud computing su cui sarà ospitata la piattaforma definitiva: ci intriga molto Heroku, vista la semplicità e robustezza con cui viene gestito il processo di deploy. Molto probabilmente sarà la nostra scelta finale e ci permetterà di darvi un servizio di ottimo livello :)

    Il diploma!

    Il lavoro da fare è ancora tanto (sui sistemi di pagamento, sulle migliorie alla scheda prodotto, sulla gestione degli ordini, etc.) ma lo stiamo facendo con grande passione e – immancabile – divertimento!

    Tags: , , , , , , , ,