On-premise yük testi: kendi altyapınızda, verileriniz ağınızda
Spitfire kendi sunucularınızda çalışan bir yük testi ve performans testi platformudur. Controller, veritabanı ve yükü üreten runner'lar sizin veri merkezinizde, özel bulutunuzda ya da AWS/Azure VPC'nizde durur. Test tanımları, bağlantı bilgileri ve sonuçlar ağınızdan çıkmaz.
Neden yük testini kendi altyapınızda koşturmalı
Bir yük testi sistemin en hassas parçalarına dokunur: giriş akışları, ödeme API'leri, veritabanları, Kafka topic'leri. Test tanımında adresler, kullanıcı adları, token'lar, bazen de gerçek veriye benzeyen kayıtlar bulunur. Sonuçlar ise sistemin nerede, hangi yükte zorlandığını gösterir. Bunların kurum dışındaki bir hizmete gitmesi, birçok kurumda güvenlik ve uyum incelemesinden geçmesi gereken bir konudur.
On-premise kurulumda bu soru baştan kalkar. Ayrıca yük ağın içinden üretildiği için internete açık olmayan iç servisleri, veritabanlarını ve mesaj kuyruklarını da doğrudan test edebilirsiniz; test ortamını dışarıya açmanız gerekmez.
Veriler ağınızda kalır
- Controller, Postgres veritabanı ve runner'lar sizin sunucularınızda çalışır.
- Test tanımları, veri dosyaları, bağlantı bilgileri ve sonuçlar Spitfire'a ya da üçüncü taraflara gönderilmez.
- Bağlantı parolaları, token'lar ve istemci sertifikası anahtarları veritabanında AES-256-GCM ile şifreli durur; testler bağlantıyı adıyla kullanır, parolayı hiç görmez.
- Saklama sürelerini siz belirlersiniz: saniyelik veri, koşu log'ları ve hata örnekleri için bir süre, koşuların kendisi için ayrı bir süre (en az 7 gün), denetim kaydı için bir süre (en az 30 gün).
Lisans çevrimdışı doğrulanır
Lisans anahtarı imzalıdır ve kurulumun içinde, internete çıkmadan doğrulanır; "eve telefon eden" bir lisans sunucusu yoktur. Bu yüzden Spitfire internete kapalı (air-gapped) ağlarda da çalışır. Ürünün kendiliğinden yaptığı tek dış bağlantı, günde bir kez spitfire.tr'deki imzalı sürüm listesini okumaktır; SPITFIRE_UPDATE_CHECK=off ile kapatılır.
Test süresi, sanal kullanıcı saati ya da metrik hacmi için ayrıca ödemezsiniz: yükü kendi sunucularınızda üretirsiniz, lisans fiyatı sabittir.
Runner'lar sizin altyapınızda: Docker, Kubernetes, Windows
Kurulum tek komuttur. Tek makinede Docker ile Postgres, controller, web arayüzü ve iki runner birlikte kalkar:
curl -fsSL https://spitfire.tr/install.sh | bash -s -- dockerkubernetes modu aynı kurulumu geçerli kubectl bağlamına yapar. Pod'lar root olmadan, salt okunur kök dosya sistemiyle, yetkisiz (capability'siz) ve RuntimeDefault seccomp profiliyle çalışır; NetworkPolicy'ler Postgres'e yalnız controller'ın, iç runner portuna yalnız kurulumun kendi runner'larının erişmesine izin verir.
- İsteğe bağlı runner'lar (Kubernetes). Sürekli açık yük üreteci tutmak istemezseniz bir koşu boştaki runner'lardan fazlasını istediğinde controller eksikleri aynı imajdan pod olarak başlatır, koşu bitince siler.
- Başka lokasyonlardan yük. Uzak bir şehirdeki ya da başka bir bulut bölgesindeki sunucuya tek komutla runner kurulur (Docker'la ya da Docker'sız, systemd ya da Windows hizmeti olarak). Bir koşunun yükü lokasyonlara yüzdeyle bölünür.
- Gelen port yok. Uzak runner'lar controller'a dışarı doğru bağlanır; bağlantı TLS ile kurulur ve runner controller'ın anahtarını SHA-256 pin'iyle doğrular. Runner'lar kuruluma iptal edilebilir bir token'la katılır.
- İmzalı güncellemeler. Sürümler Ed25519 ile imzalanır; runner'lar yeni bir sürümü çalıştırmadan önce imzasını doğrular. Kurulum komutunu yeniden çalıştırmak yerinde günceller; sürüm değişiyorsa önce veritabanını yedekler.
Kurumun kurallarıyla: kimlik, yetki, denetim
Kullanıcılar kurum kimliğiyle girer: OpenID Connect (Entra ID, Okta, Google, Keycloak) ya da LDAP / Active Directory. Roller ve gruplar kimlik sağlayıcıdan eşlenir; kullanıcılar yalnız kendi gruplarının testlerini görür ve test koşturmak grup başına ayrı bir haktır. Değiştirilemez denetim kaydı kimin neyi, ne zaman ve nereden yaptığını tutar ve CSV olarak dışa aktarılır. Canlı ortama dokunan testlerde SQL ve MongoDB yazmaları, tehlikeli Redis komutları ve veri değiştiren HTTP istekleri işaretlenir; başlatan kişi listeyi görüp onaylamadan koşu başlamaz.
SSO ve denetim kaydının okunması ücretli planlarda; bütün test özellikleri ve protokoller ücretsiz sürümde de açık.
Kurulumdan sonra
Test web editöründe kod yazmadan kurulur; HTTP, gRPC, WebSocket, Kafka, SQL, MQTT, AMQP, Redis ve MongoDB yerleşiktir. Aynı kurulum canlı ortamdaki kullanıcı akışlarını düzenli kontrol eden sentetik izlemeyi ve sisteminizin kendi trace, metrik ve log'larını yük basamaklarıyla hizalayan OpenTelemetry bağlantısını da içerir; bunlar da sizin ağınızda çalışır.
Sık sorulanlar
Spitfire internete kapalı (air-gapped) bir ağda çalışır mı?
SPITFIRE_UPDATE_CHECK=off ile kapanır.Test sonuçları ya da bağlantı bilgileri Spitfire'a gönderiliyor mu?
Spitfire KVKK uyumlu mu?
Runner'lar için güvenlik duvarında port açmam gerekir mi?
Spitfire tek komutla Docker'a ya da Kubernetes'e kurulur; ücretsiz sürümde bütün test özellikleri ve protokoller açıktır.