1 puan yazan GN⁺ 2023-09-11 | 1 yorum | WhatsApp'ta paylaş
  • 2012'de küresel büyük bir finansal hizmetler şirketi olan Knight Capital Group'un ibretlik hikâyesini ele alan makale; başarısız bir yazılım dağıtımı nedeniyle 45 dakika içinde iflasa sürüklenen bir vakayı anlatıyor.
  • 2012'de Knight Capital Group, günlük ortalama 3,3 milyardan fazla işlem hacmiyle ve her gün 21 milyar doların üzerinde işlem yaparak ABD hisselerinin en büyük işlemcisiydi.
  • Şirket, NYSE'nin yeni Retail Liquidity Program lansmanına hazırlanırken otomatik yüksek hızlı algoritmik yönlendiricisi SMARS'ı güncelledi.
  • Bu güncelleme, Knight'ın 8 yıldır kullanmadığı "Power Peg" adlı eski ve kullanılmayan kodun yerini almak içindi.
  • Yeni kod 8 sunucuya elle dağıtıldı; ancak bir teknisyenin hatası nedeniyle bir sunucuya yeni kod kopyalanmadı ve eski Power Peg kodu etkinleşti.
  • Power Peg işlevi, üst siparişe ait hisse sayısını takip etmeden alt siparişleri yürütmek için yönlendirmeye başlayınca siparişlerde sonsuz döngü oluştu.
  • Piyasa açıldığında Knight'ın sistemi piyasayı emirlerle doldurdu; bazı hisseler değerinin %10'undan fazla yükselirken, diğer hisseler hatalı işlemlere tepki olarak düştü.
  • Knight'ın sistemi, SMARS'a atıfta bulunan ve hatayı "Power Peg disabled" olarak tanımlayan 97 otomatik e-posta mesajı gönderdi; ancak bunlar sistem uyarısı olarak tasarlanmamıştı ve hemen fark edilmedi.
  • İşlemlerin başladığı 45 dakika boyunca Power Peg kodu 212 üst siparişi işledi ve 154 hisse için 4 milyon işlemi yürüterek 397 milyondan fazla hisseyi işleme aldı.
  • Knight Capital Group 45 dakika içinde 460 milyon dolar zarar etti ve bunun sonucunda iflasa sürüklendi. Zararı karşılamak için gereken sermayeyi yarım düzine yatırımcıdan gelen 400 milyon dolarlık yatırımla topladılar.
  • Makale, bu tür büyük başarısızlıklardan kaçınmak için dağıtımların tamamen otomatik ve tekrarlanabilir hale getirilmesinin önemini vurguluyor; bu da DevOps/Continuous Delivery planının bir parçası.
  • Yazar, yazılım sürümlerinin tekrarlanabilir ve güvenilir bir süreç olması gerektiğini, insan hatası riskini azaltmak için mümkün olduğunca otomatikleştirilmesi gerektiğini öne sürüyor.

1 yorum

 
GN⁺ 2023-09-11
Hacker News görüşleri
  • Otomatik dağıtım sorunu engelleyememiş olabilir; hatta uyumsuz kod nedeniyle sorunu büyütmüş de olabilir.
  • Otomatik işlem sistemlerinde yerleşik bir kill switch bulunmalı ve bunun çalıştığı düzenli olarak test edilmelidir.
  • Sürekli dağıtım sistemi, ölümcül bir arızaya yol açan mantık hatası olan bu bug'ı engelleyememiş olabilir.
  • "Knight Capital yapmak" ifadesi, nicel finansta kritik sistemlerde kestirme yollar kullanıp sonuçlarına katlanmayı anlatan bilinen bir terimdir.
  • Yüksek frekanslı alım satım, işlerin ne kadar hızlı ters gidebileceğinin uç bir örneğidir.
  • Büyük ölçekli satış hacmini işleyen sistemlerde, riski azaltmak için manuel süreçler, rollback adımları ve feature flag'ler bulundurmak önemlidir.
  • Knight Capital olayı, tüm işlemleri durduran veya manuel müdahale için uyarı veren otomatik SCRAM sisteminin görmezden gelinmesinin sonucuydu.
  • Kod tabanında 8 yıl boyunca ölü kod bulunması bir risk göstergesidir; bu da aktif bakım çalışmalarının yetersiz olduğunu gösterir.
  • Konfigürasyon ve binary'ler aynı anda rollout edilseydi, bu tür bir sorun önlenebilirdi.
  • Eski flag'leri yeniden kullanmak kritik bir hataydı ve dağıtımda doğru pratiklerin önemini vurguluyor.