Heroku e l’addio al sistemista

Premessa: questo post tratta un argomento un po’ tecnico anche se cercherò di scrivere in linguaggio comprensibile a tutti.

Heroku è una piattaforma multi-tenant di hosting basato su cloud computing (in particolare si appoggia ad Amazon EC2) per qualunque applicazione sviluppata in Ruby (quindi supporta non solo Ruby On Rails ma anche Sinatra, Merb, etc.). Maggiori dettagli li trovate qui.

La cosa interessante è che Heroku nasconde diverse complessità che altrimenti bisognerebbe considerare quando arriva il momento di pubblicare in produzione un servizio web. Il titolo del post è volutamente provocatorio per indicare l’assenza della necessità di supporto sistemistico durante il deploy di un’applicazione su Heroku: può essere effettuato tutto in modo sicuro e “programmatico” attraverso dei semplici script Ruby.

Questo a mio avviso chiude il cerchio colmando il gap dei sistemi di cloud computing che agiscono ad un livello più basso (come Amazon EC2) e che forniscono quindi infrastrutture di base – i.e.: la virtualizzazione dell’hardware – lasciando all’utente la gestione dei sistemi, che ovviamente può consentire una maggiore flessibilità ma in alcuni casi può anche essere un freno.

Le caratteristiche più interessanti comprese nel “pacchetto” Heroku sono:

  • Possibilità di scalare “on demand” con un click (utile anche per gestire picchi di traffico momentanei)
  • “Instant deployment”
  • Add-ons: funzionalità aggiuntive come Amazon RDS for MySQL, supporto nativo per Memcached e WebSolr (ovvero server integrati nella piattaforma utilizzabili come servizi da non dover gestire), domini custom, etc.
  • Architettura multi-tenant robusta e sicura
  • Ottima infrastruttura sottostante (Amazon EC2, come detto sopra)

I prezzi dato il servizio non sono stratosferici e c’è anche una versione free.

Se usate Ruby il mio consiglio è di provarlo, soprattutto se siete una startup: potrebbe essere la piattaforma in grado di far andare la vostra applicazione online…prima, meglio ed abbattendo i costi!

Altri servizi interessanti da prendere in considerazione (anche se meno innovativi di Heroku nel deploy) sono: EngineYard (solo per Ruby) e RackSpace Cloud (per PHP, ASP, .NET, JEE).

Reblog this post [with Zemanta]

Ragionare in ottica “by product”

Oggi mi è tornato in mente un post di Jason Fried letto il mese scorso sul blog della 37signals, di cui è socio fondatore. Parla della teoria del by product con alcuni esempi di loro importanti prodotti che sono emersi dallo sviluppo di applicazioni web. Primo tra tutti è Ruby On Rails, il famoso framework di sviluppo web basato sul linguaggio Ruby, creato da David Heinemeier Hansson (anche lui attuale partner 37signals)  durante lo sviluppo di Basecamp.

Consigliando la lettura dell’articolo intero, cito un paragrafo particolarmente significativo:

When you make something you make something else. Just like they say you can not not communicate, you can not not make something else. Everything has a by-product. Observant and creative entrepreneurs spot these by-products and see opportunities.

La sostanza è che quando si ha un’idea, anche se sembra che risolva un problema specifico, forse è possibile estrarne un nucleo utile ad altri settori, utile alla risoluzione di problemi diversi che possono però condividere la stessa piattaforma tecnologica o framework. Per legarmi a quanto dicevo nell’ultimo post: un esempio potrebbe essere di pensare ad una soluzione web generica che possa essere applicata in tanti siti verticali.

A mio avviso questo è particolarmente importante per i piccoli imprenditori e professionisti, che possono trarre maggiori vantaggi dal doversi concentrare su singoli progetti – piccoli o grandi che siano – da cui estrarre una o più componenti riusabili e rivendibili. 🙂

Stay tuned!

Reblog this post [with Zemanta]