intive Argentina Blog

Caso: Cloudinary

Hace un par de años, el manejo de imágenes y videos no constituía una problemática grande para un equipo de desarrollo. Los clientes tampoco solían exigir la mayor velocidad posible al producto, ni nos encontrábamos con un problema que impactara en el rendimiento de nuestros servicios (entre otros inconvenientes a los que ahora nos enfrentamos). Así, todo lo relacionado con multimedia se almacenaba directamente en la propia infraestructura.

Los primeros servicios que tuvieron que enfocarse en reflexionar sobre los problemas relacionados con multimedia, fueron aquellos orientados a imágenes como “tinypc” o “yfrog” (más tarde ImageShack) entre otros. Estos servicios eran usados y recomendados por los usuarios en foros donde se intercambiaba sobre cómo subir imágenes y después compartirlas con la comunidad.

Ahora bien, ¿cuáles son los retos hoy en día, cuando la multimedia es una parte importante de las funcionalidades de nuestros proyectos?

  1. Cuando un usuario sube una imagen/video, no se preocupa por el tamaño, sino más bien por la calidad. Una forma de controlar lo que los usuarios suben es delimitar el formato y  el tamaño de los archivos.
  2. Cuando obtienes una cantidad importante de archivos, estos afectan en gastos de infraestructura (o espacio en disco por atribuirle un término más muggle), por lo que se debe considerar una forma de poder lograr un respaldo, que también genera un costo mayor. Existen técnicas en la nube que te permiten bajar el costo, como usar S3 de Amazon, pero se necesita un poco más de experiencia ya que serás el encargado realizar todas las configuraciones que permitan generar copias o respaldos.
  3. Si afecta la velocidad con que nuestra aplicación es descargada en los dispositivos de los clientes, también afecta el ancho de banda que utilizamos para que un servidor sirva el contenido completamente.
  4. Si es necesario un procesamiento, cambio de formatos, aplicar algún filtro, o modificar propiedades (entre otras tareas) se necesita un esfuerzo no menor para el equipo.
  5. En el caso de videos que necesitemos mostrar en diferentes tipos de dispositivos y formatos, nos veremos obligados a generar copias o hacer conversiones en nuestros servidores, usando posiblemente nuestras propias librerías o de terceros.

En pleno siglo XXI, cuando las tecnologías de la información resuelven un montón de necesidades, podemos delegar la responsabilidad en algún proveedor.

Cloudinary es un servicio orientado a imágenes y videos. Existen diferentes beneficios que resuelven varios problemas y nos parecen bastante atractivos.

  1. Nos permite usar su infraestructura para poder reducir la latencia, mejorando la experiencia del cliente.
  2. Sirve diferentes formatos de video/imágenes y puede manipularlos de una manera sencilla por medio de una URL en tiempo real.
  3. Tiene librerías a disposición de los usuarios con licencia MIT, lo que nos permite adaptarlas si es necesario y asegura que están en constante desarrollo.
  4. Cloudinary y su comunidad dan soporte a muchos marketplaces de diferentes productos, lo que demuestra que la integración con este tipo de productos es sumamente sencilla.
  5. Maneja control de versiones de los archivos y aparte integra machine learning. Así sabemos que se puede hacer búsqueda por medio de metatags de los archivos que hayamos subido.
  6. Se integra con otros servicios, como Addons, lo que le da bastante más poder del que ya tiene.
  7. La documentación es suficientemente buena para poder resolver la mayoría de los problemas con los que nos encontremos.
  8. Tiene una CAPA GRATUITA bastante potente, podemos usar Cloudinary desde el principio del proyecto sin incurrir en ningún gasto y empezar a pagar a medida que nuestra aplicación así lo requiera.

En resumidas cuentas, Cloudinary resulta ser una herramienta muy completa para resolver problemas relacionados con el manejo de imágenes y video. Aparte, su servicio nos ofrece interesantes características que pueden agregar valor al servicio, sin un esfuerzo mayor.

Rodolfo Cordero

Rodolfo Cordero es desarrollador en la compañía desde junio de 2016. Es Licenciado en Desarrollo de Software, graduado de la Universidad Latina de Costa Rica, país del cual es oriundo. Asiduo lector y melómano, hizo cursos de coctelería y barismo, habilidades con las que deleita al staff de intive-FDV en los afters organizados por la compañía.

Deja un comentario