Un vistazo tras bambalinas de la protección SaaS de Datto
Todos sabemos que la migración hacia la infraestructura en la nube y los servicios alojados en la nube ha ido aumentando rápidamente desde hace mucho tiempo, y la pandemia no ha hecho más que acelerar ese crecimiento. El servicio SaaS Protection de Datto protege ofertas de SaaS como Microsoft 365 y Google Workspace (antes conocido como G Suite). A menudo, un crecimiento rápido conlleva cambios significativos y, en ocasiones, también inestabilidad. Incluso para empresas como Microsoft y Google, que operan a hiperescala, este crecimiento acelerado puede generar problemas.
Datto se especializa en la protección de datos, lo que significa que la calidad, la confiabilidad y la resiliencia son nuestras principales prioridades de ingeniería. El año pasado nos puso a prueba a todos en estas áreas clave. Somos una organización ágil que se adapta continuamente y realiza mejoras graduales. En esta entrada del blog, destacaré algunos de los retos recientes que hemos enfrentado, las medidas que hemos tomado y nuestros planes para el futuro con el fin de ofrecer el mejor servicio de su clase para proteger las cargas de trabajo de SaaS.
Aunque ofrecemos soporte tanto para Microsoft 365 como para Google Workspace, me centraré específicamente en M365, ya que representa una mayoría cada vez mayor de nuestra base de clientes. No obstante, muchos de estos mismos temas se aplican de manera similar a Google Workspace.
API de Microsoft
Las API de Microsoft están pasando por una transición de las API heredadas específicas de cada servicio (por ejemplo, Exchange Online, SharePoint, OneDrive) a la API Graph. Hemos estado migrando rápidamente a Graph y todo nuestro nuevo desarrollo se realiza en Graph. Ya llevamos un tiempo así. Conocemos todas las fechas de retiro de las API específicas de cada servicio y nos estamos adelantando con suficiente tiempo a cada una de ellas. Estamos acelerando la transición según sea necesario, ya que algunas API heredadas específicas de cada servicio tienen fechas fijas de fin de vida útil (EOL). Hay dos situaciones relacionadas con las API que me gustaría destacar:
- Las API están cambiando lo que devuelven: Estamos observando que el comportamiento de las API de Microsoft cambia con bastante frecuencia. La firma de las API no cambia, ya que esa es una política estándar para los desarrolladores. Sin embargo, los resultados que devuelven las llamadas a las API pueden cambiar (y de hecho cambian) sin previo aviso. Por ejemplo, es posible que recibamos regularmente un valor de cadena específico que cambie, o que recibamos códigos de error diferentes de las mismas llamadas exactas. He visto que nuestros competidores hacen referencia públicamente a este tipo de cambios. Para usar una frase muy común en estos días, estamos todos juntos en esto. Las API que usamos son las mismas que usan nuestros competidores (con una excepción, que se describe en el siguiente punto). Esto significa que, si estamos viendo errores o excepciones debido a un problema de Microsoft, hay una alta probabilidad de que otras soluciones también los estén experimentando.
- El uso de una API beta conlleva riesgos: Microsoft pone a disposición ciertas funcionalidades a través de API beta con el fin de obtener retroalimentación en tiempo real de sus socios y clientes más cercanos. Datto, como socio estratégico de Microsoft, aprovecha regularmente las API beta para diseñar y desarrollar nuevas funciones para nuestros socios y clientes finales lo más rápido posible. Por ejemplo, nos enorgullece haber sido los primeros en lanzar al mercado, el año pasado, la compatibilidad con el respaldo nativo de Microsoft Teams. Sin embargo, no sacrificaremos la estabilidad y la confiabilidad por la rapidez. Las API beta de Microsoft, al igual que todo código y funcionalidad en fase de prelanzamiento, conllevan un riesgo inherente. A diferencia de lo que mencioné anteriormente, las API beta pueden romper las políticas estándar (por ejemplo, un cambio en la firma) o, muy posiblemente, desaparecer por completo con poco o ningún aviso. Simplemente no utilizamos API beta en producción debido a ese riesgo. Tenga cuidado con cualquier proveedor que no siga una práctica similar, ya que esto representaría un riesgo inherente para la capacidad de proteger y recuperar sus datos.
Al igual que muchos proveedores de servicios en la nube, Microsoft aplica restricciones a las llamadas a la API para garantizar una alta calidad de servicio. Durante las horas pico, Microsoft dará prioridad a ciertas llamadas a la API sobre otras. Por ejemplo, una solicitud de un usuario (como recuperar un mensaje a través de un cliente de usuario final) tendrá prioridad sobre una solicitud de una aplicación de terceros, como la de Datto SaaS Protection. Cuando nuestras llamadas a la API se ven limitadas, recibimos un código de error específico, normalmente «429 Too Many Requests». Una ventaja que tenemos, tanto como desarrolladores como operadores del servicio —a diferencia de un proveedor independiente de software (ISV) que concede licencias de su software a un proveedor externo—, es que tenemos acceso a una gran cantidad de datos de telemetría. Hemos realizado inversiones significativas en el análisis de estos datos con el propósito expreso de hacer que nuestro servicio sea más eficiente y confiable. Un ejemplo concreto de esto es un cambio que hicimos a principios de este año para programar estratégicamente las copias de seguridad en los momentos del día en los que observamos la menor cantidad de errores de limitación. Esto ha aumentado de manera cuantificable nuestra tasa general de éxito en las copias de seguridad.
Eventos de Microsoft
Muchos servicios en la nube que están experimentando un hipercrecimiento similar al de M365, especialmente en los últimos 18 meses, deben realizar cambios para mantenerse al día con la demanda. Esto implica no solo agregar nuevas funciones, sino también ampliar la infraestructura para dar cabida a la demanda. En el último año han ocurrido dos acontecimientos que han tenido un impacto significativo en nuestro servicio.
El primer incidente de este tipo ocurrió el 15 de marzo, cuando se produjo una interrupción global del servicio de autenticación. Fue un incidente muy sonado que afectó tanto a los usuarios finales como a los proveedores de servicios. En nuestro caso, provocó una gran avalancha de solicitudes de soporte técnico para Datto SaaS Protection, lo que más que duplicó el volumen de soporte previsto para el mes de marzo. Atender todas esas solicitudes llevó tiempo y generó un importante retraso en la atención. Desde entonces, hemos realizado cambios en los procesos y en la dotación de personal para poder manejar un incidente de este tipo, en caso de que vuelva a ocurrir en el futuro.
Prácticamente al mismo tiempo que se presentó el problema de autenticación, también observamos errores en uno de nuestros enlaces de peering en la región de EE. UU. Microsoft ofrece un servicio de peering que proporciona menor latencia y mayor confiabilidad para el tráfico hacia y desde servicios de Microsoft, como M365 y Azure. Invertimos en estos enlaces cuando alcanzamos un cierto nivel de escala en una región determinada. El uso de enlaces de peering es mutuamente beneficioso tanto para Datto como para nuestros socios. En la región de EE. UU., contamos con múltiples enlaces de interconexión hacia nuestros centros de datos, de los cuales solo uno presentaba errores, lo que dificultó el diagnóstico exacto del problema. El mayor desafío para identificar la causa raíz de los errores en el enlace de interconexión fue que simplemente recibíamos errores de la API de Microsoft que se veían idénticos a los que recibimos durante la interrupción de la autenticación. Debido a la coincidencia de tiempos, estos problemas se combinaron para crear una tormenta perfecta y provocaron un aumento repentino en los tickets de soporte.
El último evento importante de Microsoft ocurrió durante varios días consecutivos en mayo. Nuestros sistemas de monitoreo y alertas identificaron rápidamente un problema porque nuestros indicadores clave de desempeño (KPI) comenzaron a caer vertiginosamente. Tras investigar, determinamos que la causa principal era una falla en la negociación de TLS. Microsoft estaba aplicando actualizaciones progresivas a las versiones y cifrados de TLS que aceptaba. Nosotros ya utilizábamos TLS v1.2. Sin embargo, Microsoft seleccionó manualmente un conjunto específico de cifrados dentro de TLS v1.2 que era el único que aceptaría. Como este cambio no se comunicó adecuadamente, abrimos un reporte de interrupción del servicio de producción con Microsoft. Solo puedo suponer que otros proveedores hicieron lo mismo, ya que muy poco tiempo después Microsoft detuvo las actualizaciones progresivas y revirtió los cambios (algo realmente muy poco común). Desafortunadamente, Microsoft volvió a implementar estas actualizaciones apenas 24 horas después. Estábamos en proceso de probar los cambios en los algoritmos de cifrado, pero tuvimos que adaptarnos rápidamente para implementar los cambios de TLS en nuestro parque de servidores. Esto nos brindó la oportunidad de colaborar con Microsoft en un esquema de comunicación adecuado para que nos advirtieran debidamente de estos cambios en el futuro. Aunque parezca increíble, ni siquiera nuestros contactos de soporte premium estaban al tanto de este mantenimiento.
Nuestra asociación con Microsoft
Dada la importancia que tiene Microsoft para nosotros y nuestros clientes, estamos realizando importantes inversiones en esa relación. Hay algunos aspectos que cabe destacar en particular:
- Hemos tenido un contrato de soporte técnico premium para desarrolladores de Microsoft durante los últimos dos años. Esto nos permite contar con un gestor de soporte dedicado que nos ayuda a escalar nuestros tickets de soporte y también nos brinda acceso a recursos técnicos adicionales.
- Además del contrato de soporte técnico premium para desarrolladores, compramos paquetes de horas de consultoría de desarrolladores según nuestras necesidades. Los hemos utilizado de varias maneras:
- Cuando desarrollamos nuevas funcionalidades, podemos recurrir a un experto en un área determinada que revise nuestro diseño y nuestra lógica para asegurarnos de que estamos utilizando las API correctas e interpretando los datos de la manera adecuada. Es una forma conveniente de contar con la ayuda de un experto de Microsoft para el diseño y la revisión de nuestra solución.
- Para casos de soporte específicos que consideramos que no están recibiendo la atención adecuada, podemos utilizar estas horas de consultoría para que se nos asigne un recurso dedicado. En cierto modo, estamos pagando para obtener una atención más oportuna en algunos de nuestros problemas más importantes con Microsoft. A veces, esto hace que Microsoft tenga que realizar un cambio en el código, lo que podría llevar un tiempo prolongado. Otras veces, pueden sugerir una solución alternativa o una solución provisional para evitar el problema por completo.
- Por último, desde la perspectiva del soporte técnico de Microsoft, estamos agregando una opción a nuestro soporte técnico premium que permitirá a nuestros socios y clientes trabajar conjuntamente con nosotros en un ticket de Microsoft. Esto no solo proporcionará transparencia sobre el estado, sino que también acortará el tiempo de resolución de ciertos tickets. A menudo nos convertimos en el intermediario (es decir, Microsoft nos pide que le preguntemos algo al socio o al cliente final y viceversa). Creemos que esto marcará una gran diferencia en situaciones específicas y es simplemente otro valor agregado que podemos aportar.
- Ahora que Datto Backup for Microsoft Azure se encuentra en fase de acceso anticipado, no solo somos socios de Microsoft, sino que también somos un cliente emergente importante. Tenemos un interés común en que nuestra colaboración sea un gran éxito. Es realmente una situación en la que todos salen ganando (Datto, Microsoft y nuestros socios).
Apenas hemos arañado la superficie de algunas de las historias y los retos técnicos con los que nos hemos encontrado. Vuelve a visitarnos para leer futuros blogs centrados en diferentes aspectos de Datto SaaS Protection.




