Twitter si rivela ancora una volta un grande amico dell´open source: dopo aver rilasciato il proprio branch di MySQL su GitHub lo scorso aprile, è arrivato il momento di un altro componente software importante per il celebre sito di microblogging.
Si tratta di Iago, un generatore di carico scritto in Scala e utilizzato per testare nuovi servizi del social network prima di inserirli in ambiente di produzione. Dall´annuncio, sull´Engineering Blog:
Iago è il generatore di carico che abbiamo sempre voluto avere. Ora che l´abbiamo costruito, vogliamo condividerlo con chiunque avesse bisogno di risolvere problemi simili [...] e siamo felici di accettare qualunque feedback (o pull request) che la comunità open source potrebbe dare.
È un generatore di carico che copre tre aspetti fondamentali per un servizio quale è Twitter:
- alte performance: "per raggiungere i massimi livelli di performance, il generatore di carico deve essere equamente performante."
- multiprotocollo: "Twitter ha più di 100 servizi [separati], e Iago può e ha testato molti di questi grazie al supporto interno per i protocolli che usiamo, inclusi HTTP, Thrift, e molti altri."
- estensibile: "Iago è realizzato anzitutto per gli ingegneri. Presuppone che la persona che sta realizzando il sistema sarà interessata nel convalidare le sue performance [...] per cui, è realizzato per essere estensibile - rendendo semplice la generazione di nuovi tipi di traffico, attraverso nuovi protocolli e sorgenti di traffico personalizzate."
Il codice, disponibile su GitHub, è rilasciato sotto licenza Apache Public License 2.0.