Trafo Duyurusu
giriiş
Yüksek düzeyde yapılandırılabilir, bakım gerektirmeyen ve uygun maliyetli veri boru hatları oluşturmak için açık kaynaklı bir araç seti olan Substation'ın piyasaya sürüldüğünü duyurmaktan heyecan duyuyoruz . Trafo merkezi, her güvenlik ekibinin sahip olduğu ancak çok azının fark edebileceği bir sorunu çözer: güvenlik olayı verilerini ölçekte normalleştirme, ilişkilendirme ve zenginleştirme ihtiyacı.
Neden Trafo Merkezi İnşa Ettik?
Brex'in Tespit ve Yanıt ekibi, düzinelerce benzersiz güvenlik olayı kaynağının ve veri setinin veri işleme gereksinimlerini yönetmemizi sağlayan, az bakım gerektiren, ölçeklenebilir bir çözüme ihtiyaç duyuyordu. Amacımız, herhangi bir veri kümesi için yeniden kullanılabilen, herhangi bir olay hacmine ölçeklenebilen ve kurulumu ve bakımı kolay bir çözüm oluşturmaktı.
Trafo Merkezi'nin kapsayıcı hedefi, güvenlik ve gözlemlenebilirlik ekiplerinin minimum operasyonel yük ile olay günlükleri üzerinde kontrol sahibi olmalarını sağlamaktır. Çoğu güvenlik platformu (örn. SIEM ), veri kalitesini yönetmek isteyen ekipler için çok az seçenek sunar . En iyi ihtimalle, olaylar platforma alındıktan sonra kullanıcılara basit veri dönüşümleri yapma yeteneği verebilirler. Ekipler yüksek kaliteli veriler istiyorsa, karmaşık dağıtılmış sistemleri devreye almak ve sürdürmek için genellikle mühendislik ve operasyonel kaynaklara yatırım yapmaları gerekir.
Ekibimiz, üretimde 15 aydan uzun bir süredir Substation'ı kullanıyor ve şimdi bunu açık kaynak güvenlik topluluğuyla paylaşmanın doğru zamanı olduğunu düşünüyoruz. Her ekibin farklı bir "ölçekte" tanımı olduğundan, bunu nasıl kullandığımızı açıklamaya yardımcı olması için aşağıda dahili konuşlandırmamızdan bazı rakamlar verilmiştir:
- TB başına 30-40 USD değişken maliyetle her gün 5 terabayttan (TB) fazla veri işleyin
- Saniyede 100.000'den fazla olayı (EPS), 200.000'den fazla EPS'yi aşan zirvelerle sürdürün
- Dakikalar içinde 100'lerce benzersiz kaynakla yeni veri işlem hatlarını devreye alın
- Her biri benzersiz tasarımlara ve yapılandırmalara sahip 30 veri hattını yönetin
- Operasyon ve bakım için haftada 1 saatten daha az zaman ayırın
Trafo merkezi kendisini diğer veri boru hattı çözümlerinden birkaç yönden ayırır:
- Tamamen sunucusuz — asla bir sunucuyu yönetmeyeceksiniz veya bir kümeyi boyutlandırmayı düşünmeyeceksiniz
- Ölçek için tasarlandı — sistem saniyede 10'dan 100.000'den fazla olaya ölçeklenir ve bunu bir mühendis müdahalesi gerektirmeden otomatik olarak yapar.
- Kod olarak altyapı ve yapılandırmalar — Terraform , Jsonnet ve AWS AppConfig kullanıyoruz ; bu, benzersiz, yeniden kullanılabilir veri hatlarını dakikalar içinde dağıtabileceğiniz anlamına gelir
- Uygun maliyetli — Go'da Kinesis Yapımcı ve İstemci Kitaplıklarının uyumlu, minimal bir sürümünü oluşturmak da dahil olmak üzere, her şeyi karşılanabilir hale getirmek için fazladan yol kat ettik
- Genişletilebilir - Kendi özel veri işleme sistemlerinizi oluşturabilmeniz için Trafo Merkezi çekirdeğini Go paketleri olarak kullanıma sunuyoruz
Trafo merkezi, bir arada iki çözümdür: olay güdümlü, akışlı bir veri boru hattı sistemi ve özel veri işleme sistemleri oluşturmaya yönelik bir pakettir.
Bir veri boru hattı sistemi olarak, Trafo Merkezi şu özelliklere sahiptir:
- Gerçek zamanlı olay filtreleme ve işleme
- Veri kümeleri arası olay korelasyonu ve zenginleştirme
- Aşağı akış sistemlerine eşzamanlı olay yönlendirme
- Genişletilebilirlik için oluşturulmuş kapsayıcılar üzerinde çalışır
- Yeni olay filtreleri ve işlemciler
için destek - Yeni alım kaynakları ve yükleme hedefleri için destek
- Özel uygulamaların oluşturulmasını destekler (ör. çoklu bulut)
- Yapılandırılmış ve yapılandırılmamış verileri değerlendirin ve filtreleyin
- JSON olarak gelen, gelen ve yerindeki verileri değiştirin
Bu tasarım deseni, ham ve işlenmiş verilerin depolanmasını destekler ve işlenmiş verileri aynı anda birden çok hedefe yükler.
Proje, diğer kullanım durumlarını da destekler. Aşağıda gösterilen her veri ardışık düzeni, bugün nelerin inşa edilebileceğinin bir örneğidir:
Yüzlerce benzersiz tasarım permütasyonu vardır ve bunların tümü tamamen Terraform ve Jsonnet yapılandırmaları aracılığıyla kullanıcılar tarafından kontrol edilir. Bugün proje şu veri alma ve yükleme seçeneklerini sunuyor:
- AWS API Ağ Geçidi (alma)
- AWS DynamoDB (yük)
- AWS Kinesis Veri Akışları (alma ve yükleme)
- AWS Kinesis Firehose (yük)
- AWS S3 (alma ve yükleme)
- SNS aracılığıyla AWS S3 (alma)
- AWS SNS (alma)
- AWS SQS (alma ve yükleme)
- HTTP (yük)
- Standart çıktıya yazdır (yükle)
- Sumo Mantığı (yük)
Trafo Merkezinin en büyük avantajlarından biri, veri boru hattı sisteminin, bir mühendis müdahalesi olmadan kaynakları otomatik olarak ölçeklendirerek altyapı ve işletme maliyetlerini en aza indirmesidir. Bunu Brex'te her gün görüyoruz ve genellikle çalışan, sistem ve kullanıcı etkinliğindeki değişikliklerle ilişkilendiriliyor. İşte bir örnek:
Brex'te normal bir hafta, kaynaklarımızın birlikte ölçeklendiği aktivite zirveleri ve vadileri yaratır, ancak bazen planlanmamış şeyler olur ve zirveler gerçekten çok yükselir. Haziran ortasında bir gün olay işleme metrikleri panomuzu kontrol ettim ve şunu gördüm:
Bunu görmek zor ama etkinlik hacmimiz birkaç saatlik bir sürede 10 kat arttı ve bir saatin altında 4 kat arttı . Bu artışın ölçeği, geleneksel veri boru hattı sistemlerini mahvedebilir ve muhtemelen bellek, CPU ve olay kaybı alarmlarının hepsinin aynı anda tetiklenmesi nedeniyle bir olaya neden olabilir, ancak bizim için bu bir olay değildi ve bunun yerine neyin eğlenceli olduğunu merak ediyorduk. kaçırmıştık.
Gelecek iş
Trafo merkezi aktif geliştirme aşamasındadır ve sürümler için semantik sürüm oluşturmayı kullanır . Paylaşacak bir yol haritamız olmasa da, 2023'te projeyle şu fırsatları keşfetmekle ilgileniyoruz:
- Hem veri boru hattı sistemi hem de genel paket için veri zenginleştirme işlevleri
- Bulutlararası işlevsellik dahil olmak üzere birden fazla bulut hizmeti sağlayıcısı için destek
- AppConfig'te yapılandırma doğrulaması ve otomatik geri alma
- Eşzamansız veri alımı sırasındaki hatalar için otomatik kurtarma (örn. S3)
- Verileri batırmak için ölçeklenebilir, idempotent üreticiler
Bu kadar büyük açık kaynak projeleri tek başına oluşturulmaz, bu nedenle projeye katkıda bulunan ve projeyi mümkün kılan Brex*'teki herkese ve henüz tanışmadığımız gelecekteki tüm ortak çalışanlara teşekkür ederiz!
* Brex proje ekibine ve katkıda bulunanlara özel teşekkürler:
- Josh Liburdi (proje ekibi lideri, çekirdek mimar ve mühendis)
- Julie Agnes Sparks (proje ekibi, belgeler, kod incelemesi)
- Parsa Attari (dokümantasyon, kod incelemesi)
- Jake Miller (kod katkıları)
- Ben Morris (güvenlik incelemesi)
- Dan Gilmartin (mimari inceleme)
- Mike Ruth (mimari inceleme)

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































