Muchos pensaron que se trataba de un ciberataque. La «pantalla azul de la muerte» hizo pensar a algunos. Lo que provocó una interrupción masiva de los sistemas empresariales el 19 de julio de 2024 fue una actualización de software defectuosa. Nadie habría imaginado que una sola actualización de software podría provocar un apagón informático global. En esta publicación, analizamos el impacto de la reciente interrupción de Microsoft-CrowdStrike. ¿Y qué puede hacer ante interrupciones como esta que afectan a su empresa? ¿Qué provocó la interrupción global de TI el 19 de julio de 2024? CrowdStrike es un proveedor líder en el que Microsoft confía para la seguridad de los puntos finales. El 19 de julio de 2024, CrowdStrike envió una actualización de software defectuosa que afectó a millones de usuarios de Windows. Las principales operaciones comerciales en todo el mundo se paralizaron. Los hospitales, los bancos, las aerolíneas y muchos otros sufrieron la peor parte de una interrupción grave. Las computadoras que funcionaban con Microsoft Windows tuvieron que apagarse y reiniciarse sin cesar. Y todas las repercusiones se remontan a una actualización de software defectuosa. La interrupción fue una llamada de atención para los líderes empresariales. Vuelve a la misma vieja pregunta: «¿Por qué las organizaciones deberían incorporar una estrategia de defensa proactiva? ¿Por qué necesitan planes de contingencia integrales y medidas de recuperación ante desastres sólidas?» Antes de responder a estas preguntas, comprendamos la importancia de las aplicaciones resilientes. ¿Por qué es importante la resiliencia de las aplicaciones? Los bloqueos inesperados, las ralentizaciones y los tiempos de inactividad no son meros problemas técnicos. Estos incidentes dan como resultado la pérdida de ventas, la reputación dañada y los clientes molestos. La infraestructura y las aplicaciones resilientes protegen a su empresa de esos momentos incómodos. Así es como una aplicación empresarial resiliente lo ayudará a: Equipar su software para soportar interrupciones y reanudar las operaciones más rápido. Reducir el impacto en sus usuarios y su negocio cuando ocurre una interrupción. Adoptar estrategias para lidiar con cortes e incidentes de seguridad. Mantener las funciones esenciales en funcionamiento y los datos de las aplicaciones seguros. Poner servicios estables y confiables a disposición de sus clientes y empleados. Agregar nuevas funciones y responder a las tendencias emergentes del mercado escalando los servicios. Integre una capa adicional de seguridad para prepararse y reducir las interrupciones. Invertir en la resiliencia de las aplicaciones demuestra su compromiso con los usuarios. Les asegura que siempre obtendrán servicios confiables, seguros e ininterrumpidos. Consideraciones para crear aplicaciones resilientes y sistemas tolerantes a fallas Crear una aplicación resiliente requiere un enfoque estratégico que abarque diversas facetas. Estas son algunas áreas a considerar: 1. Redundancia La redundancia elimina los puntos únicos de falla. Estas son algunas formas de garantizar la redundancia de sus aplicaciones e infraestructura: Implemente sus aplicaciones en varios servidores y centros de datos. Si un servidor falla, otros pueden garantizar la disponibilidad de la aplicación. Replique sus datos en varias bases de datos. Hace que sus datos sean accesibles en caso de una falla. Use muchas rutas de red para proporcionar rutas alternativas. Funciona incluso si se interrumpe una conexión. 2. Equilibrio de carga El equilibrio de carga se refiere a la distribución de su carga de trabajo en muchos servidores. Reduce los cuellos de botella y mejora el rendimiento de su sistema. Los balanceadores de carga distribuyen el tráfico en un grupo de centros de datos o servidores. Como resultado, ningún servidor se sobrecarga. Los balanceadores de carga optimizan el uso de los recursos. Ayudan a proporcionar una experiencia de usuario fluida. 3. Tolerancia a fallos La tolerancia a fallos permite que las aplicaciones resilientes se recuperen más rápido de una falla del sistema. Implica la integración de mecanismos automáticos de conmutación por error. Los sistemas tolerantes a fallos utilizan las siguientes técnicas: Detección automática de errores: Monitoreo constante de las aplicaciones para detectar signos de problemas. Sistemas de respaldo automático: Cambio automático a una copia de seguridad en funcionamiento al detectar un fallo. Ayuda a reducir el tiempo de inactividad. Mecanismo de autorreparación: La mayoría de los sistemas tolerantes a fallos intentan reparar los componentes fallidos por sí mismos. Mejora su resiliencia automáticamente. 4. Degradación elegante La degradación elegante hace que su aplicación esté disponible en un nivel limitado durante una interrupción. Para implementar una degradación elegante, necesita: Identificar y ejecutar las partes críticas de su aplicación sin comprometer el rendimiento. Dar a los usuarios total transparencia y establecer expectativas claras. Decirles por qué pueden encontrar algunas características no disponibles o lentas durante un período determinado. 5. Monitoreo y observabilidad El monitoreo, la visibilidad y el análisis proactivos ayudan a detectar problemas antes de que se arruinen. Algunas áreas en las que centrarse son: Métricas en tiempo real: Realice un seguimiento de la carga del servidor, el almacenamiento de datos, el rendimiento de la replicación de datos, el tráfico de red, etc. Monitoreo del rendimiento: Realice un seguimiento de las métricas de rendimiento de su sistema en tiempo real. Alertas: Configure alertas en la herramienta APM para recibir notificaciones de posibles problemas. Le permite tomar medidas rápidas. Análisis de registros: Identifique patrones o tendencias para aumentar la resiliencia a largo plazo de su aplicación. 6. Complejidad arquitectónica La complejidad arquitectónica denota el esfuerzo necesario para mantener y refactorizar la estructura de su aplicación. Implica varias métricas, entre ellas: Complejidad dentro de la estructura de la aplicación. Conexiones entre varios elementos dentro de la aplicación. Cómo se utilizan los recursos (tablas de bases de datos, archivos, servicios de red externos). Qué tan confinadas están las clases a sus dominios específicos. Visibilidad tanto de las dependencias actuales como de los cambios a lo largo del tiempo. Todos estos puntos muestran que la resiliencia de las aplicaciones es un proceso continuo. Con un socio de consultoría en la nube de confianza, puede simplificarlos. ¿Puede su empresa permitirse el tiempo de inactividad? Garantice la resiliencia de las aplicaciones. Mejores prácticas para que las organizaciones superen las interrupciones de TI ¿Cómo puede hacer que su negocio vuelva a funcionar cuando se produce una interrupción? La prevención es mejor que la cura. Prepárese mucho antes de una interrupción. A continuación, se incluyen algunas prácticas recomendadas para tener en cuenta: 1. Adopte una estrategia de múltiples nubes La multinube se refiere al uso de servicios de más de un proveedor de nube pública a la vez. ¿Cuáles son las ventajas de utilizar servicios de múltiples nubes? La multinube reduce el riesgo de un único punto de falla. Minimiza los tiempos de inactividad y las interrupciones no planificadas. Una interrupción en una nube no afectará a los servicios de otras nubes. Si una nube se cae, sus necesidades informáticas se pueden enrutar a otra nube que esté lista para funcionar. 2. Planifique la copia de seguridad de datos y la recuperación ante desastres La copia de seguridad de datos es el proceso de hacer copias de archivos de sus datos. La recuperación ante desastres ayuda a utilizar la copia de seguridad de datos para restablecer el acceso a sus sistemas. A continuación, se incluyen algunas prácticas recomendadas para aprovechar al máximo la planificación de la recuperación ante desastres. Realice una copia de seguridad de sus datos a intervalos regulares. Guárdelos en una ubicación segura, como un servicio en la nube, un servidor remoto o un dispositivo externo. Ayuda a prevenir la pérdida de datos y facilita la restauración de los datos después de una interrupción. Utilice los servicios en la nube para obtener opciones de recuperación ante desastres escalables y flexibles. Incorpore la recuperación ante desastres en su canalización de DevOps. Ayuda a automatizar y estandarizar la recuperación. Configure sistemas de alta disponibilidad que garanticen operaciones continuas incluso durante fallas. Esboce un plan detallado de respuesta a incidentes. Cubra los pasos para detectar, analizar, restringir y recuperarse de incidentes de ciberseguridad. Evite puntos únicos de falla mediante la adopción de sistemas y componentes redundantes. Duplique (replique) datos y sistemas en una ubicación secundaria para una recuperación rápida. Use máquinas virtuales (virtualización) para restaurar los servicios de TI más rápido. 3. Optimice la redundancia en todas las plataformas La redundancia significa duplicar componentes, sistemas o procesos críticos dentro de su infraestructura. Elimina cualquier punto único de falla dentro de su sistema. La redundancia se puede aplicar en todas las plataformas, incluido el hardware, el software y la infraestructura de red. ¿Por qué es crucial optimizar la redundancia para sobrevivir a las interrupciones de TI? Durante una falla de un componente o sistema, los elementos redundantes pueden tomar el control más rápido. Ayuda a reducir su tiempo de inactividad. La carga de trabajo se distribuye entre componentes redundantes. Puede evitar cuellos de botella y optimizar el rendimiento del sistema. Los sistemas de almacenamiento redundantes y las soluciones de respaldo mejoran la integridad de los datos. Reducen el riesgo de pérdida de datos. La redundancia brinda a las organizaciones la capacidad de recuperar y reanudar las operaciones más rápido. Los sistemas redundantes permiten una conmutación por error sin problemas y reducen el impacto de las interrupciones. 4. Garantizar la tolerancia a fallas en aplicaciones críticas Los sistemas tolerantes a fallas evitan las interrupciones que surgen de un único punto de falla. Por lo tanto, garantizan una alta disponibilidad y continuidad comercial de las aplicaciones de misión crítica. El sistema puede ser una computadora, una red, un clúster en la nube, etc. Ejemplos de tolerancia a fallas: Un servidor puede volverse tolerante a fallas utilizando un servidor idéntico que se ejecuta en paralelo. Todas las operaciones se copian al servidor de respaldo. Una base de datos con información del cliente se puede replicar continuamente en otra máquina. Cuando la base de datos principal falla, las operaciones se redirigen automáticamente a la base de datos replicada. Los sistemas tolerantes a fallas con componentes de respaldo en la nube pueden restaurar sistemas de misión crítica rápidamente. ¿Está su aplicación lista para lo inesperado? Deje que Fingent construya su plan de redundancia. ¿Cómo afectó la interrupción del servicio técnico de Microsoft-CrowdStrike a las empresas? La interrupción generalizada del servicio técnico afectó a aeropuertos, hospitales, estaciones de noticias, bancos y más. Las aerolíneas en los EE. UU. tuvieron dificultades para llevar a las tripulaciones y los aviones a sus destinos. FlightAware informó que las aerolíneas cancelaron más de 2000 vuelos en todo EE. UU. para la tarde del 19 de julio. La interrupción afectó a los sistemas de respuesta a emergencias. Las líneas del 911 no funcionaron en muchos estados, incluidos Alaska, Indiana y New Hampshire. Las empresas de envío globales UPS y FedEx informaron interrupciones. Los clientes enfrentaron entregas retrasadas tanto en los Estados Unidos como en Europa. ¿Cómo pueden prepararse las empresas para las interrupciones del servicio técnico? La tormenta de interrupciones de Microsoft-CrowdStrike ha terminado. Ahora, es hora de pensar en cómo superar un evento de este tipo si ocurre nuevamente. Aquí hay algunas cosas que puede hacer para estar mejor preparado para las interrupciones del servicio técnico: Evalúe la confiabilidad y la resiliencia de las herramientas de ciberseguridad antes de invertir en ellas. Para los sistemas de misión crítica, pruebe todas las actualizaciones antes de implementarlas en producción. Desarrolle y documente soluciones manuales que puedan garantizar la continuidad del negocio. Cuente con prácticas y planes integrales de recuperación ante desastres y continuidad comercial. Utilice sistemas e infraestructura redundantes para reducir el tiempo de inactividad. Asegúrese de que las funciones críticas puedan cambiar a sistemas de respaldo cuando sea necesario. Asóciese con una empresa de consultoría de servicios en la nube para obtener servicios de mantenimiento de TI dedicados. En Fingent, ayudamos a nuestros clientes a abordar los desafíos a nivel de aplicación incluso durante interrupciones. Nuestros expertos lo ayudan a implementar estrategias y desarrollar aplicaciones resistentes para prepararse y resistir interrupciones imprevistas. Mantenga sus aplicaciones de misión crítica en funcionamiento con nosotros. Conectémonos para comenzar.