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. 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.
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. 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. 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.
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. 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. 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/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
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. 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
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
27. 13/05/2019 Meetup Malaga 27
Accediendo a la Observabilidad de Kubernetes.
Observabilidad
Kubernetes
Prometheus
Kiali
GrafanaJaeger
ELK
Ejemplos de
Herramientas
33. 13/05/2019 Meetup Malaga 33
Accediendo a la Observabilidad de Kubernetes. Loki
https://grafana.com/loki#about
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.
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
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/
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. 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
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