Backstage Kur mu Satın Al mı: Kendi IDP'nin Gerçek Maliyeti
Backstage hızlı bir kurulum gibi görünür ama asıl tekrar eden maliyet kalıcı bir platform ekibidir. DIY Backstage ile yönetilen IDP arasında karar rehberi.
Liderlerin Backstage’e yönelmesinin nedeni servis dağınıklığıdır: onlarca ya da yüzlerce servis var ve hangisinin nerede çalıştığını, kimin sahibi olduğunu kimse söyleyemiyor. Tuzak şudur: araç demoda hızlı bir kurulum gibi görünür, bu yüzden bütçe kuruluma yazılır, onu ayakta tutan şeye değil. İşin doğrusu şu: Backstage satın aldığınız bir ürün değil, ekip ayırdığınız bir çatıdır ve asıl tekrar eden gider kalıcı bir platform ekibidir. Bundan sonraki karar, Backstage’i kendiniz mi işleteceğiniz yoksa yönetilen bir geliştirici platformu mu kullanacağınızdır; ortada fonlanmış bir platform ekibi yoksa varsayılan yanıt yönetilen platformdur.
Bir geliştirici platformuna gerçekten ihtiyacınız olup olmadığını hâlâ tartıyorsanız, bu kategorinin genel hâli geliştirici platformu rehberinde ele alınıyor. IDP kararı verilmişken geriye kalan daha dar, daha keskin soru özellikle Backstage’le ilgilidir: kur mu satın al mı.
Backstage Tam Olarak Nedir
Backstage, geliştirici portalları kurmak için açık kaynaklı bir çatıdır. Spotify’da doğmuş ve Cloud Native Computing Foundation’a bağışlanmıştır; orada bir CNCF projesidir. O cümlede önemli olan kelime “çatı”. Giriş yapıp kullanacağınız bitmiş bir portal yoktur; Backstage size bir iskelet verir, montaj işi sizindir.
Kutudan çıktığı gibi dört yetenek sunar ve bunların her biri açıp kapattığınız bir özellik değil, kurumunuzun benimsediği bir şeydir.
Software Catalog merkez parçadır: ekosisteminizdeki tüm yazılımların, mikroservislerden kütüphanelere, veri hatlarından makine öğrenmesi modellerine kadar, sahipliğini ve üst verisini izleyen merkezi bir sistem. Scaffolder tarafından sürülen Software Templates, ekiplerin kurumunuzun en iyi pratiklerini içine gömülmüş yeni projeler başlatmasını sağlar; altın yollar mekanizması budur. TechDocs, mühendislerin betimlediği kodun yanında duran Markdown yazdığı, kod gibi dokümantasyon çözümüdür. Eklenti ekosistemi, Backstage’i geri kalan araç düzeninize bağlayan, büyüyen bir açık kaynak uzantı kümesidir. Akılda tutulması gereken çerçeve şu: dördü de ekibinizin işlettiği ve bakımını üstlendiği yeteneklerdir.
Ekipler Neden Benimsiyor
Çekicilik gerçektir ve doğrudan dağınıklık sorununa oturur. Önce keşfedilebilirlik gelir: her servis, API ve hat tek bir katalogda adı konmuş bir sahiple kayıtlıysa “bunun sahibi kim ve nerede çalışıyor” sorusunun bir yanıtı olur. İkincisi altın yollardır: şablonlar yeni bir servise başlamanın doğru yolunu varsayılan yol hâline getirir, böylece standartlar dayatıldığı için değil, kolay olduğu için yayılır. Üçüncüsü tek kapıdır: dokümanlar, sahiplik ve hatlar wiki’lerle panolara dağılmaktan çıkar ve yeni bir mühendisi ilk gün yönlendirebileceğiniz tek bir yerde buluşur.
Bunlar gerçek kazançlardır ve Backstage’in tüm kategorinin referans noktası olmasının nedenidir. Hata, demoyu teslim edilecek ürün sanmaktır.
Kimsenin Bütçelemediği Kısım
Kurulum gerçekten hızlıdır. Başlangıç dokümanları sizi, dakikalar içinde çalışan bir uygulama oluşturan tek bir komuttan geçirir. İşte tuzağı kuran şey tam da bu hız, çünkü aynı başlangıç sayfası ayak izini de listeler: Unix tabanlı bir işletim sistemi, etkin bir Node LTS sürümü ve demo verili tek başına uygulama için en az 20 GB disk ile 6 GB bellek temeli; eklenti ekledikçe bu artar. Kurulum ucuz kısımdır. Onun altındaki her şey, portal var olduğu sürece bir ekibin sahiplendiği kalıcı yüzeydir.
Bunu kavramanın yararlı bir yolu kabaca 10/90 çerçevesidir: kurulum işin belki yüzde 10’u, sahiplik yüzeyi ise diğer yüzde 90’ı. Bu oran retorik bir çerçevedir; kimse bunu bir istatistik olarak ölçmüş değil. İşaret ettiği şey ise somuttur.
Sağdaki her dal, kurulum bittikten sonra da süren bir yükümlülüktür.
| Yüzey | Tek seferlik kurulum (~%10) | Sürekli sahiplik (~%90) |
|---|---|---|
| Önyükleme | create-app komutu dakikalar içinde çalışan bir uygulama kurar. | Bir kez yapılır. |
| Barındırma ve altyapı | İlk gün ek olarak alınacak bir şey yok. | Varsayılan olarak kendiniz barındırırsınız: bir önyüz, bir arkayüz ve bir veritabanını, eklenti ekledikçe büyüyen bir temel üzerinde işletirsiniz. |
| Kimlik doğrulama, SSO ve RBAC | İskelet bunu bağlamaz. | Kimlik sağlayıcılar ve izin çatısı sizin ekibinizce yapılandırılır ve bakımı yapılır. |
| Katalog hijyeni | Başlangıçta boş katalog. | Sahiplik kayıtlarını doğru tutmak kurumsal disiplindir; bunu sizin yerinize sürdüren bir özellik yok. |
| Eklenti bakımı | Varsayılan eklentiler kurulu. | Backstage her ay yeni bir ana sürüm çıkarır. Semantik sürümlemeyi izlemez ve her yeni minor sürüm kırıcı değişiklikler içerebilir, bu yüzden yükseltmeler kalıcı bir angaryadır. |
| TechDocs hattı | Bir demo doküman görüntülenir. | Birinin sahiplendiği ve işlettiği bir dokümantasyon inşa hattı. |
| Portal nöbeti | Dizüstünüzde çalışır. | Üretimde portal, çalışma süresi, yükseltmeler ve nöbetiyle birlikte kendisi bir servistir. |
Eklenti satırı vurguyu hak eder, çünkü en sık küçümsenen satır odur. Sürüm temposu aylıktır ve proje minor sürümlerin kırıcı değişiklik taşıyabileceğini açıkça belirtir. Yükseltmeler, tempoyu tutması ya da geride kalması gereken ekibin üzerinde sabit bir bakım vergisine dönüşür; plan yapılabilecek yıllık bir geçiş penceresi yoktur.
Tezin en açık ifadesi, alternatifi satan firmadan gelir. Spotify’ın kendi yönetilen ürünü kendisini şu cümleyle pazarlar: “Portalınızın bakımını yapmak yerine onu kullanmakla zaman geçirin.” Bu söz ancak bakım gerçek maliyetse bir satış argümanı olarak anlam taşır ve öyledir.
Bilgi Katmanı
Dört yetenekten ikisini ayrı çıkarmaya değer, çünkü Backstage’in süslü bir dizinden çok bir bilgi sistemi olarak değer kattığı yer burasıdır.
Software Catalog, kim neyin sahibi sorusunun tek doğru kaynağıdır: ekosisteminizdeki tüm yazılımların sahipliğini ve üst verisini izleyen merkezi bir sistem. Her varlık, kodun yanında duran küçük bir tanım dosyasıyla betimlenir, böylece sahiplik ayrı bir kayıt defterinde çürümek yerine servisle birlikte taşınır. Bir lider için değer, kayıtlar dürüst tutulduğu sürece, katalogun bir olay anında sahiplik sorularını bir Slack arkeolojisi seansı olmadan yanıtlamasıdır.
TechDocs, kod gibi dokümantasyondur. Mühendisler, kodla aynı pull request’te giden Markdown yazar, dokümanlar doğrudan bir servisin katalog sayfasından keşfedilebilir ve siteler bu Markdown’dan tam metin aramayla inşa edilir. Liderlik açısından önemli olan, ortadan kaldırdığı arıza biçimidir: dokümantasyon, betimlediği koddan kopuk bir wiki’de çürümekten çıkar, çünkü artık kodla aynı hızda hareket eder.
Zalando’nun Sunrise’ı Neyi Kanıtlıyor
Zalando, en çok atıf yapılan Backstage kurulumlarından birini, Sunrise adlı bir geliştirici platformunu işletir ve bu, çatıyı işletmenin ne gerektirdiğini gösteren en öğretici örnektir. 2021’den bu yana Zalando, Sunrise’ı Backstage üzerine, içeride geliştirilen uzantılarla kurmuştur. Platform, Builder Portal adlı, kendi ifadeleriyle “platformu kuruluşundan beri işleten ve geliştiren” özel bir ekip tarafından işletilir. O cümle maliyet modelinin tamamını taşır: başarı koşulu fonlanmış, kalıcı bir ekiptir.
Ölçek rakamları aynı zamanda katalog hijyeni noktasının da kanıtıdır. Zalando şunu bildirir: “Şu an, ilgili doğru kaynak servisleriyle günlük olarak senkronize ettiğimiz 40 binin üzerinde kayıtlı varlık (uygulamalar, ekipler ve kullanıcılar arasında) bulunuyor.” Katalog, kayıt sistemleriyle günlük çalışan bir senkronizasyon hattı sayesinde doğru kalır. Temel çatının üzerine ekip, 27 başka aracı ve servisi 30 önyüz eklentisiyle entegre etti ve Zally API Linter eklentisi dâhil bazı çalışmaları açık kaynağa geri kazandırdı.
Bir liderin dikkatle okuması gereken kısım burası. Sunrise, Zalando’nun ölçeğinde yoğun biçimde özelleştirilmiştir ve onu etkileyici kılan şeyin çoğu, normal bir kurumun ucuza kopyalayamayacağı şeydir.
Soldaki örüntüler her ölçekteki bir ekibe taşınabilir. Sağdaki yatırımlar kadronun ve ölçeğin bir işlevidir. Arkasındaki kadro olmadan özelleştirme derinliğini kopyalamak, hayran kalmış bir liderin yapabileceği en pahalı hatadır.
Kur mu Satın Al mı
Satın alma tarafı gerçek bir pazardır ve onunla ilgili en çarpıcı gerçek, Backstage’in doğduğu yer olan Spotify’ın yönetilen çözümü satmasıdır. Spotify Portal for Backstage, kendisini başlamanın en hızlı yolu olarak pazarlar; “Kodlama gerekmez” ve kodsuz kurulum için bir başlangıç sihirbazıyla birlikte, daha önce alıntılanan bakım maliyeti sözüyle. Onun yanında, aynı vaat üzerinde rekabet eden Port, Cortex ve OpsLevel gibi yönetilen geliştirici platformları durur: platformu kendiniz işletmezsiniz.
Yönetilen kategori bir bütün olarak aynı takası yapar. Derin özelleştirmeden vazgeçer, bir aboneliği ve bir miktar tedarikçi bağımlılığını kabul edersiniz; karşılığında tedarikçi barındırmayı, yükseltmeleri ve bakım döngüsünü üstlenir ve bir ekip kurmak yerine günler içinde başlarsınız. DIY Backstage size tam denetim ve tüm açık eklenti ekosistemini verir; bedeli yukarıdaki tablonun betimlediği kalıcı platform ekibi ve aylık, semantik olmayan yükseltme temposudur.
Kalıcı bir platform ekibi olmayan küçük ya da orta ölçekli bir kurum için varsayılan öneri yönetilen bir IDP’dir. DIY yalnızca belirli bir biçimde kazanır ve o biçim Zalando biçimidir.
DIY Backstage dalı yalnızca dört koşulun tümü sağlandığında çözülür: var olan fonlanmış bir platform ekibi, Builder Portal kalıbında kalıcı bir ekip için bütçe, yönetilen bir tedarikçinin karşılayamayacağı özelleştirme ihtiyacı ve çok ekip ile binlerce varlıkla ölçülen bir ölçek. Tek bir “hayır” bile yönetilen bir IDP’ye geri yönlendirir. “Açık kaynak bedava, o yüzden kuralım” yanlış çerçevedir. Doğrusu şu: zaten bir platform organizasyonuna para ödüyorsunuz; çatıya sahip olmak size gerçekten kullanacağınız bir denetim kazandırır.
Sık Yapılan Hatalar
Bu karardaki hatalar öngörülebilirdir ve hepsi kurulumu programla karıştırmaktan doğar.
Birincisi kuruluma bütçe ayırıp ekibe ayırmamaktır. Kalıcı platform ekibi gider kalemidir; Zalando’nun kalıcı Builder Portal ekibi bunun kanıtıdır ve böyle bir ekibin yokluğu, DIY benimsemelerin sessizce durmasının en yaygın nedenidir. İkincisi katalogu kurup unutulacak bir şey sanmaktır. Eskimiş bir katalog, hiç katalog olmamasından daha hızlı güven yıkar, çünkü insanlar sahiplik verisine inanmayı bırakır; Zalando 40 bin varlığı tam da bunu önlemek için günlük senkronize eder. Üçüncüsü Zalando’nun 30 eklentilik özelleştirme derinliğini Zalando’nun kadrosu olmadan kopyalamaktır; bu, bakımı yapılamaz bir portal ve bezgin bir ekip üretir. Dördüncüsü aylık, semantik olmayan sürüm temposunu küçümseyip, minor sürümlerin kırıcı değişiklik taşıyabildiği bir ortamda yükseltmeleri yıllık bir olay gibi bütçelemektir. Beşincisi açık kaynağın bedava demek olduğunu sanmaktır: lisans bedavadır, gider olan kalıcı ekiptir.
Bu Ne Zaman Geçerli, Ne Zaman İstisna
Fonlanmış bir platform ekibi olmayan çoğu küçük ya da orta ölçekli kurum için doğru varsayılan, yönetilen bir geliştirici platformudur. DIY benimsemeleri batıran maliyeti ortadan kaldırır: barındırmayı, kimlik doğrulamayı, katalog hijyenini, yükseltme döngüsünü ve nöbeti sahiplenen kalıcı ekibi. DIY Backstage tek bir özel durumda doğru yanıttır: zaten fonlanmış bir platform organizasyonu işletiyorsanız, Builder Portal kalıbında kalıcı bir ekip kurabiliyorsanız, yönetilen bir tedarikçinin karşılayamayacağı bir özelleştirme gerekiyorsa ve ölçeğiniz çok ekip ile binlerce varlıkla ölçülüyorsa.
Atılacak tek adım, araçtan önce ekibin maliyetini çıkarmaktır. Bir yıl sonra portal nöbet rotasyonunun sahibinin kim olacağını söyleyemiyorsanız, Backstage’i kendiniz işletmeye henüz hazır değilsiniz.
Kaynaklar
- What is Backstage? - Backstage’i geliştirici portalları kurmak için bir çatı olarak tanımlayan resmi genel bakış ve dört hazır yeteneği.
- Backstage Software Catalog - Sahiplik ve üst veri için doğru kaynak; varlıklar için tanım modeli dâhil.
- Backstage TechDocs - Kod gibi dokümantasyon: kodun yanında Markdown, katalogla bütünleşik keşif ve tam metin arama.
- Backstage Software Templates - Yeni projeleri standartlaştıran Scaffolder ve altın yollar mekanizması.
- Backstage Release and Versioning Policy - Aylık tempo ve minor sürümlerin kırıcı değişiklik içerebileceği açıklaması.
- Backstage Getting Started - create-app komutu ve eklentilerle büyüyen temel disk ile bellek ayak izi.
- CNCF: Backstage project - Spotify tarafından bağışlanan bir CNCF projesi olarak proje durumu ve olgunluğu.
- Sunrise: Zalando’s Developer Platform Based on Backstage - Çalışılmış vaka: günlük 40 bin varlık senkronu, Builder Portal ekibi ve 30 eklenti üzerinden 27 araç.
- Sunrise: Zalando’s Internal Developer Platform (konuşma) - Aynı platform üzerine eşlik eden konferans konuşması ve kaydı.
- Spotify Portal for Backstage - Ticari yönetilen Backstage ürünü; “portalınızın bakımını yapmak yerine onu kullanmakla zaman geçirin” sözünün kaynağı.
- Port - Kararın satın alma tarafında yönetilen, ticari bir geliştirici platformu.
- Cortex - Yönetilen, bakımsız işletme üzerinde rekabet eden ticari bir geliştirici platformu.
- OpsLevel - Yönetilen IDP kategorisinde ticari bir geliştirici platformu.
İlgili yazılar
Bir frontend platform ekibi doğru yolu nasıl en kolay yol haline getirir: golden-path iskeleti, sürümlü paylaşılan paketler ve ekip kaymasını gideren bir görev CLI'si.
Golden paths, self-servis altyapı ve product thinking ile Internal Developer Platform oluşturmanın pratik rehberi: Backstage, Port, AWS servisleri ve yaygın hatalar.
Bir kodlama ajanının evi olarak devcontainer, Codespaces ve AWS Lambda MicroVM: her basamak ne katıyor ve ajanı laptoptan çıkarmak ne zaman kazandırıyor.
Bruno .bru dosyalarını repo'ya commit etmek, API sözleşmesini kodla aynı PR ve geçmişte tutar. Tek gerçek bedel, bilinçli bir secret sınırıdır.
Çok takımlı AWS organizasyonları için platform varsayılanı: tek event, birçok consumer, her biri kendi hesabında SQS ve DLQ'suyla; fan-out bus katmanında.