Ölçeklenebilir Güvenlik Anketi Otomasyonu için Bileşenlenebilir AI Mikro‑servis Mimarisi
Şirketler, giderek artan güvenlik anketleri, satıcı değerlendirmeleri ve uyum denetimleri dalgası içinde boğuluyor. Geleneksel monolitik araçlar ayak uydurmakta zorlanıyor; özellikle farklı ürün ekosistemleriyle entegrasyon, çok dilli isteklerin desteklenmesi ve gerçek zamanlı denetim izlerinin sağlanması gerektiğinde.
Bileşenlenebilir bir mikro‑servis mimarisi, büyük dil modelleri (LLM’ler) ve geri alma destekli üretim (RAG) etrafında inşa edildiğinde, otomasyonu ölçeklendirirken düzenlemeli sektörlerin talep ettiği esnekliği ve yönetişimi korumanın bir yolunu sunar. Bu rehberde:
- Sistemi güvenli, denetlenebilir ve genişletilebilir tutan temel tasarım ilkelerini özetleyeceğiz.
- Mermaid ile çizilmiş bir referans uygulamasını adım adım inceleyeceğiz.
- Her servisin Kubernetes, sunucusuz FaaS veya kenar ortamlarında bağımsız olarak nasıl dağıtılacağını göstereceğiz.
- Veri yönetişimi, gözlemlenebilirlik ve sürekli iyileştirme için somut en iyi uygulama önerileri sunacağız.
ÖZET: Anket otomasyon platformunu küçük, iyi tanımlanmış servislere bölün, LLM’leri durum‑sız çıkarım katmanının arkasına koyun ve kanıt ve sürüm kontrolü için tek bir gerçek kaynağı koruyan olay‑tabanlı boru hatlarını kullanın.
1. Neden Devasa Bir Monolit İnşa Etmek Yerine Bileşenlemek?
| Monolitik Yaklaşım | Bileşenlenebilir Mikro‑servis |
|---|---|
| Tek kod tabanı, belirli iş yüklerini (ör. LLM çıkarımı) ölçeklendirmesi zor. | Bağımsız ölçekleme – AI çıkarımı GPU düğümlerinde çalışırken depolama daha uygun maliyetli nesne depolarında kalır. |
| Sıkı bağlı yapı, güncellemeleri riskli hâle getirir; UI’deki bir hata tüm sistemi çökertir. | Asenkron olaylar ya da HTTP API’ları üzerinden gevşek bağlayıcı, hataları izole eder. |
| Dil‑agnostik entegrasyon sınırlı – genelde tek bir yığına kilitlenir. | Poliglot destek – her servis görevine en uygun dilde yazılabilir (Go kimlik doğrulama için, Python LLM orkestrasyonu için, Rust yüksek‑verimli boru hatları için). |
| Günlükler iç içe olduğu için denetleme ve uyum bir kabus olur. | Merkezi olay deposu + değiştirilemez denetim kaydı, düzenleyiciler için net, sorgulanabilir bir iz sağlar. |
Bileşenlenebilir model, “İhtiyacınız olanı inşa edin, ihtiyacınız olmayanı değiştirin” felsefesini benimser. Güvenlik anketlerinin dinamik doğasıyla eşleşir; yeni kontrol çerçeveleri (ör. ISO 27001 Rev 2) düzenli olarak ortaya çıkar ve ekiplerin hızlıca uyum sağlaması gerekir.
2. Temel Mimari Sütunlar
- Durumsuz API Ağ Geçidi – UI, SaaS bağlayıcıları ve dış araçlar için giriş noktası. Kimlik doğrulama, istek doğrulama ve hız sınırlamayı yönetir.
- Alan‑Spesifik Mikro‑servisler – Her biri sınırlı bir bağlamı kapsar:
- Anket Servisi – Anket meta verilerini, sürüm yönetimini ve görev atamalarını saklar.
- Kanıt Servisi – Değiştirilemez nesne deposunda (policy, ekran görüntüsü, denetim logları) varlıkları yönetir.
- AI Orkestrasyon Servisi – Promptları birleştirir, RAG boru hatlarını çalıştırır ve yanıt taslaklarını döner.
- Değişiklik Algılama Servisi – Kanıt güncellemelerini izler, ilgili yanıtların yeniden değerlendirilmesini tetikler.
- Bildirim Servisi – Slack, Teams ya da e‑posta olaylarını ilgili paydaşlara gönderir.
- Olay Otobüsü (Kafka / Pulsar) – Domain olaylarının (ör.
EvidenceUploaded,AnswerDrafted) en az bir kez teslim edilmesini garantiler. - Gözlemlenebilirlik Yığını – OpenTelemetry izleri, Prometheus ölçümleri ve Loki günlükleri.
- Kod‑Olarak‑Politika Motoru – Bir yanıt “final” olarak işaretlenmeden önce uyum kurallarını (Rego veya OPA ile) değerlendirir.
Tüm servisler gRPC (düşük gecikme) ya da REST (dış entegrasyon) üzerinden iletişim kurar. Tasarım, “aptal borular, akıllı uçlar” prensibini benimser—iş mantığı ilgili uçta, boru sadece mesajları taşır.
3. Veri Akışı – Sorudan Denetlenebilir Yanıta
Aşağıdaki Mermaid diyagramı, tipik bir istek yaşam döngüsünü görselleştirir.
flowchart TD
subgraph UI["Kullanıcı Arayüzü"]
UI1["\"Web UI\""] -->|Anket gönder| AG["\"API Ağ Geçidi\""]
end
AG -->|Kimlik doğrula & Doğrula| QMS["\"Anket Servisi\""]
QMS -->|Şablonu al| AIOS["\"AI Orkestrasyon Servisi\""]
AIOS -->|İlgili kanıtları getir| ES["\"Kanıt Servisi\""]
ES -->|Kanıt nesneleri| AIOS
AIOS -->|Taslak yanıt üret| RAG["\"RAG Boru Hattı\""]
RAG -->|LLM çıktısı| AIOS
AIOS -->|Taslağı sakla| QMS
QMS -->|Olay yay| EB["\"Olay Otobüsü\""]
EB -->|Tetikle| CDS["\"Değişiklik Algılama Servisi\""]
CDS -->|Kanıt değiştiğinde yeniden çalıştır| AIOS
CDS -->|Olay yay| EB
EB -->|Bildirim gönder| NS["\"Bildirim Servisi\""]
NS -->|Slack/E‑posta gönder| UI
style UI fill:#f9f,stroke:#333,stroke-width:2px
style AG fill:#bbf,stroke:#333,stroke-width:1px
style QMS fill:#bfb,stroke:#333,stroke-width:1px
style AIOS fill:#ffb,stroke:#333,stroke-width:1px
style ES fill:#fbb,stroke:#333,stroke-width:1px
style RAG fill:#fdd,stroke:#333,stroke-width:1px
style CDS fill:#ddf,stroke:#333,stroke-width:1px
style NS fill:#cfc,stroke:#333,stroke-width:1px
Akıştaki önemli adımlar:
- Kullanıcı yeni bir anket gönderir ya da mevcut bir anketi seçer.
- API Ağ Geçidi, JWT’yi doğrular, hız sınırlarını kontrol eder ve Anket Servisine yönlendirir.
- Anket Servisi, anket şablonunu alır ve AI Orkestrasyon Servisine bir olay gönderir.
- AI Orkestrasyon, geri alma adımı gerçekleştirir—İlgili kontrolle ilişkili tüm varlıkları Kanıt Servisinden (vektör benzerliği ya da anahtar kelime eşleşmesiyle) çeker.
- Çekilen bağlam ve prompt şablonu, RAG boru hattına (ör.
openAI/gpt‑4o‑preview) beslenir. - Taslak yanıt, Anket Servisine geri döner ve “inceleme bekliyor” olarak işaretlenir.
- Değişiklik Algılama Servisi, yeni kanıt yüklemelerini izler. Bir politika güncellendiğinde, etkilenmiş yanıtlar için RAG yeniden tetiklenir.
- Son inceleme yapanlar taslağı kabul ya da düzenler; kabul edildiğinde Kod‑Olarak‑Politika Motoru, yanıtın tüm kural kısıtlamalarını karşıladığını doğrular ve değiştirilemez bir denetim günlüğüne kaydeder.
4. Uygulama Detayları
4.1. API Ağ Geçidi (Envoy + OIDC)
- Yönlendirme –
POST /questionnaires/:id/answers→questionnaire-service. - Güvenlik –
questionnaire:writekapsamını zorunlu kılar. - Hız sınırlama – Her kiracı başına dakikada 100 istek, LLM maliyetlerini korur.
4.2. Anket Servisi (Go)
type Questionnaire struct {
ID string `json:"id"`
Version int `json:"version"`
Controls []Control `json:"controls"`
Drafts map[string]Answer `json:"drafts"` // anahtar = kontrol ID
AssignedTo map[string]string `json:"assigned_to"` // userID
}
- İlişkisel veri için PostgreSQL, domain olayları için EventStoreDB kullanır.
- gRPC metodları:
GetTemplate,SaveDraft,FinalizeAnswer.
4.3. Kanıt Servisi (Python + FastAPI)
- Dosyaları MinIO ya da AWS S3 içinde bucket‑seviyesinde şifreleme ile saklar.
- İçeriği Qdrant (vektör DB) içinde indeksler; benzerlik araması yapılır.
POST /searchuç noktası, bir sorgu alır ve en iyi k varlık kimliğini döner.
4.4. AI Orkestrasyon Servisi (Python)
def generate_answer(question: str, evidence_ids: List[str]) -> str:
evidence = fetch_evidence(evidence_ids)
context = "\n".join(evidence)
prompt = f"""Sen bir uyum uzmanısın.
Aşağıdaki kanıtları kullanarak soruya özlü bir yanıt ver:\n{context}\n\nSoru: {question}"""
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role":"system","content":prompt}]
)
return response.choices[0].message.content
- RAG – Vektör araması ile sistemi birleştirir, modelden kanıt kimliklerini belirtmesini ister.
- Önbellekleme – Üretilen yanıtları 24 saat saklar; tekrar LLM çağrılarından kaçınır.
4.5. Değişiklik Algılama Servisi (Rust)
EvidenceUploadedolaylarını dinler.- Yeni varlığın hash‘ini hesaplayıp mevcut kanıtla karşılaştırır; eşik aşılırsa
AnswerRequiresRegenyayar.
4.6. Bildirim Servisi (Node.js)
AnswerDrafted,AnswerFinalized,AnswerRequiresRegenolaylarını dinler.- Slack blokları, Teams Adaptive Card’ları ya da e‑posta şablonları oluşturur.
- Tekrarlama önleme – Aynı anket için bir değişiklikte yalnızca bir kez bildirim gönderir.
5. Güvenlik ve Yönetişim
| Endişe | Azaltma Yöntemi |
|---|---|
| Veri Sızıntısı – LLM promptları hassas politika metni içerebilir. | VKG içinde LLM çıkarımı (ör. Llama 3.2) VPC arkasında tutun. Kişisel verileri dış API’lara göndermeden maskeleyin. |
| Yetkisiz Kanıt Erişimi | OPA politikalarıyla ince ayarlı ACL’ler uygulayın. |
| Model Kayması – Yanıt kalitesi zamanla düşer. | Periyodik değerlendirme ve benchmark veri kümesiyle promptları yeniden eğitin. |
| Denetlenebilirlik | Tüm durum geçişleri değiştirilemez olay günlüğüne (WORM S3) kaydedilir. |
| GDPR/CCPA Uyumu | Unutulma hakkı iş akışı; kullanıcıya ait kanıtlar vektör DB ve nesne deposundan silinir (GDPR). |
| ISO 27001 Uyumu | Kanıt saklama, şifreleme ve erişim kontrol politikalarının ISO 27001 standardına uygunluğu doğrulanır. |
| HIPAA / SOC 2 | OPA kuralları, gerekli sağlık ve hizmet güvenliği korumalarını zorunlu kılar. |
6. Ölçekleme Stratejileri
- Yatay Pod Otomatik Ölçekleme (HPA) – AI Orkestrasyon pod’larını GPU kullanımına göre (nvidia.com/gpu) ölçekleyin.
- Patlama‑Kapasiteli Kuyruklar – Kafka bölümlendirmesiyle yüksek trafikli kiracıları izole edin.
- Soğuk Başlangıç Azaltma – LLM çıkarım sunucusu için KEDA ile sıcak konteyner havuzu tutun.
- Maliyet Kontrolleri – Kiracı bazlı token bütçesi uygulayın; aşımı otomatik olarak kısıtlayın ya da faturalandırın.
7. Gözlemlenebilirlik & Sürekli İyileştirme
- Dağıtılmış İz – OpenTelemetry, UI isteğinden API Ağ Geçidi → AI Orkestrasyon → RAG → Kanıt Servisi’ne kadar tüm izleri kapsar.
- Ölçümler –
answer_draft_latency_seconds,evidence_upload_bytes,llm_token_usage. - Günlük Toplama –
request_idtüm servislere yayılır; yapılandırılmış JSON günlükleri Loki‘de birleştirilir. - Geri Bildirim Döngüsü – Yanıt final edildikten sonra inceleme yorumları (
review_score) toplanır; bu veriler takviye öğrenme modeliyle prompt sıcaklığı ve kanıt seçim stratejisini ayarlar.
8. Mevcut Takımlar İçin Adım‑Adım Göç Yol haritası
| Aşama | Hedef | Faaliyetler |
|---|---|---|
| 0 – Keşif | Mevcut anket iş akışını haritalayın. | Veri kaynaklarını belirleyin, kontrol taksonomisi tanımlayın. |
| 1 – Temeller | API Ağ Geçidi, kimlik doğrulama ve temel servisleri dağıtın. | questionnaire-service ve evidence-service konteynerleştirin. |
| 2 – AI Entegrasyonu | Pilot bir ankette RAG çalıştırın. | Sandbox LLM kullanın, taslakları manuel doğrulayın. |
| 3 – Olay‑Tabanlı Otomasyon | Değişiklik Algılama boru hattını bağlayın. | Kanıt güncellemesinde otomatik yeniden üretim etkinleştirin. |
| 4 – Yönetişim Sertleştirme | OPA politikaları ve değiştirilemez denetim günlükleri ekleyin. | Üretim LLM’ye geçin (kurumsal içinde). |
| 5 – Ölçekleme & Optimizasyon | GPU podlarını otomatik ölçekleyin, maliyet kontrolleri kurun. | Gözlemlenebilirlik yığını dağıtın, SLO’ları tanımlayın. |
Adım adım bileşenlenebilir mimariyi benimseyerek, takımlar büyük bir “büyük patlama” riskinden kaçınır ve erken ROI (genellikle %30‑50 daha kısa anket yanıt süresi) gösterir.
9. Yığını Geleceğe Hazırlama
- Federated Learning – Ham kanıtları yerinde tutarken, her kiracının verileriyle hafif adaptörler eğitin; yanıt alaka düzeyini artırırken veri egemenliğini koruyun.
- Zero‑Trust Servis Ağı – Istio ya da Linkerd ile mutual TLS uygulayarak iç servis trafiğini güvenceye alın.
- Semantik Yönetişim – Kod‑Olarak‑Politika motorunu, sadece yanıt içeriğini değil, kanıt ve kontrol dilinin semantik benzerliğini de doğrulayacak şekilde genişletin.
- Üretken İzlenebilirlik – Her yanıtla birlikte LLM sıcaklığı, top‑p ve sistem promptunu saklayın; denetim incelemelerinde forensik kanıt sağlayın.
10. Sonuç
Bileşenlenebilir mikro‑servis mimarisi, güvenlik anketi otomasyonunu zor bir manuel iş yerine ölçeklenebilir, denetlenebilir ve sürekli gelişen bir motor haline dönüştürür. Sorumlulukları ayırarak, LLM’leri stateless RAG katmanının arkasına koyarak ve tüm sistemi bir olay‑tabanlı omurgayla bağlayarak, organizasyonlar:
- Satıcı değerlendirmelerine dakikalar içinde yanıt verir.
- Kanıtları otomatik olarak güncel tutar.
- Düzenleyicilere net, değiştirilemez bir denetim izi sunar.
Küçük başlayın, hızlı yineleyin ve bileşenlenebilir mikro‑servis felsefesinin, uyumu bir özellik, yük bir engelli haline getirdiği geleceğe doğru ilerleyin.
