devops’mycode’ - zouheircadi.files.wordpress.com @zouheircadi devops’my’code’ @zouheircadi...
TRANSCRIPT
![Page 1: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/1.jpg)
@ZouheirCadi #DevopsMyCode
Devops my Code
![Page 2: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/2.jpg)
@ZouheirCadi #DevopsMyCode
DEVOPS MY CODE
@Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG
![Page 3: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/3.jpg)
@ZouheirCadi #DevopsMyCode
Agenda • Objectif • Métriques pour les services métiers
• Metriques : Générations et mesures
• Démo : Logstash Statsd, Graphite
• Design 4 failure • Qui suis-je ? • Conclusion
![Page 4: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/4.jpg)
@ZouheirCadi #DevopsMyCode
Objec:f • Sensibilisation des devs (java ?) à produire du code auditable/
exploitable • Initiation à la stratégie et aux outils de monitoring
![Page 5: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/5.jpg)
@ZouheirCadi #DevopsMyCode
Diagramme de déploiement
![Page 6: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/6.jpg)
@ZouheirCadi #DevopsMyCode
Diagramme de composant
![Page 7: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/7.jpg)
@ZouheirCadi #DevopsMyCode
Diagramme de déploiement SCM C. I. REPO.
![Page 8: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/8.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 9: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/9.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 10: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/10.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 11: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/11.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 12: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/12.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on SCM C. I.
DEV. Q. A. PRODUCTION
REPO.
![Page 13: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/13.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 14: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/14.jpg)
@ZouheirCadi #DevopsMyCode
Produc:on
![Page 15: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/15.jpg)
@ZouheirCadi #DevopsMyCode
METRIQUES
![Page 16: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/16.jpg)
@ZouheirCadi #DevopsMyCode
METRIQUES Layer Example Metric
Application layer
API Calls Type, rate
Service layer Apache, Storage, Caches, …
Apache : request rate, response time, busu workers RDMMS : Busy/sleeping connections, query rates
Physical layer CPU, memory, disk, network
CPU : user, system, %wait Disk : space utilization, I/O rates, %wait Network : bytes in/out
![Page 17: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/17.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
spring.xml
![Page 18: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/18.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
PetstoreAspect.java
![Page 19: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/19.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
PetstoreAspect.java
![Page 20: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/20.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
PetstoreAspect.java
![Page 21: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/21.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
PetstoreAspect.java
![Page 22: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/22.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
logback.xml
![Page 23: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/23.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
logback.xml
![Page 24: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/24.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
2014-10-11 12:39:23 INFO service.catalog.impl.CatalogServiceImpl.findCategory YES 253
Timestamp Données
![Page 25: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/25.jpg)
@ZouheirCadi #DevopsMyCode
Genera:on de metriques
www.logstash.net/docs/1.4.2/learn
![Page 26: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/26.jpg)
@ZouheirCadi #DevopsMyCode
Logstash
![Page 27: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/27.jpg)
@ZouheirCadi #DevopsMyCode
Logstash input { file { type => "audit-log" path => "/${TOMCAT_HOME}/log/business.layer.log" } } filter { if [type] == "audit-log" { grok { match => [ "message" , "%{TIMESTAMP_ISO8601:timestamp} %{DATA:THREAD} %{WORD:LEVEL} %{DATA:method} %{WORD:returnCode} %{NUMBER:responseTime}" ] } } } output { statsd { host => "localhost" port => 8125 timing => [ "%{method}.time_ms", "%{responseTime}" ] } }
![Page 28: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/28.jpg)
@ZouheirCadi #DevopsMyCode
Statsd • Deamon NodeJS • Fonctionne sous le protocole réseau UDP • Ecoute des statistiques et les agrègent avant envoi vers
Graphite • Fournit un support pour différents types de métriques
• Counter • Timer • Gauges • Set
![Page 29: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/29.jpg)
@ZouheirCadi #DevopsMyCode
Statsd • Counting / Sampling : send increments from your application
com.ServiceImpl.authenticate:1|c
com.ServiceImpl.createUser:1|c|@0.1
![Page 30: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/30.jpg)
@ZouheirCadi #DevopsMyCode
Statsd • Timing : • time • Statistique la plus intéressante pour récolter les métriques
d’un service métier
com.ServiceImpl.findCategory:230 | ms
![Page 31: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/31.jpg)
@ZouheirCadi #DevopsMyCode
Cen:le • Effectif d’une distribution divisée en 100 parts égales • Distribution coupée en tranches de 1% • Médiane C50
• 50% des valeurs lui sont inférieures • 50% des valeurs lui sont supérieures
• 90Percentile • 90% des valeurs lui sont inférieures • 10% des valeurs lui sont supérieures
![Page 32: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/32.jpg)
@ZouheirCadi #DevopsMyCode
StatsD • Gauges
• Sets
• Multi-Metric Packets
![Page 33: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/33.jpg)
@ZouheirCadi #DevopsMyCode
Graphite
collecting-metrics-with-graphite-and-statsd
![Page 34: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/34.jpg)
@ZouheirCadi #DevopsMyCode
Graphite -‐ architecture • Graphite web
• Front end. • Visualisation des métriques sous forme de graphique. • « Powerfull plotting API »
• Carbon • Ensemble de 3 process en charge de la réception,
l’agrégation et la persistance des données sur disque • Whisper
• Base de données de séries chronologiques
![Page 35: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/35.jpg)
@ZouheirCadi #DevopsMyCode
All in one
LOGS LOGSTASH STATSD GRAPHITE
![Page 36: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/36.jpg)
@YourTwitterHandle @YourTwitterHandle @ZouheirCadi #DevopsMyCode
Demo
![Page 37: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/37.jpg)
@ZouheirCadi #DevopsMyCode
Métriques -‐ process • Mesurer (ligne de log)
• Monitorer
• Alerter
• Decider
• Agir
![Page 38: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/38.jpg)
@ZouheirCadi #DevopsMyCode
Monitoring -‐ Aler:ng • Monitoring
• Graphite, • Ganglia (monitoring des systèmes distribués) • Outils payants : newRelic, AppDynamics
• Alerting • Nagios • Outils payants : newRelic, AppDynamics
![Page 39: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/39.jpg)
@ZouheirCadi #DevopsMyCode
Supervision batch/audit
![Page 40: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/40.jpg)
@ZouheirCadi #DevopsMyCode
Supervision audit
![Page 41: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/41.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 42: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/42.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 43: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/43.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 44: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/44.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 45: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/45.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 46: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/46.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 47: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/47.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 48: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/48.jpg)
@ZouheirCadi #DevopsMyCode
Résilience
![Page 49: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/49.jpg)
@ZouheirCadi #DevopsMyCode
Quelle(s) métrique(s) • Metrique de contrôle du fonctionnement courant
• 1 appel = 1 metrique • Interception des appels de la couche métier • AccessLogs
• Tomcat => Valve
![Page 50: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/50.jpg)
@ZouheirCadi #DevopsMyCode
Quelle(s) métrique(s) • Métrique de dysfonctionnement
• $$$$$ • Dégrade le fonctionnement
![Page 51: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/51.jpg)
@ZouheirCadi #DevopsMyCode
![Page 52: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/52.jpg)
@ZouheirCadi #DevopsMyCode
Qui suis-‐je
![Page 53: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/53.jpg)
@ZouheirCadi #DevopsMyCode
Qui suis-‐je ?
![Page 54: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/54.jpg)
@ZouheirCadi #DevopsMyCode
Qui suis-‐je ? • Plugin maven : properties-maven-plugin • Génération d’un fichier • Contenant les deux properties
• project.version • maven.build.timestamp
• Properties lues grâce à un service
![Page 55: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/55.jpg)
@ZouheirCadi #DevopsMyCode
Qui suis-‐je ?
![Page 56: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/56.jpg)
@ZouheirCadi #DevopsMyCode
Qui suis-‐je ?
![Page 57: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/57.jpg)
@ZouheirCadi #DevopsMyCode
Health-‐check • Resource fournissant des informations sur l’application
• Serveur d’application • Service accédé via le serveur d’application
• Utilisé par des humains (dev, integrateurs, sysadmin, …)
• Used by automates for monitoring
![Page 58: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/58.jpg)
@ZouheirCadi #DevopsMyCode
Health-‐check
![Page 59: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/59.jpg)
@ZouheirCadi #DevopsMyCode
Que fais-‐je ?
![Page 60: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/60.jpg)
@ZouheirCadi #DevopsMyCode
Ou suis-‐je : Dans quelle organisa:on ?
![Page 61: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/61.jpg)
@YourTwitterHandle @YourTwitterHandle @ZouheirCadi #DevopsMyCode
CONCLUSION
![Page 62: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/62.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 63: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/63.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 64: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/64.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 65: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/65.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 66: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/66.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 67: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/67.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 68: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/68.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 69: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/69.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 70: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/70.jpg)
@ZouheirCadi #DevopsMyCode
Conclusion
![Page 71: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/71.jpg)
@ZouheirCadi #DevopsMyCode
URLographie • http://pivotallabs.com/139-metrics-metrics-everywhere/ • https://wooster.checkmy.ws/fr/doc/graphite/ • https://wooster.checkmy.ws/2013/12/time-series-databases/
• https://github.com/hopsoft/docker-graphite-statsd • http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html • http://java.dzone.com/articles/java-performance-troubleshooti-0
• http://rubynaut.net/2012/08/30/application-monitoring/ • http://www.logstash.net/docs/1.4.2/learn
• http://fr.slideshare.net/itnig/collecting-metrics-with-graphite-and-statsd • http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/
index.html
![Page 72: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/72.jpg)
@ZouheirCadi #DevopsMyCode
Bibliographie • Web operations, keeping the data on time, John Allspaw and Jesse Robbins,
2010, O’Reilly Ed. • Continuous delivery, Jez Humble and David Farley, 2010, Addison Wesley
Ed.
![Page 73: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/73.jpg)
@ZouheirCadi #DevopsMyCode
Con:nuous delivery
![Page 74: Devops’myCode’ - zouheircadi.files.wordpress.com @ZouheirCadi DEVOPS’MY’CODE’ @Zouheircadi Dev.Archi Java, NoSQL, Prod Co-organisateur DevoxxFr (Ancien …) Paris JUG](https://reader035.vdocuments.net/reader035/viewer/2022062413/5b1cf4837f8b9ae9388bd9e4/html5/thumbnails/74.jpg)
@YourTwitterHandle @YourTwitterHandle @ZouheirCadi #DevopsMyCode
Q & A