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.
pip install pusharyimport 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.
Ürününüze ekleyin. Kullanıcılarınız Pushary hesabı açmaz ve bize ödeme yapmaz.
Sık sorulan sorular
Sorularınızın yanıtları
Bekleme bir dağıtım sonrasında devam eder mi?
Onay bir nöbet çizelgesine göre yönlendirilebilir mi?
Her küçük değişiklik için bildirim göndermeyi nasıl önleriz?
Denetçiye hangi kayıtları verebiliriz?
Diğer ürünlerde insan onayı
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