Elchi vs go-control-plane üzerine kendiniz kurmak.
Envoy yapılandırması kendi platform modelinizden üretilmek zorundaysa ve bir Go ekibi o control plane’in yıllarca sahibi olabilecekse go-control-plane üzerine kurun. Control plane’in kendisini hazır istiyorsanız Elchi’yi seçin: tipli yapılandırma, doğrulama, taslak ve yayınlama, audit, RBAC, birden fazla Envoy sürümü ve bir edge agent; böylece mühendisleriniz araçlarla değil trafikle uğraşır.
Kriter kriter Elchi ve kendi kurduğunuz control plane
| Kriter | Elchi | go-control-plane üzerine kendi control plane’iniz |
|---|---|---|
| Envoy nerede çalışır | elchi-client agent’ın Envoy’u çalıştırdığı Linux edge sunucular (Ubuntu 24.04) veya Elchi OS appliance’ları. Control plane; Kubernetes (Helm), Docker Swarm veya bare-metal Linux üzerine kurulur. Kubernetes servisleri discovery agent ile upstream olarak kullanılabilir. | Nerede çalışacak şekilde kurarsanız orada. Kütüphane, sunucunuza erişebilen her Envoy’a xDS sunar; Envoy’u sunuculara yerleştirmek size kalır. |
| Yapılandırma modeli | Her Envoy sürümünün protobuf’larından üretilen tipli formlar; listener, route, cluster, endpoint, secret, filtre ve bootstrap dahil her kaynak için. Her değişiklik editörde ve sunucuda tekrar doğrulanır. Script ve CI için bir REST API ile token kapsamlı bir automation API vardır. | Go kodu. Kendi kaynak modelinizi Envoy protobuf’larına siz çevirirsiniz; README, projenin platforma özgü gösterimleri Envoy yapılandırmasına çevirmediğini söyler. |
| Aynı anda birden fazla Envoy sürümü | Evet. Her Envoy sürümü için bir control-plane varyantı çalışır; registry her proxy’yi eşleşen varyanta yönlendirir. Listener upgrade, bağımlılıkları yeni sürüme kopyalar ve Envoy’u hot restart ile değiştirir (Elchi’nin uçtan uca testinde 20 req/s altında 0 düşen istek). | Go proto’ları her commit’te upstream Envoy’dan senkronlanır. Aynı anda birden fazla Envoy sürümüne hizmet vermek, sizin kurup sürdüreceğiniz bir tasarımdır. |
| Yayınlama iş akışı ve denetim | Taslak, kaydet ve yayınla; yayınlama yeni bir xDS snapshot’ı gönderir ve Envoy bunu yeniden başlatmadan uygular. Her değişiklik önce/sonra ayrıntısıyla değiştirilemez bir audit trail’e yazılır ve RFC5424 syslog ile bir SIEM’e iletilebilir. | Snapshot cache, her proxy grubu için tutarlı bir yapılandırma görünümü tutar. Taslaklar, inceleme, göndermeden önce doğrulama ve audit log sizin kuracaklarınızdır. |
| WAF | Shield (API Security eklentisi): her edge sunucuda çalışan bir ext_proc sidecar; Coraza ve OWASP Core Rule Set yerleşiktir ve kimlik doğrulama, rate limiting, bot savunması gibi on iki motordan biridir. Politikalar detect’ten block’a kademeli geçer. | Sizin kuracağınız veya entegre edeceğiniz bir parça. |
| GSLB | GSLB eklentisi: DNS tabanlı yönlendirme. Controller bir kaydın arkasındaki her IP’yi HTTP, HTTPS veya TCP ile yoklar; bir CoreDNS eklentisi yalnızca sağlıklı hedefleri döner. | Sizin kuracağınız veya entegre edeceğiniz bir parça. |
| API keşfi | API Discovery eklentisi: Envoy erişim log’larından pasif olarak oluşturulan bir envanter; kimlik doğrulama ve PII işaretleri, gölge endpoint’ler ve OpenAPI spec’lerinize göre sapma. İsteklerin yolunda hiçbir zaman bulunmaz. | Sizin kuracağınız veya entegre edeceğiniz bir parça. |
| Sunuculardaki agent ve kurulum | Her sunucudaki elchi-client controller’a dışarı doğru bağlanır (gelen bağlantı dinlemez), Envoy’u indirir, deploy edilen her listener’ı bir systemd servisi olarak çalıştırır; ağ, BGP/FRR ve log gönderimini yönetir. | Yok. Envoy’u sunuculara kurmak, bootstrap etmek, yükseltmek ve izlemek size kalır. |
| RBAC ve çok kiracılılık | Projeler ekipleri, ortamları veya müşterileri birbirinden ayırır. Dört rol (Owner, Admin, Editor, Viewer), LDAP/Active Directory girişi ve TOTP iki adımlı doğrulama. | Yok. Kimlik doğrulama, yetkilendirme ve çok kiracılılığı siz kurarsınız. |
| Lisans ve maliyet modeli | Ticari lisans; yönetilen client (edge node) sayısına ve ürüne göre boyutlanır: Core artı API Security, API Discovery ve GSLB eklentileri. Ücretsiz seviye: lisans gerekmeden bir yönetilen client ile Elchi Core. | Açık kaynak (Apache 2.0). Maliyet, control plane’i kurmak ve işletmek için harcanan mühendislik zamanıdır. |
| İşlettiğiniz bileşenler | Controller, Control-Plane ve Registry ile MongoDB, ClickHouse, VictoriaMetrics/Grafana ve bir OTel Collector; hepsi tek bir :443 ön kapının arkasında. Her edge sunucuda elchi-client (kullanılıyorsa Shield de). | Go servisinizin içinde bir gRPC xDS sunucusu ve cache’ler (snapshot, linear ve mux). Depolama, API, arayüz ve agent’lar sizin seçip işleteceğiniz eklemelerdir. |
Kütüphanenin verdikleri ve dışarıda bıraktıkları
go-control-plane, birçok özel Envoy control plane’inin üzerine kurulduğu Go kütüphanesidir. xDS API’leri için bir gRPC sunucusu, proxy grupları için yapılandırma tutan cache’ler (snapshot cache, linear cache ve bir mux birleştirici) ve Envoy proto’larından senkronlanan Go tipleri sağlar. README kapsamı açıkça söyler: bir Envoy filosu için eksiksiz bir control plane olmaya çalışmaz ve platformunuzun kaynaklarını Envoy yapılandırmasına çevirmez.
O çeviri katmanı ve etrafındaki her şey, kurmanız gereken kısımdır. Production’daki bir control plane genellikle istenen durum için bir depo, göndermeden önce doğrulama, değişiklikleri hazırlama, inceleme ve yayma yolu, bir audit trail, erişim kontrolü, Envoy’u sunuculara kurma ve yükseltme yolu ve her yeni Envoy sürümü için bir plan ister. Elchi’nin kendi control plane’i, go-control-plane’in Envoy sürümü başına üretilen bir build’i üzerine kuruludur; Elchi ile aldığınız, bu listenin geri kalanıdır: entegre edilmiş ve birlikte test edilmiş olarak.
Ne zaman go-control-plane üzerine kurmalısınız
- Envoy yapılandırması kendi iç modelinizden (bir servis kataloğu, bir deployment sistemi, özel bir CRD) türetilmeli ve arada UI tabanlı bir iş akışı bulunmamalı.
- Bir control plane’in uzun vadeli sahibi olabilecek Go mühendisleriniz var: Envoy sürümleri, API değişiklikleri, testler ve nöbet.
- Envoy API’sinin yalnızca küçük bir kısmına ihtiyacınız var (örneğin birkaç cluster için endpoint’ler) ve odaklı bir servis bir platformdan daha basit.
- Control plane, tamamen sahibi olduğunuz ve değiştirebileceğiniz açık kaynak (Apache 2.0) kod olmalı.
Elchi ne zaman uygun
- Kapsamı özellik özellik büyütmek yerine, ilk günden her sürümün proto’larından üretilen formlarla tüm Envoy API’sini istiyorsunuz.
- Değişiklikler, kurması pahalı korkuluklar istiyor: editörde ve sunucuda doğrulama, taslak/kaydet/yayınla, değiştirilemez bir audit trail ve proje başına roller.
- Envoy’un Linux sunuculara kurulması ve yükseltilmesi, listener’ların istek düşürmeden Envoy sürümleri arasında taşınması gerekiyor.
- Önemli kısımları (endpoint drain, blue/green EDS geçişi) sunucunun tamamına sahip olmak yerine token kapsamlı bir API ile otomatikleştirmek istiyorsunuz.
- WAF, API keşfi ve GSLB aynı control plane’de, lisanslı eklentiler olarak bulunmalı.
Devamını okuyun
Bu sayfadaki iddiaların dayandığı Elchi dokümanları ve sözü geçen ürünler.
Dokümantasyon
Diğer karşılaştırmalar
Kendi filonuzda görün.
Envoy’larınızın nerede çalıştığını ve üzerlerinde neyi değiştirmeniz gerektiğini anlatın. Ürünü sizinkine benzer bir kurulumda gösterelim ya da bir yönetilen client ile ücretsiz seviyede başlamanıza yardım edelim.
Kaynaklar
Diğer projelerle ilgili bilgiler, aşağıdaki tarihte kontrol edilen resmi dokümanlarından ve depolarından alınmıştır. Elchi bilgileri Elchi dokümantasyonundan gelir.
Son inceleme: