Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Meetup Málaga caos y kubernetes

Reflexiones sobre observabilidad, caos y kubernetes de un arquitecto de sistemas.

  • Login to see the comments

Meetup Málaga caos y kubernetes

  1. 1. Caos y Kubernetes Observabilidad y otros problemas Meetup Málaga 2019
  2. 2. 13/05/2019 Meetup Málaga 2 Sobre mi … Arquitecto de Sistemas en Versia Tecnologías Emergentes. • Cursando Grado de Ingeniería Informática. • Cursando Grado de Ciencias Ambientales. linkedin.com/in/victor-martinez-bahillo @vthot4 DevOps-Norte: https://t.me/joinchat/AXWT6U1scua78GWHqVzUTA
  3. 3. 13/05/2019 Meetup Malaga 3 INDICE 1. Observabilidad y Monitorización. 2. Observabilidad y Dominios. 3. Caos y Observabilidad. 4. Caos y Kubernetes. 5. Conclusiones.
  4. 4. Observabilidad y Monitorización Problemáticas conceptuales 4
  5. 5. 13/05/2019 Meetup Málaga 5
  6. 6. 13/05/2019 Meetup Málaga 6 “ Acción de supervisión y control, cualquiera sea el área que se trate. ” MONITORIZACIÓN Representa el mundo desde la perspectiva de un tercero, y describe el estado del sistema y/o sus componentes en conjunto.
  7. 7. 13/05/2019 Meetup Málaga 7 TIPOS DE MONITORIZACIÓN USE methodology → https://queue.acm.org/detail.cfm?id=2413037 RED method → http://bit.ly/2rxm8Wj SRE (latencia, trafico, errores y saturación.) METODOLOGÍAS
  8. 8. 13/05/2019 Meetup Málaga 8 “ Se define como una propiedad importante de un sistema de control que gobierna la existencia de una solución de control óptimo. Es una medición que determina cómo los estados internos pueden ser inferidos a través de las salidas externas. ” Observabilidad Representa el mundo desde la perspectiva en primera persona; software que se explica a sí mismo desde adentro hacia afuera.
  9. 9. 13/05/2019 Meetup Malaga 9 Observabilidad
  10. 10. 13/05/2019 Meetup Malaga 10 “ ¿podemos entender lo que está sucediendo dentro de nuestros sistemas, simplemente haciendo preguntas desde fuera? ¿Podemos depurar el código y su comportamiento utilizando su salida? ¿Podemos contestar nuevas preguntas sin enviar código nuevo? ” Observabilidad para ingenieros de software
  11. 11. 13/05/2019 Meetup Malaga 11 “ ” Observabilidad para ingenieros de software Tendremos un sistema observable cuando el equipo pueda identificar de forma rápida y confiable cualquier problema sin conocimiento previos del contexto.
  12. 12. 13/05/2019 Meetup Málaga 12 Source: https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html Pilares de la Observabilidad
  13. 13. 13/05/2019 Meetup Málaga 13 Source:https://medium.com/faun/devops-meets-observability-78775c021b0e Pilares de la Observabilidad NIVEL 1. GENERACIÓN NIVEL 2. INGESTIÓN Y MONITORIZACIÓN NIVEL 3. ALERTAS
  14. 14. 13/05/2019 Meetup Malaga 14
  15. 15. 13/05/2019 Meetup Malaga 15 CTO @honeycombio
  16. 16. Observabilidad y Dominios Definiendo los dominios 16
  17. 17. 13/05/2019 Meetup Malaga 17 Niveles básicos. Comunicaciones Infraestructura Aplicación
  18. 18. 13/05/2019 Meetup Málaga 18 Source: https://martinfowler.com/articles/domain-oriented-observability.html Observabilidad orientada a dominio
  19. 19. 13/05/2019 Meetup Málaga 19 Source: https://martinfowler.com/articles/domain-oriented-observability.html Observabilidad orientada a dominio DiscountInstrumentation es un ejemplo de patrón Domain Probe.[..] nos permite agregar Observabilidad a la lógica del dominio mientras aún hablamos en el idioma del dominio.
  20. 20. 13/05/2019 Meetup Málaga 20 Source: https://martinfowler.com/articles/domain-oriented-observability.html Observabilidad orientada a dominio Domain Probe Event-oriented For Domain Observability API
  21. 21. Caos y observabilidad 21
  22. 22. 13/05/2019 Meetup Malaga 22 “La ingeniería del caos es la disciplina de experimentar en sistemas distribuidos, con la finalidad de generar confianza en la capacidad del sistema para soportar condiciones turbulentas en producción. http://principlesofchaos.org/ ”El rendimiento de los sistemas complejos suele optimizarse al borde del caos, justo antes de que el comportamiento del sistema se vuelva irreconociblemente turbulento. Sydney Dekker, Drift Into Failure Chaos Engineering
  23. 23. 13/05/2019 Meetup Malaga 23 Chaos Engineering. Metodología Source: https://www.slideshare.net/AnaMedina42/velocity-london-chaos-engineering-bootcamp
  24. 24. 13/05/2019 Meetup Malaga 24 Chaos Engineering. Metodología Source: Chaos Engineering Observability Bringing Chaos Experiments into System Observability. O’REILLY.
  25. 25. 13/05/2019 Meetup Malaga 25 Chaos Engineering. Observabilidad Source: Chaos Engineering Observability Bringing Chaos Experiments into System Observability. O’REILLY.
  26. 26. Caos y Kubernetes 26
  27. 27. 13/05/2019 Meetup Malaga 27 Accediendo a la Observabilidad de Kubernetes. Observabilidad Kubernetes Prometheus Kiali GrafanaJaeger ELK Ejemplos de Herramientas
  28. 28. 13/05/2019 Meetup Malaga 28 Accediendo a la Observabilidad de Kubernetes. Grafana
  29. 29. 13/05/2019 Meetup Malaga 29 Accediendo a la Observabilidad de Kubernetes. Prometheus
  30. 30. 13/05/2019 Meetup Malaga 30 Accediendo a la Observabilidad de Kubernetes. Kiali
  31. 31. 13/05/2019 Meetup Malaga 31 Accediendo a la Observabilidad de Kubernetes. Jaeger
  32. 32. 13/05/2019 Meetup Malaga 32 Accediendo a la Observabilidad de Kubernetes. ELK
  33. 33. 13/05/2019 Meetup Malaga 33 Accediendo a la Observabilidad de Kubernetes. Loki https://grafana.com/loki#about
  34. 34. 13/05/2019 Meetup Malaga 34 https://cloud.google.com/kubernetes-monitoring/?hl=es-419 Stackdriver Stackdriver Kubernetes Monitoring agrupa registros, eventos y métricas de tu entorno de Kubernetes para ayudarte a comprender el comportamiento en producción de tu aplicación.
  35. 35. 13/05/2019 Meetup Malaga 35 HERRAMIENTAS
  36. 36. 13/05/2019 Meetup Malaga 36 Kube-Monkey https://github.com/asobti/kube-monkey kube-monkey es una implementación de Chaos Monkey de Netflix para clusters de Kubernetes . Borra aleatoriamente los pods de Kubernetes (k8s) en el clúster, lo que fomenta y valida el desarrollo de servicios resistentes a fallos. Source: https://medium.com/@andrewsrobertamary/chaos-testing-date-with-kube-monkey- dbffd86a6202
  37. 37. 13/05/2019 Meetup Malaga 37 Kube-Monkey https://github.com/asobti/kube-monkey
  38. 38. 13/05/2019 Meetup Malaga 38 PowerfulSeal https://github.com/bloomberg/powerfulseal PowerfulSeal agrega caos a sus clusters de Kubernetes, para que pueda detectar problemas en sus sistemas lo antes posible. • Trabaja con OpenStack, AWSy maquinas locales. • Habla Kubernetes de forma nativa. • Modo interactivo y autónomo, basado en políticas. • Interfaz web para interactuar con PowerfulSeal. • Recoge métricas y permite exponer a Prometheus • Configuración mínima, políticas fáciles basadas en yaml. • Fácil de extender https://www.techatbloomberg.com/blog/powerfulseal-testing-tool-kubernetes-clusters/
  39. 39. 13/05/2019 Meetup Malaga 39 PowerfulSeal https://github.com/bloomberg/powerfulseal victor_martinez@cloudshell:~ (hackio)$ seal interactive --no-cloud usage: seal interactive [-h] [--kubeconfig KUBECONFIG] (--openstack | --aws | --no-cloud) [--openstack-cloud-name OPENSTACK_CLOUD_NAME] (-i INVENTORY_FILE | --inventory-kubernetes) [--remote-user REMOTE_USER] [--ssh-allow-missing-host-keys] [--ssh-path-to-private-key SSH_PATH_TO_PRIVATE_KEY] [--override-ssh-host OVERRIDE_SSH_HOST]
  40. 40. 13/05/2019 Meetup Malaga 40 Gremlin https://www.gremlin.com/community/tutorials/how-to-install-and-use-gremlin-with-kubernetes/ Convierte el fracaso en resiliencia. Gremlin le proporciona el marco para simular de forma segura, segura y sencillamente las interrupciones reales con una biblioteca cada vez mayor de ataques.
  41. 41. 13/05/2019 Meetup Malaga 41 Chaos Toolkit Chaos Toolkit pretende ser la forma más sencilla y fácil de explorar la creación de tus propios Experimentos de Ingeniería de Chaos. Declarativo. Define una API abierta declarativo para expresar su experimento. Extensible. A voluntad para cualquier sistema a través de su API. Automatizable. Integrable con su sistema de CI/CD Open Source. Licencia APache2
  42. 42. 13/05/2019 Meetup Malaga 42 Service mesh: Istio https://istio.io/
  43. 43. 13/05/2019 Meetup Malaga 43 Service mesh: Istio https://istio.io/
  44. 44. 13/05/2019 Meetup Malaga 44 Service mesh: Istio https://istio.io/ Resilencia con ISTIO Fault Injection con ISTIO Timeouts Timing failures Bounded retries Increase network latency Concurrent connections limit and request load Overloaded upstream service Active health checks (circuit breakers) Crashes AZ-aware load balancing with automatic failover HTTP error codes TCP connection failures.
  45. 45. 13/05/2019 Meetup Malaga 45 Service mesh: Istio https://istio.io/ Split del tráfico entre las versiones
  46. 46. 13/05/2019 Meetup Malaga 46 Service mesh: Istio https://istio.io/ INJECT FAULT ABORT
  47. 47. 13/05/2019 Meetup Malaga 47 Service mesh: Istio https://istio.io/ INJECT FAULT DELAY
  48. 48. 13/05/2019 Meetup Málaga 48 “Estudia como si nunca fueras a aprender bastantes bastante, como si temieras olvidar lo aprendido” Confucio “Me lo contaron y lo olvide; lo vi y lo entendí; lo hice y lo aprendí” Confucio “No importa lo lento que vayas mientras no te detengas” Confucio
  49. 49. 13/05/2019 MalagaMité 2018 49

×