Dicen que en Netflix aplican el método Chaos Monkey, y eso le ha permitido crecer. Sin entrar en polémica sobre si Netflix lo ha hecho bien o la plataforma está en decadencia, vamos a explicar el curioso método y cómo puede ayudar a tu empresa o a ti mismo.
¿Qué es el método Chaos Monkey?
Chaos Monkey es una herramienta que propone que sean los propios desarrolladores quienes provoquen fallos en sus herramientas y desarrollo como forma de entrenamiento. BBVA
Esta definición está clara, pero no tanto. ¿provocar fallas? ¿cómo se implementa esto?
Esta es la definición de Bares Dev:
Es la práctica de experimentar con sus sistemas de producción para garantizar la confianza de que los sistemas pueden soportar condiciones inesperadas.
Considere esto: ha desarrollado su software y lo ha probado exhaustivamente antes de implementarlo. Todo revisado y funcionando sin problemas.
Mientras todas las partes constituyentes funcionen como se espera y no ocurra nada fuera de lo común, su negocio funcionará como un reloj.
Sin embargo, la vida no funciona de esa manera. Por mucho que desee contener sus sistemas en silos, no puede hacer eso para evitar que suceda algo adverso. ¿Por qué?
- El error humano sucede.
- Los hackers hacen lo que hacen.
- Las máquinas se estropean.
- Las conexiones de red fallan.
- Los errores se presentan.
- El software no funciona como se esperaba.
En otras palabras: es provocar pequeños fallos para ver cómo funciona un sistema ante esos pequeños fallos. Y claro tiene toda una metodología para su implementación:
Estos fallos son aleatorizados, toda la documentación escrita por Netflix para la implementación la puedes encontrar en: https://netflix.github.io/chaosmonkey/
Dice BBVA que Chaos monkey es como tirarse piedras en su propio tejado para poner a prueba tu tejado. Diran que es hacking etico, pero No, no lo es, Chaos monkey va mucho más allá, pues no es una herramienta sólo para probar al seguridad informatica, sería más exactamente una ingeniería de resilencia.
Esta Chaos monkey pasa a ser en un sentido más amplio lo que se conoce como ingeniería del Caos:
Chaos Engineering es un enfoque disciplinado para identificar fallas antes de que se conviertan en interrupciones. Al probar de manera proactiva cómo responde un sistema a las condiciones de falla, puede identificar y solucionar las fallas antes de que se hagan públicas frente a las interrupciones. Chaos Engineering le permite validar lo que cree que sucederá con lo que realmente sucede en sus sistemas. Al realizar los experimentos más pequeños posibles que pueda medir, puede “romper cosas a propósito” para aprender a construir sistemas más resistentes. https://www.gremlin.com/
Por lo tanto, es experimentar de manera aleatoria con pequeños fallos en tu empresa o en tu software para ver cómo responde y cómo se le puede hacer frente.
En tu empresa y en tu vida deben existir los planes de contingencia, pero siendo solamente un plan no se puede medir como se implementaría o no se encuentran fallas en la implementación. Un plan de contingencia puede ser perfecto en papel.
Chaos monkey, resilence engineering o chaos engineering: más allá de la seguridad informática
Cuando Google utilizó esta filosofía de resilence engineering, en simulaciones de inundaciones en data centers, se dio un caso en el que en el simulacro tenían que recurrir a un generador diésel, y no tenían diésel, entonces la gente empezó a buscar cómo conseguir comprar diésel, empezaron a dar teléfonos, pero también la gente de administración y demás departamentos proporcionaron teléfonos de gente que conocían que podía conseguir diésel o que podías prestarle dinero para conseguir diésel.
Beneficios de usar el método Chaos Monkey
Hay un par de beneficios muy importantes al usar Chaos Monkey para sus necesidades de Chaos Engineering. En primer lugar, te preparará para fallas aleatorias, para que tus ingenieros no se sorprendan cuando algo falle, ya que contarás con sistemas de respaldo y protocolos de respuesta para enfrentar múltiples contingencias.
Otro beneficio es que alentará a sus ingenieros a incorporar redundancia en sus sistemas. Sin redundancia, cuando un sistema deja de funcionar, no habrá otro sistema que ocupe su lugar automáticamente.
Por supuesto, al usar Chaos Monkey no se le informará cómo resolver un problema, solo que el problema existe. Pero en el mundo de los sistemas distribuidos, descubrir los problemas es uno de los mayores desafíos.
Libros sobre Chaos Monkey
amzn_assoc_tracking_id = “dineropia-20”;amzn_assoc_ad_mode = “manual”;amzn_assoc_ad_type = “smart”;amzn_assoc_marketplace = “amazon”;amzn_assoc_region = “US”;amzn_assoc_design = “enhanced_links”;amzn_assoc_asins = “B07DFN12XC”;amzn_assoc_placement = “adunit”;amzn_assoc_linkid = “e88bcc97a05579dc94b46dd79c08e6ac”;