Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Meetup 4 2019 - Pablo Halamaj - Caos en la Granja

ArqConf
September 10, 2019

Meetup 4 2019 - Pablo Halamaj - Caos en la Granja

ArqConf

September 10, 2019
Tweet

More Decks by ArqConf

Other Decks in Technology

Transcript

  1. CAOS EN LA GRANJA 4º Meetup # ARQCONF2019 10 de

    Septiembre 2019 Pablo Halamaj - CTO @ Sendati
  2. ANTES DE ARRANCAR • Vamos a hablar de porqué y

    cómo romper cosas de 9 a 18. ◦ Lo hacemos para que no nos llamen a las 3 AM. • Vamos ver solo caídas de app servers. ◦ Hay otros tipos de fallas posibles. • NO HAY SECCIÓN DE PREGUNTAS!!!! ◦ Haganlas cuando les surjan. • Las demos pueden fallar ◦ ¯\_(ツ)_/¯
  3. Construcción de Sistemas (generalmente) • Se diseñan para el estado

    ideal. • Se contempla sólo el camino feliz. • Se intentan controlar todas las variables. fuente: https://thiswastv.com/2013/04/25/roundtable-review-get-smart- too-many-chiefs-and-kisses-for-kaos/
  4. Pero…… Shit Happens • Los problemas: ◦ Nunca vienen de

    donde pensamos. ◦ No se piensa cómo reaccionar a ellos. ◦ Terminamos con un GRAN problema. fuente: https://www.geocaching.com/geocache/GC10JV7_the-cone-of-sil ence?guid=8ce586c5-6a68-4f6d-b654-c10146a93396
  5. CHAOS ENGINEERING Chaos Engineering es la disciplina de realizar experimentos

    en un sistema distribuido con el fin de construir confianza en las capacidades del sistema en soportar condiciones turbulentas en producción. Fuente: https://principlesofchaos.org/?lang=ENcontent
  6. ¿ COMO ? Insertando Fallas • Los sistemas deben ser

    self-healing • Las fallas pueden ser al azar o específicas. fuente: http://shuffleandcut.files.wordpress.com/2011/04/cat.jpg
  7. Ventajas de Kubernetes • El replication Controller nos Ayuda a

    ser self-healing • La velocidad de despliegue de los contenedores permite que casi no se noten las caídas. • Los Sistemas Cloud-Native deben ser tolerantes a fallos!!!
  8. Entorno - K3S VM 1 VM 2 VM 3 B

    A GRANJA KUBERNETES Containers A T T
  9. Entorno - App a probar B F F F PUERTO:

    8888 Rta: Quedan XXX Request PUERTO: 8080 Rta: Hello ARQCONF <rta backend> SVC SVC Nosotros
  10. KUBERNETES POD CHAOS MONKEY - DEMO • Scripts super simple

    se ejecuta desde la terminal • Tiene 2 parámetros ◦ namespace ◦ delay • Básicamente es un script bash muy simple (20 Líneas)
  11. CHAOSKUBE - DEMO • Se despliega como un Container •

    Se puede programar: ◦ Que namespaces atacar ◦ Cada cuanto ◦ En qué ventanas horarias • Reinicia o Borra PODs. • Requiere permisos en el cluster.
  12. POWERFULSEAL - DEMO • Está hecho en Python • Varios

    modos de Funcionamiento: ◦ interactivo ◦ Autónomo ◦ Por etiquetas ◦ Demo • Hace KILL al pod via SSH • Tiene Interfaz Web • Complejo de usar • Necesita DOCKER
  13. LINKS • KUBERNETES POD CHAOS MONKEY ◦ https://github.com/jnewland/kubernetes-pod-chaos-monkey • CHAOSKUBE

    ◦ https://github.com/linki/chaoskube • POWERFULSEAL ◦ https://github.com/bloomberg/powerfulseal • K3S ◦ https://k3s.io • Apps de la Demo: ◦ https://gitlab.com/go-services-mockups