Denis GukovSemaphore UI Kurucusu ve Teknoloji Direktörü
15 dk okuma
Gaia ve Semaphore UI, altyapı otomasyonu için web arayüzü sunar. Gaia, Terraform modülleri ve stack’lerden oluşan self servis katalog sağlar. Semaphore UI ise Terraform/OpenTofu’yu Ansible, Terragrunt, Bash, PowerShell ve Python ile birlikte çalıştırarak altyapı sağlamayı ve sonrasındaki işlemleri kapsar. Bu karşılaştırma Gaia 2.4.0 ve Semaphore UI 2.20.0 sürümlerini ele alır.
Bu makaleyi yapay zekâyla tartış
Genel bakış
Bir Terraform modülü ortam oluşturabilir ancak bu süreci paylaşmak apply çalıştırmaktan fazlasını gerektirir. Kullanıcılar doğru girdileri sağlamalı, uygun kimlik bilgilerini kullanmalı ve ortaya çıkan durum ile çıktıları bulabilmelidir. Ardından sunucular ve hizmetler yapılandırma, yedekleme, güncelleme ve başkalarının tekrarlayabileceği bir operasyon prosedürü gerektirir.
Gaia, altyapı sağlama bölümünü Terraform hizmet kataloğu olarak sunar. Yazarlar modülleri yayımlar, kullanıcılar ayrı yapılandırılmış stack’ler oluşturur ve işler kaynakları planlar, uygular veya kaldırır. Her stack, tek bir altyapı örneği için kendi değişkenlerini, kimlik bilgilerini, durumunu ve yürütme geçmişini tutar.
Semaphore UI, altyapı sağlamayı daha geniş bir otomasyon hizmetine taşır. Terraform/OpenTofu şablonları çalışma alanlarını, yeniden kullanılabilir değişkenleri ve başlatma formlarını kullanabilir. Ansible şablonları envanter ve host yapılandırmasını ekler. Bash, PowerShell, Python ve Terragrunt işlemleri aynı proje ve yürütme modelini kullanır. İş akışları adımları bağlar, zamanlamalar ise sonraki bakımı aynı arayüzde tutar.
Semaphore UI. Hazırlanmış Ansible, kod olarak altyapı ve komut satırı işlemleri projenin görev listesini paylaşır.
Gaia. Modül örneği, kendi girdileri, işleri ve state’i olan bir stack olarak yönetilir. Resmî dokümantasyon örneği. Kaynak
Kısa karşılaştırma
Her iki ürün de kullanıcıların kurulumu her dizüstü bilgisayarda yeniden oluşturmadan altyapı kodu çalıştırmasını sağlar. Temel fark, ortak hizmetin neleri yönettiğidir: Terraform modül kataloğundan altyapı sağlamaya, Ansible yapılandırmasına ve tekrarlanan operasyonlara kadar.
Mevcut backend’ler veya Pro’da yerleşik HTTP backend’i
Yerleşik stack durum backend’i
Girdiler
Anket formları, yeniden kullanılabilir değişken grupları ve gizli bilgiler
Modül değişkenleri, varsayılanlar ve doğrulama
Envanter
Yeniden kullanılabilir Ansible tanımları ve keşif eklentileri
Stack başına Terraform kaynakları ve çıktıları
Erişim denetimi
Proje rolleri, Enterprise ile özel roller
Yönetici ve kullanıcı rolleri, kuruluş bazlı modül erişimi
Kimlik bilgileri
Key Store ve harici gizli bilgi depoları
Bulut kimlik bilgileri, isteğe bağlı Vault entegrasyonu
Lisans
MIT lisanslı Community, ticari Pro ve Enterprise
MPL 2.0 lisanslı açık kaynak
Gaia, onaylanmış modülü ve ayrı stack örneklerini birlikte tutar. Yerleşik Terraform durum depolaması açık kaynak projeye dâhildir. Semaphore UI, işlemleri ekibin mevcut araç ve yapılandırmaları etrafında hazırlar. Böylece altyapı sağlama işi, ortamın ömrü boyunca kullanılan Ansible playbook’ları ve bakım işleriyle aynı arayüzü paylaşabilir.
Bu geniş kapsam her işin iş akışına dönüşmesini gerektirmez. Bir ekip arkadaşı hazırlanmış yedekleme veya hizmet yeniden başlatma işini bağımsız başlatabilir, mühendisler ise prosedür her ikisini gerektiriyorsa altyapı sağlamayı ve yapılandırmayı bağlar.
Özellik karşılaştırması
Yeniden kullanılabilir girdiler, envanterler ve kimlik bilgileri, ekip arkadaşlarının yapılandırmayı baştan oluşturmadan işlem çalıştırmasını sağlar. Yürütme ayarları işlemin nerede çalışacağını belirler. Zamanlamalar, iş akışları ve kayıtlı sonuçlar ise altyapı sağlamadan sonraki işleri destekler.
Kurulum ve yapılandırma
Ortak otomasyon hizmeti mevcut bir sunucuda veya konteyner platformunun parçası olarak çalışabilir. Uygulamanın dağıtımı ile iş çalışma ortamı ayrı tercihlerdir.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Kurulum ve yapılandırma: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Bağımsız yerel ikili dosya
Evet
HayırJava çalışma zamanı gerekir
Yerel Linux paketleri
Evet
HayırJava uygulaması dağıtımı
Docker dağıtımı
Evet
EvetDocker Compose hizmetleri
Kubernetes dağıtımı
Evet
Evet
Gaia, Java web uygulamasını, MongoDB veritabanını ve yürütme runner’ını birbirinden ayırır. Runner, yapılandırılabilir paralel iş sınırıyla Terraform’u Docker konteynerlerinde veya Kubernetes pod’larında başlatır. Docker Compose bu hizmetleri bir araya getirir, deneysel bir Helm chart ise Kubernetes kurulumu seçeneği sunar.
Semaphore UI, ikili dosya veya yerel paket olarak, Docker’da ya da Kubernetes’te çalışır. Günlük otomasyonu mühendislerin dizüstü bilgisayarlarından taşıyan bir ekip mevcut bir sunucuyla başlayabilir ve aynı hizmeti Terraform provizyonu ile Ansible bakımı için kullanabilir. İş konteynerlerinin gerekip gerekmediğini seçilen yürütme modu belirler.
Otomasyon araçları
Altyapı sağlama, host yapılandırma ve hizmet bakımı farklı araçlar kullanır. Doğrudan şablonlar ekibin bu prosedürleri bağımsız çalıştırmasını sağlarken Terraform provisioner’ları komutları kaynak yaşam döngüsüne bağlar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Otomasyon araçları: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Terraform / OpenTofu
Evet
KısmenTerraform modülleri, OpenTofu şablonu yok
Ansible playbook dosyaları
Evet
KısmenAnsible çalışma ortamına sahip provisioner
Doğrudan Terragrunt işleri
Evet
HayırTerraform komut yaşam döngüsü
Bash
Evet
KısmenGerekli yorumlayıcıya sahip provisioner
PowerShell
Evet
KısmenGerekli yorumlayıcıya sahip provisioner
Python
Evet
KısmenGerekli yorumlayıcıya sahip provisioner
Bağımsız Ansible ve betik işlemleri
Evet
HayırRUN ve DESTROY stack işleri
Gaia, Terraform modüllerini oluşturulan bir Terraform komut dizisiyle çalıştırır. Runner imajı veya uzak hedef gerekli araçları sağlıyorsa Terraform provisioner’ları Ansible’ı veya komut satırı programlarını çağırabilir. Böylece yeni oluşturulan bir kaynak yapılandırılabilir, ancak komut bağımsız bir Gaia işlemine dönüşmez, Terraform çalıştırmasına bağlı kalır. Standart komut oluşturma biçimi ayrı bir OpenTofu veya Terragrunt şablonu sağlamaz.
Semaphore UI, Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell ve Python için doğrudan şablonlar sunar. Bir ekip OpenTofu ile altyapı oluşturabilir, Ansible ile paketleri yapılandırabilir ve Python ile hazır olma kontrolü çalıştırabilir. Daha sonra Ansible yapılandırması veya PowerShell bakım işlemi, yeni bir Terraform yaşam döngüsü başlatılmadan kendi başına çalışabilir. Pro’nun yerleşik state backend’i de Terraform/OpenTofu state’ini ve geçmişini bu işlerin yanında tutar.
İşlem kurulumu ve girdiler
Yazar, ekip arkadaşlarının tekrarlanabilir bir işlem talep edebilmesi için yapılandırmayı bir kez hazırlar. Gaia modülü ve stack örneklerini kaydeder. Semaphore UI ise altyapı sağlama ve bakım için yeniden kullanılabilen şablonları kaydeder.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
İşlem kurulumu ve girdiler: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Kaydedilmiş işlem yapılandırması
EvetTask Templates
EvetModüller ve stack’ler
Girdi formları
Evet
Evet
Değişken yapılandırması ve yeniden kullanım
EvetŞablonlar arasında paylaşılan adlandırılmış gruplar
EvetModül varsayılanları ve stack başına değerler
Girdi doğrulama
EvetZorunlu alanlar, tam sayı kontrolleri ve seçenekler
EvetZorunlu değerler ve düzenli ifadeler
Gaia’da modül yazarı kaynak depoyu, Terraform sürümünü ve değişken şemasını tanımlar. Kullanıcılar modülden stack’ler oluşturur, ortamlarına uygun değerleri ve bulut kimlik bilgisini sağlar. Stack, kendi state’i ve işleri olan kalıcı bir örneğe dönüşür. Bu model, birbirinden bağımsız istenen altyapıların kataloğuna uygundur. Gaia, zorunlu değerleri ve yapılandırılabilir düzenli ifadeleri doğrular. Semaphore UI’nin girdi formları zorunlu alanları, tam sayıları ve seçenekleri doğrular, ancak eşdeğer yapılandırılabilir bir regex kuralı sunmaz.
Semaphore UI, kaydedilmiş işlemi Task Template olarak adlandırır. Bu şablon, depoyu, araç yapılandırmasını, değişkenleri ve işlemin ihtiyaç duyduğu envanter veya kimlik bilgilerini bir araya getirir. Adlandırılmış Variable Groups, ortam ayarlarını şablonlar arasında yeniden kullanırken girdi formu alanları başlatma girdilerini toplar. Örneğin hizmet yeniden başlatma şablonu, ekip arkadaşından bir komut oluşturmasını istemek yerine hizmet ve ortam seçimi sunabilir. Provizyon şablonu da ortam parametreleri için aynı deseni kullanabilir.
Terraform yaşam döngüsü
Faydalı bir Terraform arayüzü komut başlatmaktan fazlasını yapmalıdır. Kod, girdiler, durum ve kullanıcıların talep etmesine izin verilen işlemler arasında tekrarlanabilir bir ilişki kurmalıdır.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Terraform yaşam döngüsü: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Terraform plan ve apply
Evet
Evet
Ayrı ortam örnekleri
EvetHazırlanmış şablonlar ve çalışma alanı yapılandırması
EvetModülden oluşturulan stack’ler
Ortama özel durum ve kimlik bilgileri
EvetYapılandırılmış backend, çalışma alanı ve kimlik bilgileri
EvetAyrı stack durumu ve bulut kimlik bilgileri
Ortamı kaldırma
EvetTerraform/OpenTofu destroy işlemi
EvetDestroy işi
Önceden kaydedilmiş planı varsayılan olarak uygulama
Hayır
Hayır
Yerleşik state depolama
EvetPro
Evet
Gaia, stack’in yapılandırılmış modülü, girdileri ve bulut kimlik bilgileri üzerinde plan, apply ve destroy çalıştırır. Yerleşik backend stack’in state’ini tutar, stack sayfası ise çıktıları ve iş geçmişini toplar. Böylece aynı modülden türeseler bile ayrı test ortamları bağımsız state ve yürütme kayıtlarını koruyabilir.
Semaphore UI, Terraform/OpenTofu deposunu, workspace’i ve yapılandırmayı seçmek için Task Template kullanır. Variable Groups ilgili işler arasında ayarları yeniden kullanır, girdi formları ise başlatma sırasında girdileri toplar. Bir mühendis ortam provizyonu işlemini bir kez hazırlayabilir, ardından ekip arkadaşları kaydedilmiş yapılandırma üzerinden bunu isteyebilir. Her ortamın kendi değişkenlerine, kimlik bilgilerine ve backend state’ine de ihtiyacı vardır. Gaia bunları ayrı stack örnekleri olarak temsil eder. Semaphore UI’de ekip karşılık gelen şablonu, workspace’i ve backend yapılandırmasını hazırlar. Workspace izolasyonu backend’e bağlıdır. Dolayısıyla yalnızca bir workspace seçmek her backend’de state’i ayırmaz. Terragrunt ve OpenTofu da Terraform’un yanında doğrudan şablon seçenekleridir.
Semaphore UI. Terraform şablonu kaynak kodunu, workspace’i ve yeniden kullanılabilir değişkenleri hazırlanmış tek bir işlemde bir araya getirir.
Gaia. Bir modül deposunu, yetkili ekiplerini ve girdi doğrulamasını tanımlar. Resmî proje örneği. Kaynak
State, bu kurulumun ayrı bir parçasıdır. Gaia, ticari lisans gerektirmeden her stack için state backend’i içerir. Semaphore UI, Terraform/OpenTofu kodunda yapılandırılan backend’i kullanır. Pro ayrıca geçmiş ve arayüz yönetimi sunan yerleşik bir HTTP state backend’i sağlar. Bu backend’i Semaphore UI’de tutmak, yeni bir state hizmeti eklemek yerine paylaşılan state’i onu değiştiren işlerin yanına yerleştirir.
İki ürün de varsayılan olarak önceden kaydedilmiş bir plan dosyasını uygulamaz. Gaia 2.4.0 planlama sonucunu gösterir, ancak apply komutu kaydedilmiş plan dosyasını kullanmaz. Semaphore UI’nin varsayılan yürütmesi de plan ve apply işlemlerini ayrı gerçekleştirir. Onayın tam olarak önerilen değişikliği kapsaması gerekiyorsa süreç, planın açıkça saklanmasını ve yeniden kullanılmasını gerektirir.
Envanter
Yama veya sertifika kontrolü işi, host seçimi için tekrarlanabilir bir yönteme ihtiyaç duyar. Ansible envanterleri bu amaca hizmet ederken Terraform durumu stack’in yönettiği kaynakları tanımlar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Envanter: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Yeniden kullanılabilir Ansible envanterleri
EvetArayüzde tanımlar veya Git’te dosyalar
HayırEnvanter kaynağı yok
Dinamik host keşfi
EvetAnsible envanter eklentileri
KısmenOluşturulan envanter veya Terraform’dan çağrılan Ansible
Gaia, Terraform kaynaklarını ve çıktılarını her stack ile birlikte tutar. Bir Terraform çıktısı, provisioner’ın veya başka bir sistemin ihtiyaç duyduğu sunucu adresini sağlayabilir, ancak Gaia arayüzünde Ansible envanter kaynağı oluşturmaz. Provisioner üzerinden çağrılan Ansible’a envanteri bu otomasyonun parçası olarak iletmek veya oluşturmak gerekir.
Semaphore UI, Ansible envanterlerini yeniden kullanılabilir proje kaynakları olarak saklar. Ekipler statik bir tanımı düzenleyebilir, Git’teki bir dosyayı kullanabilir veya iş çalıştığında Ansible envanter eklentileriyle sunucuları keşfedebilir. Aynı envanter dağıtım, yama uygulama ve sertifika kontrollerinde kullanılabilir. Bu, provizyonun işin yalnızca başlangıcı olduğu ve operatörlerin mevcut sunucu filosuna yaşam döngüsü boyunca döndüğü durumlarda özellikle yararlıdır.
Yürütme
Yürütme ayarları, hedeflere hangi makinenin ulaşacağını ve hangi bağımlılıkları sağlayacağını belirler. Her iki platform da özel altyapı içinde çalışabilir ancak konteynersiz işler için farklı seçenekler sunar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Yürütme: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Konteynersiz işler
Evet
HayırTerraform iş runner’ı Docker veya Kubernetes gerektirir
Uzak yürütme
EvetRunner'lar
EvetAyrı Gaia Runner
Docker’da iş yürütme
EvetPro
Evet
Kubernetes görev podları
EvetEnterprise
Evet
Gaia, uygulamayı runner’ından ayırır. Runner, bekleyen Terraform adımlarını ister ve yapılandırılabilir eşzamanlılıkla Docker konteynerlerinde veya Kubernetes pod’larında yürütür. Gaia API’sine ve modülün kullandığı hizmetlere erişebildiği sürece özel altyapının yakınında çalışabilir. Seçilen imaj Terraform’u ve provisioner’ların ihtiyaç duyduğu ek programları sağlar.
Semaphore UI, işleri uygulama sunucusunda veya hedeflerin yakınına yerleştirilmiş runner’larda çalıştırabilir. Böylece küçük bir kurulum konteyner platformu olmadan başlayabilir, daha büyük bir kurulum ise runner’larla ayrı ağlara erişebilir. Pro proje runner’larını ve Docker iş yürütmesini, Enterprise ise Kubernetes iş pod’larını ekler. Web uygulamasını Docker’a kurmak ile her işi kendi konteynerinde yürütmek ayrı tercihlerdir.
Zamanlama
Altyapı işleri belirli zamanda çalışmalı veya elle başlatılmadan tekrarlanmalıysa zamanlama önemlidir. Semaphore UI, hazırlanmış şablonlarını doğrudan zamanlar. Gaia, Terraform stack işlerini koordine etmek için harici zamanlayıcı gerektirir. Semaphore UI’nin daha geniş görev modeli, aynı zamanlama arayüzünün bağımsız yedeklemeleri, yama uygulamayı ve sertifika kontrollerini de kapsamasını sağlar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Zamanlama: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Cron zamanlamaları
Evet
Kısmenİş API’sini çağıran harici zamanlayıcı
Tek seferlik zamanlanmış çalıştırmalar
Evet
Kısmenİş API’sini çağıran harici zamanlayıcı
Semaphore UI, hazırlanmış şablonlara cron ve tek seferlik zamanlamalar kaydeder. Gece yedeklemesi, tekrarlanan sertifika kontrolü veya yama işi, yazarın seçtiği envanteri, kimlik bilgilerini ve başlatma ayarlarını yeniden kullanabilir. Manuel ve zamanlanmış çalıştırmalar aynı yürütme geçmişinde görünür.
Gaia 2.4.0 bir zamanlama arayüzü içermez. Harici bir zamanlayıcı POST /api/stacks/{id}/{jobType} ile RUN veya DESTROY işi oluşturabilir, ardından POST /api/jobs/{jobId}/plan ile planını başlatabilir. Değişikliği uygulamak için plan tamamlandıktan sonra /api/jobs/{jobId}/apply adresine ayrı bir POST gerekir. Zamanlayıcı, iş kimliği oluşturmayı tamamlanmış bir çalıştırma saymak yerine bu yaşam döngüsünü yönetmeli ve işin nihai sonucunu kontrol etmelidir.
İş akışları
Eksiksiz ortam prosedürü altyapı sağlayabilir, host’ları yapılandırabilir ve hizmeti doğrulayabilir. Gaia, stack işinin plan/apply aşamalarını yönetirken Semaphore UI ayrı işlemleri ve sonuçlarını birbirine bağlar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
İş akışları: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Araçlar arası görsel iş akışları
Evet
HayırBirden çok araca yönelik iş akışı düzenleyicisi yok
Onay adımları
Evet
KısmenTerraform plan ve apply arasında onay
İşlemler arasında değer aktarımı
Evet
KısmenKod veya API entegrasyonu aracılığıyla stack çıktıları
Gaia, stack’i planlama ve uygulama aşamalarından geçirir. Arayüzü, stack silme işlemi dâhil, plan sonrasında ayrı bir onay sunar. Terraform provisioner’ları bu yaşam döngüsü içinde ek işlemler yapabilir ve harici bir sistem API üzerinden birden fazla işi koordine edebilir. Gaia, bağımsız olarak yeniden kullanılabilir Ansible, Terraform ve betik işlemlerinden oluşan görsel bir grafik sağlamaz.
Semaphore UI, kaydedilmiş şablonları onay, başarı ve hata yolları içeren görsel bir iş akışıyla bağlar. Bir devreye alma süreci altyapı oluşturabilir, onay bekleyebilir, sunucuları yapılandırabilir ve doğrulama adımı çalıştırabilir. Her şablon sonraki bakım için de kullanılabilir kalır. Toplanan değerler, sunucudaki veya bir runner’daki yerel yürütücü kullanılarak adımlar arasında aktarılabilir. Oluşturulan dosyalar ve kaydedilmiş Terraform planları için yine erişilebilir depolama veya açık bir aktarım gerekir. İki ürün de varsayılan olarak önceden kaydedilmiş bir Terraform planını uygulamaz.
Erişim denetimi
Bir provizyon modülünü paylaşmak ile hazırlanmış bir hizmet yeniden başlatma işlemini devretmek farklı sınırlar gerektirir. Erişim ayarları, yazarın işlemi hazırlamasını ve ekip arkadaşlarına kullanmak için gereken izinleri vermesini sağlamalıdır.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Erişim denetimi: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Rol tabanlı erişim
EvetProje rolleri
EvetRoller ve modül organizasyonları
Özel roller
EvetEnterprise
HayırSabit uygulama rolleri
Harici oturum açma
EvetProLDAP ve OIDC
EvetGitHub ve GitLab OAuth2, LDAP
Gaia, modülleri paylaşmak için yönetici ve kullanıcı rolleri olan organizasyonlar kullanır. Modül yazarı onaylanmış bir Terraform tanımını ekibe sunabilir, kullanıcılar ise kendi stack’lerinin yapılandırmasını sağlar. GitHub ve GitLab entegrasyonları OAuth2 oturum açmayı depo içe aktarmayla birleştirir. LDAP de desteklenir.
Semaphore UI Community, paylaşılan otomasyonu projeler içinde düzenler. Proje rolleri, proje içindeki otomasyonu kimin görüntüleyebileceğini, çalıştırabileceğini veya düzenleyebileceğini belirler. Yürütme izni olan ekip arkadaşları dağıtım, yedekleme veya bakım işini başlatıp sonucunu inceleyebilir. Mühendis işlemi hazırlar, ekip arkadaşı ise kaydedilmiş yapılandırmayı ve başlatma girdilerini kullanır.
Erişimin seçili işlemlerle sınırlanması gerektiğinde Enterprise özel roller ve şablon düzeyinde yürütme izinleri ekler. Örneğin ekip, operatöre genel proje düzenleme hakkı vermeden hizmet yeniden başlatma şablonunu devredebilir. Bu sınır yalnızca girdi formundan değil, rol izinleri ile işlem yapılandırmasının birleşiminden doğar. Pro, merkezi kimlik sağlayıcı kullanan ekipler için LDAP ve OIDC oturum açmayı ekler. Semaphore UI Pro ayrıca yerel hesaplar için TOTP iki faktörlü kimlik doğrulama sağlar.
Gizli bilgiler
Bulut provizyonu kimlik bilgileri ile bir sunucuyu yapılandırmak için kullanılan SSH kimlik bilgileri ayrı kaynaklardır. Paylaşılan bir hizmet, operatörün her çalıştırmada gizli bilgi yapıştırmasını istemeden bunları yeniden kullanmalıdır.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Gizli bilgiler: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Saklanan kimlik bilgileri
EvetSSH anahtarları ve parolalar
EvetBulut kimlik bilgisi nesneleri
HashiCorp Vault
EvetProGizli bilgi sorgulama
EvetTransit şifreleme ve dinamik AWS kimlik bilgileri
Yerleşik OpenBao sorgulama
EvetPro
Hayır
Yerleşik AWS Secrets Manager sorgulama
EvetEnterprise
Hayır
Yerleşik Azure Key Vault sorgulama
EvetEnterprise
Hayır
Yerleşik Devolutions Server sorgulama
EvetEnterprise
Hayır
Yerleşik CyberArk sorgulama
EvetEnterprisePVWA REST API
Hayır
Gaia, AWS, Google Cloud ve Azure için bulut kimlik bilgileri sağlar. İsteğe bağlı Vault entegrasyonu şifreleme için Transit motorunu kullanır ve Vault secrets engine’den dinamik AWS kimlik bilgileri isteyebilir. Bu kimlik bilgileri Terraform stack yaşam döngüsünü destekler.
Semaphore UI’nin Key Store’u, Ansible sunucularının SSH anahtarları ve parolaları dâhil ekip prosedürlerinde kullanılan kimlik bilgilerini destekler. Hazırlanmış işlem, operatörün her başlatmada kimlik bilgisi yapıştırmasını istemek yerine saklanan kayıtlara başvurur. Pro, HashiCorp Vault ve OpenBao’dan gizli bilgi sorgulamayı ekler. Enterprise ise AWS Secrets Manager, Azure Key Vault ve Devolutions Server entegrasyonlarının yanı sıra PVWA API aracılığıyla CyberArk’ı ekler.
Örneğin bir ortam, provizyon için bulut kimlik bilgisi ve sonraki Ansible yapılandırması için SSH anahtarı kullanabilir. Bunlar ilgili işleme bağlı ayrı kimlik bilgileri olarak kalır. İki platform da Vault ile çalışabilir, ancak Gaia’nın şifreleme ve dinamik kimlik bilgisi özellikleri, bir iş için saklanan gizli bilgiyi sorgulamaktan farklıdır. Gaia’nın yerleşik kimlik bilgisi türleri yukarıdaki diğer gizli bilgi depoları için bağlayıcı içermez. Terraform kodu kendi veri kaynakları veya harici komutlarıyla gizli bilgileri alabilir. Bu sorgulama Gaia’nın kimlik bilgisi arayüzünde değil, otomasyonda yapılandırılır ve sürdürülür.
Günlükler ve denetim
Bir iş çalıştıktan sonra operatörler, sonucuna ve bir hatayı araştırmak için yeterli bağlama ihtiyaç duyar. Terraform stack geçmişi ile Ansible sunucu sonuçları, aynı ortam hakkında farklı sorulara yanıt verir.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Günlükler ve denetim: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
Yürütme geçmişi ve loglar
Evet
Evet
Çalıştıran kullanıcı ve zaman damgaları
Evet
Evet
Yerleşik Ansible sunucu/görev raporu
EvetPro
HayırTerraform plan/apply çıktısı
Yönetim denetimi arayüzü
EvetOturum açmalar ve kaydedilen işlemler
Hayırİş geçmişi, yönetim denetimi arayüzü yok
Gaia, stack işinin kullanıcısını, durumunu, zamanlamasını ve plan/apply adımlarını kaydeder. Bu geçmiş, ekibin ortam provizyonundaki değişiklikleri incelemesine ve Terraform çıktısını araştırmasına yardımcı olur. Bu, Ansible sunucu raporlama veya yönetim denetimi arayüzü değil, stack işlemleri kaydıdır.
Semaphore UI, desteklenen araçlar genelinde görev geçmişi tutar. Pro Ansible özetleri sunucu ve görev sonuçlarını ekleyerek hangi sunucuların yama veya sertifika kontrolünde başarısız olduğunu bulmaya yardımcı olur. Denetim günlüğü, oturum açmaları ve desteklenen yönetim işlemlerini görev çıktısından ayrı kaydeder. Böylece hem provizyon hem sunucu bakımı yapan ekip, Terraform state’ini sunucudaki her işlemin raporu saymadan bu işlemleri aynı hizmette araştırabilir. Pro, ekibin SIEM hattı için Syslog ve Splunk HEC iletimi dâhil denetim filtreleme ve dışa aktarmayı ekler.
Entegrasyonlar ve yapay zekâ destekli çalışma
Mevcut bir pipeline veya hizmet, API aracılığıyla hazırlanmış otomasyonu isteyebilir. Depo entegrasyonları kodu hizmete getirir, olaya dayalı bir bağlantı ise sonucu güvenilir biçimde takip edecek bir yönteme de ihtiyaç duyar.
DestekleniyorKısmen destekleniyorDesteklenmiyor
Ölçütler
Semaphore UI
Gaia
Entegrasyonlar ve yapay zekâ destekli çalışma: Gaia ve Semaphore UI
Ölçütler
Semaphore UI
Gaia
REST API
Evet
Evet
Git depoları
Evet
EvetGitHub ve GitLab modülü içe aktarma
Gelen otomasyon webhook’ları
Evetİstek eşleştirme ve girdi çıkarma
Kısmenİş API’sini çağıran harici alıcı
Gaia, GitHub veya GitLab’dan modülleri içe aktarır, stack’ler, işler ve sonuçları için API’ler sunar. Bir CI pipeline’ı veya harici istek hizmeti stack işi oluşturabilir, planlamayı başlatabilir ve ne zaman uygulanacağına karar verebilir. Webhook tabanlı kurulum, bu çağrıları yapan ve sonucu izleyen bir adaptör gerektirir. Semaphore UI, istekleri eşleştirip değerlerini hazırlanmış görev girdilerine aktaran REST API ve gelen entegrasyon webhook’ları sağlar.
Gaia’nın Terraform kataloğunu koruyan bir ekip için API entegrasyonu, provizyon tamamlandıktan sonra Semaphore UI Ansible yapılandırma veya bakım şablonunu tetikleyebilir. Ardından bu işlemin envanterini, kimlik bilgilerini ve yürütme kaydını Semaphore UI yönetir. Bu, yerleşik bir Gaia-Semaphore entegrasyonu değil, ekibin uyguladığı bir bağlantıdır. Her iki proje de bağlantıyı taslak hâline getirirken veya yapılandırma ve iş çıktısını araştırırken bir kodlama asistanının başvurabileceği belgeleri ve kaynak kodunu sunar.
Lisanslama ve destek
Gaia ve Semaphore UI’nin ücretsiz, kendi sunucunuzda barındırılan açık kaynak sürümleri vardır. Ücretli özellikler karşılaştırmaya girmeden önce bile kapsamları Terraform modül kataloğundan birden çok otomasyon aracına hizmet sunmaya kadar farklıdır. Ticari yetenekler ve destek, kararın ayrı bir parçasıdır.
Açık kaynak ve ticari seçenekler
Gaia, MPL-2.0 lisanslıdır ve Terraform stack state backend’ini içerir. Semaphore UI Community, MIT lisanslıdır ve desteklediği araçlar genelinde şablonları, iş akışlarını, zamanlamaları, proje rollerini ve yürütme geçmişini kapsar. Pro yerleşik state backend’ini, proje runner’larını, Docker görev yürütmesini ve harici kasa entegrasyonlarını ekler. Enterprise daha ayrıntılı erişim, yürütme ve kullanılabilirlik kontrolleri sağlar.
Hem Terraform provizyonuna hem tekrarlanan Ansible işlemlerine ihtiyaç duyan bir ekip için bu Community özellikleri zaten paylaşılan bir otomasyon hizmeti sağlar. Pro veya Enterprise gereksinimi yalnızca birden çok araç kullanılmasından değil, state, erişim ve yürütme gereksinimlerinden doğar.
Bakım ve destek
Gaia’nın yayımlanmış son sürümü 12 Ağustos 2022 tarihli 2.4.0’dır. 21 Ekim 2026’da yapılan kontrolde uygulama deposunun main dalı da aynı commit’i göstermektedir. Ürünü benimseyen ekibin güncel bağımlılıkları değerlendirmesi ve ihtiyaç duyduğu değişiklikleri sürdürmesi gerekir.
Semaphore UI sürüm yayımlamaya devam eder ve aynı ürün ailesinde üretici desteği sunar. Community yardımı mümkün olan ölçüde sağlanır, Pro mesai saatlerinde üretici desteği içerir, Enterprise ise ihtiyaca özel destek seçenekleri sunar. Ekip Community’de paylaşılan işlerle başlayabilir, operasyonel gereksinimleri arttıkça ticari özellik veya destek alabilir.
Nasıl seçmeli?
Ekibin altyapıyı nasıl istemek ve yönetmek istediğinden başlayın. Gaia provizyonu bir modül kataloğu ve ayrı stack örnekleri etrafında düzenler. Semaphore UI ise yeniden kullanılabilir Terraform/OpenTofu şablonları, değişkenler ve yürütme ayarları etrafında düzenler, daha geniş prosedür için zamanlamalar ve iş akışları sunar. İkisi de provizyon yapabilir. Tercih, işletim modeline ve aynı arayüzün başka otomasyonları da desteklemesi gerekip gerekmediğine bağlıdır.
Gaia ne zaman tercih edilmeli?
Gereksiniminiz onaylanmış Terraform modüllerini yayımlamak ve kullanıcıların kendi stack örneklerini oluşturmasını sağlamaksa Gaia odaklı bir seçenektir.
Temel hizmet ayrı stack örnekleridir. İstenen her ortamın kendi girdilerine, kimlik bilgilerine, state’ine ve plan/apply/destroy geçmişine ihtiyacı vardır, yapılandırma yönetimi ve bakım ise başka yerde yapılır.
Ürüne dâhil state depolaması önemlidir. Modül kataloğunu ve Terraform state backend’ini tek bir açık kaynak üründe istiyorsunuz, ekip de uygulamanın ve runner’ın bakımını üstlenebiliyor.
Semaphore UI ne zaman seçilmeli?
Esnek yürütme ve ticari destek seçenekleriyle yeniden kullanılabilir Terraform/OpenTofu işlemleri istiyorsanız veya provizyonun Ansible, Bash, PowerShell ve Python ile bağlanması gerekiyorsa Semaphore UI’yi seçin.
Dağıtım ve destek seçenekleri istiyorsunuz. Mevcut sunucuda ikili dosya veya yerel paketle başlayın, gerektiğinde uzak yürütme ekleyin ve aynı ürün ailesinde Pro ya da Enterprise özellikleriyle üretici desteği alın.
Ansible çalışmaları provizyondan sonra da sürüyor. Aynı hizmetin mevcut envanterleri, kimlik bilgilerini ve playbook’ları kullanarak sunucuları yapılandırması, yama uygulaması, sertifika kontrolü veya yedekleme yapması gerekiyor.
IaC kodunuz işlettiğiniz ortamları zaten tanımlıyor. Terraform/OpenTofu veya Terragrunt şablonlarını gereken değişkenler, kimlik bilgileri ve state yapılandırmasıyla hazırlayın, ardından ekip arkadaşlarının bu işlemleri çalıştırmasına veya zamanlamasına izin verin. Bu, hizmeti modül kataloğu ve ayrı ayrı istenen stack örnekleri etrafında düzenlemeden mevcut yapılandırmaları ortak çalıştırmak isteyen ekibe uygundur.
Prosedürünüz birden çok aracı birleştiriyor. Terraform/OpenTofu veya Terragrunt provizyonu, yeniden kullanılabilir şablonlar ve iş akışları üzerinden Ansible yapılandırmasına, Bash veya PowerShell işlemlerine ve Python kontrollerine bağlanabilir.
Sık sorulan sorular
Ekip arkadaşları tek yapılandırmadan ayrı ortamlar oluşturabilir mi?
Gaia, Terraform modülünü bir kez yayımlar ve kullanıcıların kendi girdileri, kimlik bilgileri ve state’i olan ayrı stack’ler oluşturmasını sağlar. Semaphore UI şablonlar, girdi formları, Variable Groups ve Terraform/OpenTofu workspace’leri kullanır. Semaphore UI’de ortam isteği hazırlarken her ortama uygun workspace ve backend state yapılandırmasını verin.
Semaphore UI ile hangi state backend’ini kullanırız?
Semaphore UI, Terraform/OpenTofu kodunuzda zaten yapılandırılan backend’i koruyabilir. Pro ayrıca geçmiş ve arayüz yönetimi olan yerleşik bir HTTP backend sağlar. Gaia, açık kaynak ürüne stack state backend’ini dâhil eder. Başlatma arayüzünü taşırken her ortam, yapılandırması ve state’i arasındaki ilişki korunmalıdır.
Yürütme özel bir ortamın içinde kalabilir mi?
Evet. Gaia Runner, web uygulamasından ayrıdır ve Terraform’u Docker konteynerlerinde veya Kubernetes pod’larında yürütür. Semaphore UI görevleri kendi sunucusunda veya ayrı runner’larda çalıştırır. Pro’da görev başına Docker, Enterprise’da Kubernetes yürütmesi seçilebilir. Yürütme makinesinin hedef altyapıya ve gerekli hizmetlere erişmesi gerekir.
Provizyon Ansible yapılandırması ve bakımıyla devam edebilir mi?
Semaphore UI’de evet. İş akışı Terraform/OpenTofu provizyonunu, Ansible yapılandırmasını ve doğrulama görevini bağlayabilir. Ayrı şablonlar sonraki yedekleme, güncelleme veya hizmet işlemleri için kullanılabilir kalır, zamanlamalar da bakımı tekrarlayabilir. Gaia’nın yerleşik yaşam döngüsü Terraform plan, apply ve destroy işlemlerine odaklanır, sonraki işlemler diğer sistemlerle yapılır.
Gaia modül kataloğunu doğrudan Semaphore UI’ye aktarabilir miyiz?
Alttaki Terraform kodu yeniden kullanılabilir, ancak Gaia’nın modül ve stack kataloğu Semaphore UI şablonları ve workspace’lerinden farklı bir modeldir. Her ortamın girdilerini, kimlik bilgisi referanslarını, backend state’ini ve yürütme bağımlılıklarını hazırlanmış işleme eşleyin.
Bu karşılaştırma yukarıda listelenen dokümantasyon, depolar ve ürün bilgileri kullanılarak Semaphore UI ekibi tarafından hazırlanmıştır. Her kaynak için erişim tarihi kaydedilmiştir.
Yararlı bağlantılar
Ekibinizin zaten yürüttüğü işlemleri ve ihtiyaç duyduğu kontrolleri değerlendirin.