Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
SLO Tabanlı Alerting: Burn Rate, Multiwindow Alert'ler ve Alert Yorgunluğunu Bitirmek
SLO tabanlı alert, error budget'ın harcanma hızını (burn rate) bir uzun ve bir kısa pencerede birlikte ölçer: uzun pencere kısa sıçramalarda susar, kısa pencere arıza bitince alert'i hızla kapatır. Bookstore checkout'u için Workbook'un 14,4/6/1 eşiklerini Prometheus rule'larına çeviriyor, promtool ile test ediyor, canlı bir arızada ne zaman çalıp sustuklarını ölçüyor ve Sloth'un ürettikleriyle karşılaştırıyoruz.
SLO ve Error Budget: Hedef Belirlemek, Nine'ların Matematiği ve Error Budget Policy
SLO, bugünkü ölçümden ve kullanıcı beklentisinden türetilen ve SLA'dan sıkı olan bir hedeftir; aradaki pay error budget'tır ve bittiğinde ne olacağını önceden yazılmış bir policy söyler. Bookstore checkout'u için yüzde 99,5 availability ve 800 ms latency SLO'sunu dokümana, Prometheus rule'larına ve OpenSLO'ya döküyor, nine'ları dakikaya çeviriyor ve yeni bucket ile kısa pencerenin bütçeyi nasıl yanlış gösterdiğini ölçüyoruz.
Alerting: Semptom Tabanlı Alarm, Alertmanager, Grafana Alerting, Runbook ve Alarm Yorgunluğu
Alarm, kullanıcının hissettiği semptoma kurulur ve her birinin bir runbook'u olur; sebepler page değil ticket'tır. Bookstore için burn-rate, süre, retry, telemetry yokluğu ve Watchdog alarmlarını Prometheus'ta yazıp Alertmanager ile yönlendiriyor, gruplama, silence ve inhibition'ı gerçek bir arıza üzerinde görüyor, API düştüğünde hata oranı alarmının neden sustuğunu ölçüyoruz.
Performance Testing Türleri ve Hedefler: Load, Stress, Spike, Soak, Breakpoint ve SLO'dan Kabul Kriterine
Her performance test türü ayrı bir soruya cevap verir: smoke script'in çalıştığını, average load normal günü, stress zirveyi, spike ani sıçramayı, soak saatler sonrasını, breakpoint kapasite sınırını gösterir. Kabul kriterini SLO'dan yük, süre ve sınırlarla türetiyor, Little's Law ile sanal kullanıcı sayısını hesaplıyor ve Bookstore üzerinde closed model'in yavaşlayan sistemde yükü kendiliğinden azaltıp sorunu gizlediğini gerçek k6 koşularıyla gösteriyoruz.