altre destinazioni

ultimi post

ultimi commenti

tag principali

archivi

powered by

  • WPFrontman + WP

friends

copyright

  • © 2004-2011
    Ludovico Magnocavallo
    tutti i diritti riservati

Erlang e i processi umani

30 agosto 2006

Dallla discussione virtuale di ieri (qui, qui e qui) è scaturito un link al bellissimo Concurrency is easy in cui Joe Armstrong sviluppa un’analogia tra l’architettura per processi e messaggi di Erlang e la vita reale. Una lettura illuminante per chi sviluppa, e decisamente consigliata anche a chi si occupa di altro.

Se non ne avete mai sentito parlare, Erlang è un linguaggio di programmazione nato in casa Ericsson verso la metà degli anni ’80, con caratteristiche specializzate per lo sviluppo di applicazioni e logiche di controllo per apparati di telecomunicazione: il funzionamento anche in caso di errori software o hardware, la possibilità di distribuire l’elaborazione su più sistemi e di svolgere processi in parallelo in maniera leggera ed efficiente. In Erlang la Ericsson ha realizzato i software di controllo di alcuni dei suoi apparati telecom più avanzati e di successo (centralini, switch ATM, ecc.) e verso la fine degli anni ’90 ha deciso di rilasciarlo con licenza Open Source.

Erlang è utilizzato, oltre che per applicazioni telecom, in tutti quei casi dove sono necessaria una scalabilità orizzontale a bassissimo costo, performance (Soprattutto di rete) eccezionali, e un’affidabilità spinta. Per avere un’idea di cosa è possibile in Erlang, date un’occhiata a questo benchmark vecchiotto ma sempre interessante tra Yaws (un server HTTP scritto, appunto, in Erlang) e Apache. Se volete capirne un po’ di più, trovate alcuni link a libri e documentazione sulla mia tag di del.icio.us.

Sempre più architettura

29 agosto 2006

1 commento

Due bei post di oggi sottolineano l’importanza crescente dell’architettura nelle applicazioni Web: Why Processes Scale Better Than Threads su Labnotes, e Evaluating Proxy Engines and Load Balancers sul blog di Joyeur.

Interessante nel primo post il confronto tra i modelli di sviluppo per processi e thread, con una breve analisi storica delle differenze “genetiche” tra stack LAMP da una parte, e Java/Windows dall’altra. Un confronto, quello tra processi e thread, che è particolarmente rilevante nelle architetture dei sistemi fault tolerant come Stratus o Tandem (ora HP Integrity NonStop) o degli ambienti di sviluppo come Erlang, utilizzati per quei servizi che devono garantire una disponibilità prossima al 100%. Che me ne importa delle architetture fault tolerant, direte voi? Fino ad ora poco, in un prossimo futuro credo molto, dato che hanno parecchio in comune con le architetture di distributed computing che stanno assumendo una rilevanza sempre maggiore per tutte le applicazioni Internet, le stesse architetture che stanno alla base dell’infrastruttura di Google.

Passando al post di Jason su Joyeur, oltre all’annunciato benchmark dei più importante reverse proxy e load balancer Open Source e commerciali che vedremo in un futuro prossimo, mi è sembrato molto interessante il concetto di limite di performance applicato all’interfaccia di un servizio: se una istanza di un server HTTP come Mongrel (per Ruby) garantisce un certo numero di connessioni contemporanee, non è detto (anzi non è probabile) che n istanze dello stesso server poste dietro un load balancer garantiscano un aumento delle connessioni lineare, dato che l’interfaccia tra il load balancer e i server in questione può rappresentare un collo di bottiglia, che è appunto quello che si propone di misurare Jason con il suo benchmark. Architetture sempre più complesse, in cui l’esigenza di scalare per reggere carichi di traffico sempre in aumento fanno nascere nuovi problemi di tipo architetturale invece che applicativo. A proposito, sembra che WordPress.com e/o Akismet utilizzino Pound, lo stesso reverse proxy/load balancer di cui vi ho parlato qualche settimana fa.

Finalmente anche l'Italia

28 agosto 2006

E finalmente anche l’Italia entra a far parte del circo del Web 2.0: i romani di Mad4Milk sono stati acquisiti da hanno iniziato a collaborare con Freewebs, e la notizia è riportata nientemeno che da Om Malik e Yahoo! Finance. I ragazzi di Mad4Milk sono conosciuti per moofx, una libreria di effetti per Javascript leggera e potente, e hanno fatto recentemente parlare di sé per Mooglets, un bel sistema di widget web che utilizzano, appunto, la loro libreria. In passato avevano anche fatto circolare dei video di un sistema di blogging/CMS in PHP che, mi sembra, non ha mai visto la luce. Complimenti, e speriamo che finalmente si inizi a muovere qualcosa anche qui da noi.

Blog musicali / 4

26 agosto 2006

Come ogni sabato, questa mattina mi sono messo in caccia di qualche podcast o brano musicale per distrarmi un po’ durante le pulizie settimanali. Oggi la ricerca è andata meglio del solito: su Matsuli Music ho scovato “a mind-blowing dose of East African rumba”, con pezzi introvabili di gruppi come i Simba Wanyika che hanno fatto la storia di un bel pezzo di musica africana.

Quaranta minuti di puro piacere musicale, e visto che è gratis vi consiglio caldamente di scaricarlo prima che sparisca, e metterlo da parte per riscaldarvi un po’ l’animo in qualche momento particolarmente buio. Qualcosa di diverso dal solito, pizzosissimo e monocorde rock/pop (che comunque io non ascolto) propinato da radio e televisione. Se potete ascoltatelo in cuffia, almeno i primi due brani.

Amazon EC2

24 agosto 2006

1 commento

Conoscevo già Amazon S3 (il servizio di storage combinato con HTTP e Bittorrent), ma EC2 — o ComputeCloud — sinceramente mi era sfuggito, ed è una di quelle novità in grado di rivoluzionare il panorama dell’hosting per le applicazioni web. Avete presente VMware, il software con cui far girare più macchine virtuali dentro una singola macchina fisica (desktop, notebook, server)? Bene, elevate lo stesso concetto all’ennesima potenza, spalmatelo sui datacenter di Amazon che garantiscono prestazioni e affidabilità che pochi possono vantare al mondo, aggiungete dei Web Service di interfaccia per inviare e configurare le macchine virtuali, ed avete EC2.

questo post continua, leggi il resto

Granata Cats

24 agosto 2006

5 commenti

Cuore granataC’è un legame tra la sfortuna che più volte si è accanita contro una delle squadre di calcio più blasonate d’Italia, e il cuore e la fede incrollabile dei suoi tifosi? Io credo di sì, specie se la squadra in questione è il Torino e i tifosi sono dello stampo di Granatina, e degli altri che stanno cercando di dare una sorte migliore ai gatti del glorioso Filadelfia, lo stadio storico del Toro ormai ridotto ad un ammasso di ruderi ed erbacce.

Gatti che non se la passano molto bene, come purtroppo succede alla maggior parte dei randagi. Se siete a Torino potete dare una mano mettendovi d’accordo con gli altri volontari per curare e nutrire i mici granata, anche e soprattutto se siete della Juve, con tutte le malefatte che avete da espiare le buone azioni non sono mai abbastanza. Se invece vivete in un’altra città potete fare una donazione al fondo istituito da Granatina, e magari tenere gli occhi aperti mentre andate in giro, di gatti bisognosi ce ne sono dovunque. Grazie ad Axell per il post che mi ha fatto conoscere l’iniziativa, se potete date una mano a diffonderla anche voi.

Che carattere hanno i guru della programmazione?

23 agosto 2006

Code monkeyChe carattere hanno i guru della programmazione? Ci sono tratti comuni che li distinguono dai code monkeys? Una risposta parziale a queste domande, almeno in ambito Enterprise, arriva dal bel post di Rob Walling Personality Traits of the Best Software Developers, visto passare oggi tra i bookmark di labnotes.

Tra le quattro qualità esposte nel post mi ha convinto in particolare la prima: i grandi sviluppatori di solito sono pessimisti nell’immediato, ma ottimisti sul lungo periodo. I bug o gli errori di architettura sono in agguato dietro ogni scelta e ogni linea di codice, ma niente è impossibile se si ha fiducia nelle proprie capacità, voglia di lavorare e pazienza.

Bello anche il richiamo in questo contesto a James Stockdale, uno degli alti ufficiali più decorati della storia degli Stati Uniti e prigioniero per otto anni nel terribile Hanoi Hilton, raccontato con dovizia di particolari nella bella serie di romanzi semi-autobiografici di Mark Berent (se vi interessa e leggete in inglese fatemi un fischio che vi presto i miei ebook).

Il valore dell'Open Source

10 agosto 2006

La piccola polemica sul post di Nicholas Carr Open source as metaphor ha prodotto una delle più belle descrizioni dell’Open Source e dei suoi effetti che io abbia letto, e che corrisponde perfettamente con la mia esperienza di utilizzatore e (mini-)sviluppatore di software libero. L’autore è Assaf, uno dei geniacci dietro co.mments. Di seguito alcune citazioni, se avete cinque minuti di tempo vi consiglio caldamente di leggere l’articolo.

questo post continua, leggi il resto