Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La ricetta tecnica di Instagram: Amazon web services, Ubuntu e Django

Link copiato negli appunti

Una applicazione per iOS per scattare una fotografia, aggiungere qualche effetto e poi condividerla con gli amici. àˆ questo che vede l'utente di Instagram.

Ma per un osservatore tecnico, uno sviluppatore, ancora più interessante è sapere cosa sta dietro le quinte di un servizio da più di 14 milioni di utenti. Ed allora la questione diventa più articolata: quale sistema operativo? Quale application server/linguaggio di programmazione?

La risposta viene direttamente dal blog del team di Instagram, ed entra abbastanza nel dettaglio: se infatti era noto che il lato server di Instagram fosse basato su Python e Django, si può scoprire come siano passati da un classico setup Apache-mod_wsgi a Gunicorn come application server.

Ovviamente data la base di utilizzatori notevole, la necessità  di distribuire il carico è evidente: la loro scelta è stata quella di ospitare i server sui

[!] Ci sono problemi con l'autore. Controllare il mapping sull'Author Manager

per adattarsi più velocemente alle variazioni di volume con uno staff ridotto. Elastic Load Balancer per dividere il traffico sui front-end NGIX che a loro volta interrogano le 25 istanze di server EC2 basati su Ubuntu server 11.04 che ospitano il già  citato Gunicorn.

Aggiungere PostgreSQL per la persistenza dei metadati e Redis per gli "Activity feed" degli utenti, Amazon S3 per lo storage delle fotografie, Gearman come task queue combinato con un service Twisted per produrre le notifiche push, un po' di monitoring, devops con Fabric e il gioco è (quasi) fatto.

Questo articolo contiene link di affiliazione: acquisti o ordini effettuati tramite tali link permetteranno al nostro sito di ricevere una commissione nel rispetto del codice etico. Le offerte potrebbero subire variazioni di prezzo dopo la pubblicazione.

Se vuoi aggiornamenti su Essentials inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche