Doğrulanmış iyileştirmeyle döngüyü tamamlayın
TamamlandıÜretim kanıtını gereksinimlere, testlere, kontrollü değişikliklere ve ölçülmüş sonuçlara dönüştürün. Kendini iyileştiren yazılımın sorumlu bir tanımını yapın.
Yayımlayan TaigaNasıl yazıyoruz?
Neler öğreneceksiniz?
- İşletim gözlemini doğrulanabilir mühendislik değişikliğine bağlayın.
- Çalışma zamanı kurtarmasını, iş akışı iyileştirmesini ve model eğitimini ayırın.
- İddia edilen iyileştirmeyi, değerlendirmesini zayıflatmadan ölçün.
Tamamlamak istediğiniz döngüyü tanımlayın
Yazılım kullanım sırasında kanıt üretir: hatalar, gecikmeler, destek istekleri, olaylar, bakım bulguları ve tekrar eden manuel işler. Eksiksiz yaşam döngüsü, bu kanıtı mühendislik kararlarına geri taşır.
Kendini iyileştiren yazılım, otomasyonun değişiklikleri belirlemeye, önermeye, uygulamaya ve doğrulamaya yardımcı olması anlamına gelebilir. Mutlaka modelin kendini eğittiği anlamına gelmez. Hangi parçanın değiştiğini belirtin: uygulama kodu, yapılandırma, testler, talimatlar, iş akışı veya model parametreleri.
Otomatik kurtarma, bilinen bir çalışma durumunu geri getirir. Kendini iyileştirme, gelecekte daha iyi sonuç üretmek için sistemi değiştirir. İkinci iddia, karşılaştırma ve regresyonlara karşı koruma gerektirir.
Bir gözlemi yaşam döngüsü boyunca izleyin
Aşağıdaki sıra önerilen mühendislik yöntemidir. Herhangi bir ürünün her adımı otonom olarak yaptığı iddiası değildir.
| Aşama | Gerekli çıktı | Kurgusal dışa aktarma örneği |
|---|---|---|
| Gözlemle | Kapsamı ve belirsizliği olan sürümlenmiş kanıt | Büyük dışa aktarmalarda worker belleği artar |
| Teşhis et | Test edilebilir neden ve alternatif açıklamalar | Tutulan satır tamponları bellek artışını açıklayabilir |
| Tanımla | İstenen sonuç ve kısıtlar | İzinleri veya çıktıyı değiştirmeden satırları akış hâlinde işle |
| Yeniden üret | İlk hatayı ortaya çıkaran test | Temsili büyük sentetik dışa aktarma sınırı aşar |
| Değiştir | İncelenebilir düzeltme | Akış sırasında tamamlanan satır tamponlarını serbest bırak |
| Değerlendir | Eski hata giderilmiş; diğer gereksinimler korunmuş | Bellek testi, çıktı karşılaştırması, yetkilendirme ve yeniden deneme kontrolleri geçer |
| Yayımla | Kurtarma ölçütleriyle kontrollü kullanıma açma | Tanımlanmış artefaktın sınırlı dağıtımı |
| Doğrula | Karşılaştırılabilir üretim kanıtı ve sorumlu | Doğruluk ve gecikme kabul edilebilir kalırken bellek sabitlenir |
Bu çıktılar arasındaki bağlantıları koruyun. “İzlemeyi iyileştirin” diyen olay sonrası görevi doğrulamak zordur. Tanımlı sinyal, sorumlu, eşik ve test edilmiş müdahale, tamamlanmayı gözlenebilir kılar.
Değerlendirmeyi öneriden bağımsız tutun
Ajan yama oluşturabilir ve test önerebilir. Ekip, bu testlerin ilk sorunu tespit edip etmediğini yine de incelemelidir. Değişikliğin sessizce zayıflatamayacağı, sürümlenmiş değerlendirme kümesini koruyun.
Kurgusal bellek sızıntısı için eşdeğer iş yüklerini ve sürümleri karşılaştırın. Büyük dışa aktarmaları, iptali, yeniden denemeyi ve erişim reddi durumlarını dahil edin. Müşteri kayıtlarını açığa çıkarmadan ilgili veri yapılarını temsil eden sentetik veri kullanın.
Kayıtları atlayan, yetkilendirmeyi aşan veya izin verilen maliyeti geçen daha hızlı dışa aktarmayı reddedin. Bu kısıtları optimizasyondan önce tanımlayın. Aksi hâlde sistem seçilen metriği iyileştirirken hizmeti kötüleştirebilir.
Ajanın talimatlarını veya modelini değiştirirseniz davranışını temsili görevlerde ve bilinen hatalarda değerlendirin. Önceki sürümü erişilebilir tutun. Talimatları güncellemek, temel modelin olaydan öğrendiğinin kanıtı değildir.
Sonucu yayımlayın ve ölçün
Canary yayını, aday sürümü sınırlı kullanıcı grubuna açar. Aday ve kontrol sinyallerini karşılaştırın; ne zaman genişletileceğini veya durulacağını tanımlayın. Düşük trafik veya farklı iş yükleri, karşılaştırmayı sonuçsuz bırakabilir. Canary rehberi.
Kurgusal ekip, sabit sentetik iş yükünden başlangıç ölçümü kaydeder. Düzeltmeyi test eder, onaylı sınır içinde yayımlar ve karşılaştırılabilir üretim dönemlerini kontrol eder. Kanıt yetersiz kalırsa kazanım ilan etmek yerine belirsizliği kaydeder.
Tekrar eden manuel işi de ölçün. Otomasyon angaryayı azaltabilir, ancak bakım ve hata işleme gerektirir. Sonucu değerlendirirken bu maliyetleri dahil edin. Tekrarlanan manuel iş rehberi.
Geri bildirim kaydını kullanılabilir kılın
Alıştırmada şu alanları kullanın: gözlem ve sürüm; başlangıç ölçümü; önerilen neden; kabul ölçütleri; regresyon kontrolleri; değişiklik ve inceleme; yayın sınırı; ölçülmüş sonuç; sorumlu ve sonraki inceleme.
Taiga Maintaining, kod deposu bulgularını giderme işine bağlar. Initiatives, amaçlanan değişikliği planlamaya ve teslimata bağlar. Bunlar kanıt zincirinin parçalarını sağlar. Hizmet sorumlunuz dağıtımı ve işletim sonucunu hâlâ doğrulamalıdır. Maintaining, Initiatives.
Olgun bir yazılım fabrikası bu işi ürünler arasında bağlar. Otomasyon arttıkça karar haklarını ve değerlendirme ölçütlerini görünür tutun. Son kanıt, üretilen değişiklik sayısının artması değil, iyileştiği doğrulanmış hizmettir.
Alıştırmayı yapın
Kurgusal bellek sızıntısı için bu dersteki geri bildirim kaydını tamamlayın. Başlangıç ölçümü, kabul testi, regresyon kontrolleri, yayın sınırı, üretim ölçümü ve sorumlu tanımlayın. Daha hızlı ama doğruluğu daha düşük dışa aktarmayı reddeden bir kural ekleyin.
Çalışma sayfasını indir (Markdown)Anladığınızı kontrol edin
Kaynaklar ve ek okumalar
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗
Taiga'dan ilgili okumalar
Bu seçimi kaldırmak, bu tarayıcıda kaydedilmiş tüm ilerlemeyi siler.
İlerleme bu tarayıcıda kalır. Hesap ve takip yok.