Tu propio CDN en Google App Engine

Imaginad que habéis desarrollado una aplicación de filtros de fotografía. La aplicación utiliza archivos xml para guardar las definiciones de los filtros y por cada filtro se incluye una imagen de ejemplo. O una aplicación que simula un instrumentos musicales, donde por cada instrumento se guardan varios "samples".



Y queréis subir esos y otros recursos a un servidor para que se descarguen desde allí y así no aumente el tamaño de vuestra aplicación. Además podríais añadir nuevos recursos sin tener que actualizar la aplicación. Pero claro, un servidor casero o un host gratuito, están bien para empezar... y poco más.

¿Cómo lo hacen los grandes estudios con presupuesto? Usan redes de distribución de contenidos o "CDN".  Básicamente consiste en redes de ordenadores distribuidas globalmente que alojan vuestro contenido. Los usuarios siempre acceden al nodo más cercano por lo que obtienen el contenido más rápido. Pero si este se cae, siempre lo pueden obtener de otro (redundancia).

Varios ejemplos de servicios basados en CDN: Youtube (video), Google Play (aplicaciones androide), AppStore (aplicaciones iOS), flickr (fotos), ...

Existen CDN de pago donde podéis alojar vuestros archivos como Amazon S3 o Amazon Cloudfront y es lo que yo usaría para distribuir contenido estático de una web o una app.



En resumen, no es buena idea alojar vuestros recursos en un servidor casero o un alojamiento gratuito si esperáis tener éxito. Y sí, siempre podríais ocuparos de ello cuando empezárais a tener éxito, pero e

Referencia: http://www.digitalistic.com/2008/06/09/10-easy-steps-to-use-google-app-engine-as-your-own-cdn/

Lo primero es crearse una cuenta en https://developers.google.com/appengine

Links:

Wikipedia CDN
Página de inicio de Google App Engine
Descargas Google App Engine