Evernote lleva desde el 2008 sincronizando nuestras notas. El crecimiento de la empresa en cuanto a usuarios y a tráfico de datos ha sido exponencial. En las últimas actualizaciones por ejemplo de las aplicaciones para iOS el rendimiento se vio afectado considerablemente. En un post en su blog en mismo Phil Libin nos aclara que el servicio empezó con tan solo unas docenas de servidores y ahora ya manejan más de 700 en diferentes partes del mundo.
Esto es algo importante en cuanto a nivel de arquitectura del software. La escalabilidad del software es algo a tener en cuenta en el momento de hacer el desarrollo pero evidentemente el ingeniero de ese momento en Evernote no se podía ni imaginar que la starup llegaría tan lejos. Por eso hoy funciona, y no solamente funciona, sino que según él ahora es cuatro veces más rápido.
Además en este mismo post se nos explica la complexidad del proceso de sincronización, que depende de los siguientes factores:
– El número de notas en tu cuenta – El tamaño medio de los recursos (imágenes, PDFs, archivos) – El número de usuarios sincronizando simultáneamente en el mismo servidor – El número de dispositivos que usas – La cantidad de colaboraciones con tus notas y libretas
Todas estas variables han ido aumentando con el tiempo y según el iban creciendo las características ofrecidas.
Cuando originalmente diseñamos la arquitectura solamente teníamos que soportar a unos miles de usuarios con un solo dispositivo que tomaban notas para ellos mismos. Ahora tenemos decenas de millones de usuarios, la mayoría utilizan múltiples dispositivos, guardando y compartiendo notas, fotos y documentos.
Más o menos hace un año empezó este rediseño de servidores que hoy os contamos. Una de las condiciones para hacerlo era que el servicio no se tenía que interrumpir, tenía que ser algo que los usuarios no notasen por ningún lado. Además, ha sido un proceso totalmente transparente tanto para el usuario final como para los servicios de terceros que se basan en Evernote.
Ni nosotros tenemos que actualizar nuestras aplicaciones ni los desarrolladores que trabajan con Evernote tienen que modificar nada. Como ha sido por la parte del servidor, lo vamos a notar en cualquier aplicación de cualquier aplicación de Evernote que usemos.
Según Libin esto es solo el principio. Lo siguiente que van a hacer va a ser actualizar las aplicaciones para que se aprovechen aún más si cabe de esta nueva arquitectura de sincronización además de las directrices de su API para desarrolladores. Si sois curiosos en el techblog de Evernote podéis leer los detalles de como lo han hecho.
Por cierto la aplicación para iOS acaba de recibir una actualización dando la opción de rediseñar la home screen de la aplicación con nuevos temas, la posibilidad de reordenar las secciones y poder esconder o mostrar los detalles de cada una.