Diseñar un cloud colaborativo seguro independiente es uno de los proyectos más audaces de Infomaniak. Para que kDrive viera la luz, hemos dedicado nuestros equipos durante 3 años de investigación y desarrollo y hemos invertido 8 millones de francos suizos. El resultado: una plataforma cloud Swiss made dedicada a la productividad y respetuosa de la privacidad.
¿Cómo ha podido una empresa no cotizada en bolsa y 100% independiente como Infomaniak materializar un proyecto tan amplio y complejo? Hemos reunido a nuestros ingenieros para que nos cuenten cómo fue el desarrollo de kDrive y compartan con nosotros detalles de su exclusivo diseño.
Una tecnología independiente y estratégica para Infomaniak
Antes que ser una caja fuerte, kDrive es un producto de máxima importancia para el futuro de Infomaniak. Muestra la dirección a la que orientamos nuestras ofertas con el fin de responder a las necesidades de las pyme y el público en general. Con este desarrollo, ponemos nuestros conocimientos de infraestructuras cloud al servicio de herramientas fáciles de adoptar e intuitivas.
Si kDrive es tan importante es porque se trata de la respuesta a una demanda intensa y repetida por parte de nuestros usuarios y del mercado que buscan una solución de almacenamiento colaborativa, respetuosa de la privacidad y totalmente gestionada en el continente europeo. Esta demanda apareció ya en 2012 con el lanzamiento de WorkSpace y no ha dejado de intensificarse desde lanzamiento de Swiss Backup, nuestra solución de copia de seguridad en el Cloud. Con kDrive, hay gran expectación ¡y pensamos a lo grande!
Los fundamentos de kDrive se basan en normas exigentes y demostradas
El desarrollo de kDrive es el resultado de interacciones estrechas con nuestros clientes y socios, en Suiza y en Europa. Desde el comienzo, nuestros ingenieros han preparado el terreno:
Seguridad, confidencialidad, disponibilidad
Es el primer paso. Desde el principio, los desarrolladores han imaginado kDrive como un producto crítico (fail proof). Nuestros clientes guardarían ahí todos sus archivos, profesionales y privados. Que se perdieran los datos o no estuvieran disponibles nunca ha sido una opción. Las exigencias de confidencialidad han impuesto el cifrado sistemático y un diseño compartimentado. Por lo tanto, nuestros ingenieros han tenido que diseñar una estructura robusta, escalable y a prueba de averías.
Colaboración, sencillez, capacidad de evolución
kDrive debe responder también a la evolución de las necesidades de nuestros usuarios. Se trata del segundo paso y conlleva reflexión y elecciones tecnológicas, ergonomía y herramientas de productividad. Por eso, kDrive ha sido diseñado desde el principio para ser una plataforma colaborativa y evolutiva.
Una tecnología independiente, desarrollada y alojada en el corazón de Europa
¿Como hemos podido desarrollar en tan poco tiempo una solución de almacenamiento colaborativa que cumpla todas estas exigencias?
Nos hemos tomado nuestro tiempo
Es el colmo tratándose de una empresa suiza, pero es la primera clave para el éxito del proyecto:
«Tan rápido como sea posible, pero tan lento como sea necesario».
Nuestros desarrolladores se han tomado tiempo para conocer a la perfección los puntos fuertes y débiles de la tecnología de almacenamiento de objeto planteada para kDrive, En situación de uso real y a largo plazo. Hemos investigado la competencia tecnológica sobre todo.
Hemos aprendido de nuestros propios productos
Si hemos podido desarrollar un servicio así de robusto y evolutivo ha sido gracias a nuestra experiencia previa. Nuestros desarrolladores han comprobado la fiabilidad y aprovechado el feedback y el monitoreo de servicios como SwissTransfer y Swiss Backup para delimitar la función de cada tecnología en kDrive. Hemos concluido que teníamos que desarrollar una capa de software intermedia entre los datos del cliente y nuestro sistema de almacenamiento de objeto.
La experiencia de la primera versión de WorkSpace, donde las actualizaciones se hacían simultáneamente para todos los clientes y a gran escala, nos ha llevado a elegir una arquitectura en silos, mucho más flexible, para kDrive.
El desarrollo de kDrive internamente
kDrive es un trabajo en equipo que moviliza un número importante de empleados de todos los departamentos de Infomaniak. La fase inicial del desarrollo ha mantenido ocupados a 20 ingenieros durante más de 12 meses. Nuestros desarrolladores, ingenieros de sistemas y responsables de producción nos han desglosado los principales aspectos técnicos del desarrollo de kDrive:
Las tecnologías en acción en el proyecto
La mayoría del código de kDrive se ha escrito en php. Las bases de datos utilizan MariaDB (fork de MySQL) con la que tenemos muchos años de experiencia.
El almacenamiento de objeto es OpenStack SWIFT, una tecnología Open Source que se utiliza también en SwissTransfer y Swiss Backup.
Un middleware desarrollado por nuestro equipo en Kubernetes se encarga de la mayoría de la lógica comercial. Es el puente entre la gestión de los datos y la aplicación kDrive de los clientes.
También se utilizan los lenguajes de programación GO y Python para generar la vista previa en miniatura de los archivos y otras herramientas periféricas. Cada tecnología se utiliza únicamente donde mejor funciona.
Garantizar la disponibilidad, la confidencialidad y la integridad de los datos
El pliego de condiciones de kDrive ha obligado a nuestros ingenieros a conseguir que converjan exigencias diversas en una arquitectura a la vez robusta y flexible. Ese es el desafío que asumieron, en especial al desarrollar este middleware, el corazón de kDrive.
kDrive se basa en una fuerte compartimentación. Cada drive contiene su propia base de datos que proporciona una cartografía de los archivos del cliente para vincularlos a su lugar de almacenamiento en OpenStack SWIFT. Este trabajo de vinculación se realiza mediante el middleware y permite a cada instancia (bases de datos, almacenamiento, registros, etc.) seguir siendo totalmente independientes las unas de las otras. Las bases de datos que contienen los identificadores están separadas de las de las estructuras de archivos, propias de cada drive y de la base general de Infomaniak.
La ventaja de Kubernetes es además su gran escalabilidad. Todos los servicios de kDrive se pueden redimensionar dinámica y automáticamente. En definitiva, el contenido y la estructura del contenido de cada cliente se cifran sistemáticamente y se realiza una copia de seguridad permanente en al menos 3 emplazamientos en varios centros de datos controlados por Infomaniak.
He aquí un esquema simplificado de la arquitectura general de kDrive:
Una arquitectura protegida que limita los riesgos de seguridad y de ciberataques
La tecnología 100% independiente de kDrive limita su vulnerabilidad en comparación con otros sistemas. Los archivos rara vez se ejecutan y la arquitectura en silos reduce considerablemente el campo de acción potencial de un malware o un virus. En la práctica, ejecutar un virus en kDrive no lleva ninguna parte y, por lo tanto, no sirve para nada. La compartimentación de los datos, su arquitectura y su acceso hace además que todo intento de explotación no autorizado sea imposible, a nuestro entender.
Del diseño a la producción de kDrive
Lo primero que llama la atención cuando hablamos con nuestros ingenieros es que no hay frontera entre los desarrolladores y la producción. Se trata de un trabajo en equipo para dominar todas las facetas de kDrive:
Garantizar la robustez de la infraestructura
Desde las máquinas hasta los equipos, los criterios de fiabilidad dictan toda la estructura y la organización de kDrive. Además de las pruebas de carga, las medidas de protección anti DDOS (internas, externas) y las tareas automatizadas de mantenimiento, se hace una copia de seguridad permanente de todas las bases de datos. Ciertas replicaciones de copias de seguridad también se escalonan para poder, llegado el caso, detectar un error humano que podría haber logrado pasar el requisito de los procesos de validación y producción.
Permitir una gran escalabilidad
Las tecnologías empleadas (SWIFT y Kubernetes) permiten prever un crecimiento indefinido de los servicios. Pero este razonamiento también es válido a la inversa. Se trata de uno de los puntos fuertes técnicos del proyecto. En caso de avería, kDrive redistribuye automáticamente el workload y puede funcionar con un número muy bajo de máquinas. En teoría, incluso bastaría con una sola. En definitiva, gracias al monitoreo, kDrive puede autorrepararse en caso de error para que no afecte a los servicios.
Integrar rápidamente nuevas funciones
Los desarrollos de kDrive se añaden de manera progresiva, conforme al modelo Canary Release. Gracias a la plataforma Next, comprobamos cada actualización en condiciones reales de producción únicamente con un grupo de usuarios, antes de desplegarla progresivamente a todos los usuarios. Nuestros equipos realizan una actualización cruzada sistemática y manual línea por línea de cada actualización del código.
Un laboratorio para mejorar el rendimiento y la eficiencia de nuestras tecnologías
Cuanto más reactivo sea el sistema, menos recursos consume la infraestructura. Este es el principio central del ecodiseño de kDrive. Los desarrolladores se toman su tiempo para escribir código de calidad en vez de gastar innecesariamente dinero en las máquinas más potentes del mercado. Por lo tanto, nos esforzamos por optimizar todos los procesos, como las tareas en segundo plano, por ejemplo, generación de viñetas o envíos anulados. Los desarrolladores han insertado numerosos sistemas de medición para capturar y analizar los indicadores (métricas). Esto nos proporciona una visión equilibrada de los recursos que permite mantener un nivel de carga óptimo para el medio ambiente.
Damos preferencia a una gran modularidad al usar el mismo tipo de servidores para todos los servicios (lo que se conoce como commodity hardware). Así, cada máquina puede asignarse a una nueva tarea dinámicamente. Además, también limitamos la compra y, por lo tanto, la construcción de nuevas máquinas, gran fuente de emisiones de CO2. Elegimos máquinas reutilizadas controladas mediante nuestra tecnología de virtualización. Estas máquinas se insertan a la perfección en la arquitectura de kDrive, con gran tolerancia ante averías, a la vez que se optimizan al máximo los recursos.
Eliminar toda la complejidad técnica para el usuario final
Para que el front end sea lo más intuitivo (UX, UI) posible, nuestros diseñadores han analizado los comportamientos de uso en los servicios ya existentes. Han diseñado la ergonomía de kDrive con claves visuales intuitivas y reconocidas para facilitar un control natural. Esta filosofía de simplificación es el principio básico de todos nuestros desarrollos actuales y futuros.
kDrive para móvil tenía que estar disponible desde lanzamiento del servicio. Nuestro equipo ha elegido un fork de Nextcloud hasta que esté disponible en nuestra propia aplicación. Esto ofrecerá una fluidez incomparable con tiempos de carga reducidos y permitirá añadir nuevas funciones exclusivas a kDrive.
kDrive es una plataforma de futuro
Nuestros desarrolladores aúnan sus esfuerzos para que kDrive sea una plataforma abierta y evolutiva. Esto supone dar preferencia a las tecnologías open source, pero también hacer que kDrive sea compatible con protocolos como Webdav, por ejemplo. Una API pública completará en breve el dispositivo, para que los desarrolladores puedan crear sinergias entre kDrive y sus aplicaciones.
kDrive mejora permanentemente
Aplicación móvil
kDrive evoluciona rápido y la base Nextcloud no basta para las próximas innovaciones y funciones. Nuestros desarrolladores están trabajando en la nueva aplicación kDrive 100% casera. Ofrecerá todas las funciones de la interfaz en línea además de una función de digitalización mejorada, edición de documentos Office (Word, Excel y PowerPoint), mejora de usos compartidos y una optimización para tablets.
Cajas fuertes zero knowledge
Los usuarios de kDrive podrán generar sus propias claves de cifrado para una seguridad máxima sin compromiso. La integración de estas cajas fuertes estará disponible con la aplicación de escritorio y móvil. El cifrado de extremo a extremo será asimétrico (con una clave privada y una clave pública). También se podrán compartir las cajas fuertes y colaborar entre varios.
Sincronización de archivos a la carta (smart sync)
Cada vez resulta más difícil almacenar todos los datos en ordenadores portátiles que no tienen suficiente espacio de almacenamiento. Dentro de poco, se integrará la sincronización inteligente en las aplicaciones de escritorio para poder descargar archivos a la carta. Para simplificar el proceso, integramos un asistente para elegir los archivos que deben almacenarse localmente.
Reforzamos las interacciones entre nuestros productos
Como se anunciaba en la hoja de ruta 2021, vamos a reforzar los vínculos entre nuestros productos. La parte de foto también evolucionará progresivamente con las galerías y la importación de las fotos desde Google, ahora que Google Photos va a dejar de ser gratis.
Precios atractivos para todos los usuarios
Queremos ofrecer un cloud independiente diseñado por y para sus usuarios. Esto significa:
- Desarrollar las funciones que necesitas.
- Seguir siendo accesible a todos con tarifas muy competitivas. También hay una versión gratuita.
Pásate a kDrive
Hay varias ofertas disponibles para que aproveches las ventajas de kDrive. Puedes modificar el plan en cualquier momento, según cambien tus necesidades.
Free, Solo, Team o Pro: descubre todos los planes kDrive aquí.
De UIKit a SwiftUI: desarrollo de una app móvil iOS con el último framework de Apple
25 25UTC marzo 25UTC 2024
Infomaniak te permite redactar y responder a tus correos electrónicos con una IA soberana
10 10UTC noviembre 10UTC 2023
Debe estar conectado para enviar un comentario.