DevOps ajanlarında insan onayı

Riskli değişiklikler nöbetçi mühendisin onayını bekler.

Ajanınız altyapıyı değiştirmeden önce sorumlu mühendis telefonundan karar verir.

Bir DevOps ajanı nöbetçi mühendisten nasıl onay alır?

Pushary nöbetçi mühendise telefonundan onay sorar. Veri tabanı geçişi, yeniden başlatma veya kapasite azaltma öncesine tek çağrı koyun. Mühendis kilit ekranından onaylar veya reddeder; ajan bekler. Süresinde yanıt gelmezse değişiklik yapılmaz. Her karar, olay incelemesinde kullanılmak üzere kişi ve zaman bilgisiyle kaydedilir.

Onay gereken işlemler

Bu çağrılar kendiliğinden çalışmamalı

runMigration(name)
Kolayca geri alınamayan bir veri tabanı geçişi gece de olsa insan kontrolü gerektirir. Ajan bu sorumluluğu kendiliğinden üstlenemez.
scaleDown(service, replicas)
Yanlış teşhis edilmiş bir sorunda kapasiteyi düşürmek yavaşlığı tam kesintiye çevirebilir.
rotateSecret(name)
Bir anahtarı değiştirmek eski değeri kullanan tüm hizmetleri bozabilir. Bunu değerlendirmek yalnızca eşik kontrolü değildir.
deleteResource(arn)
Kullanılmıyor görünen bir kaynak hâlâ kritik olabilir. Temizlik ajanı onu kontrolsüz silmemelidir.
promoteToProduction(sha)
Canlıya çıkışta hatayı artık testler değil, gerçek kullanıcılar yaşar.

Kod

Mevcut adımınıza tek bir çağrı ekleyin

Tüm ajanı değil, ilgili işlemi onaya bağlayın. Güvenli görevler kimseye sormadan devam eder.

bash
pip install pushary
tek çağrı
import os
from pushary import PusharyServer

px = PusharyServer(api_key=os.environ["PUSHARY_API_KEY"])

def remediate(incident, plan):
    # Read-only diagnosis and reversible fixes run unattended.
    if plan.reversible and plan.blast_radius == "single-pod":
        return apply(plan)

    decision = px.decisions.ask(
        external_id=incident.on_call_id,
        type="confirm",
        question=f"{plan.summary}\nBlast radius: {plan.blast_radius}. Reversible: {plan.reversible}.",
    )

    if not decision["approved"]:
        return page_secondary(incident, reason="human declined automated remediation")
    return apply(plan)

Kim karar verir

Karar vermek için masada olmak gerekmez

Nöbetçi mühendis her zaman terminal başında değildir. Sohbet kanalındaki soru ancak kanala bakıyor ve bildirimleri alıyorsa işe yarar. Aksi hâlde değişiklik beklerken sorun devam eder. Pushary, nöbet çizelgenizdeki kullanıcı kimliğiyle mühendisin telefonuna ulaşır.

Onayları zaten Slack’e gönderiyoruz. Fark ne?

Bir mesaj soruyu gösterir. Ajanın gerçekten karar beklemesi için kullanılabilir bir yanıt, zaman aşımı, yeniden başlatmalarda korunan istekler ve karar geçmişi de gerekir. Yalnızca mesaj gönderiyorsanız bu parçaları kendiniz kurarsınız. Olay sırasında düzeltme dağıtırken açık isteğin kaybolmaması özellikle önemlidir. Pushary isteği saklar ve yanıtı kodunuza döndürür. Ekibiniz Slack kullanıyorsa soru yine oraya ulaşabilir. Yanıtlar kanal geçmişine dağılmak yerine tek yerde kaydedilir. Hangi işlemlerin onay isteyeceğine sizin mantığınız karar verir; Pushary mevcut nöbet veya değişiklik politikanızı değiştirmez. Böylece onay bekleyen adımı uygulamanızdan açıkça yönetebilirsiniz.

İlgili kaynaklar: Google SRE kitabında sürüm mühendisliği ve değişiklik yönetimi.

$99/ ay, Partner planı

Ürününüze ekleyin. Kullanıcılarınız Pushary hesabı açmaz ve bize ödeme yapmaz.

What the Partner plan covers

Sık sorulan sorular

Sorularınızın yanıtları

Bekleme bir dağıtım sonrasında devam eder mi?
İstek saklanır, süreç içindeki bekleme saklanmaz. Pushary açık isteği tutar. Yeniden başlatmadan önce karar kimliğini kaydedin. Sonra imzalı webhook veya API sorgusu ile işi sürdürün.
Onay bir nöbet çizelgesine göre yönlendirilebilir mi?
Evet. Kendi çizelge mantığınız doğru kullanıcı kimliğini seçer. Yanıt gelmezse değişiklik yapılmaz ve ajanınız mevcut eskalasyon kuralınıza göre ikinci mühendise sorabilir.
Her küçük değişiklik için bildirim göndermeyi nasıl önleriz?
Geri alınabilirlik ve etki alanına göre karar verin. Kolayca geri alınabilen adımlar hemen çalışıp sonra incelenebilir. Geri dönüşü zor olanlar önce izin ister. Kısa kuyruk daha dikkatli değerlendirilir.
Denetçiye hangi kayıtları verebiliriz?
Her isteğin sorusu, gösterilen bilgiler, yanıt, kişi ve zaman saklanır. Kayıtlar sorgulanabilir ve dışa aktarılabilir: Partner Launch’ta 90, Partner Growth’ta 365 gün. Callback URL’si yanıtları kendi kanıt sisteminiz için imzalı webhook olarak da alır.

Gereken adımda kararı insana bırakın.

Kullanıcıyı bir kez bağlayın, tek çağrıyla sorun ve işlemi yalnızca onay gelirse çalıştırın. Her yanıt kaydedilir.

Start free