Backstage ile Sistemlerinizi Modelle İşlemi

By | October 20, 2024

Backstage, yazılım varlıklarınızı merkezi bir şekilde toplamak için güçlü bir framework’tür. Tüm hizmetlerinizi, bileşenlerinizi, API’lerinizi ve daha fazlasını düzenli bir şekilde görüntülemek için mükemmel bir araçtır. Ancak, tüm bu varlıkları tek bir uzun ve dağınık liste halinde sunmak kullanıcıları zorlayabilir. Bu sorunu çözmek için Backstage, System ve Domain gibi varlıkları kullanarak ekosisteminizi verimli bir şekilde modellemenizi sağlar. Bu iki varlık, varlıklarınızı kategorize etmenize ve düzenlemenize yardımcı olarak kullanıcıların gezinmesini daha kolay ve anlaşılır hale getirir.

System: Detaylardan Bağımsız Birim

System, Backstage’teki varsayılan bir türdür ve organizasyonunuzdaki birimi yüksek seviyede soyutlamayı sağlar. System varlığının ana amacı, bir sistemin ne sunduğunu kullanıcıya göstermek, ancak bunun nasıl inşa edildiğine dair detaylara girmemektir. Bu soyutlama, karmaşık ekosistemleri yönetmeyi kolaylaştırır çünkü kullanıcılar yalnızca sonuca odaklanır, altında yatan bileşenlere bakmak zorunda kalmazlar.

Bir system, birçok bileşen ve kaynağı içerebilir, ancak yalnızca ona ait API’leri ve bağlı olduğu API’leri sergiler. Bu, kullanıcıların ihtiyaç duyduğu veriyi hızlıca bulmalarını sağlar, böylece sistemin yapı taşlarıyla ilgilenmeden sadece gerekli bilgilere ulaşabilirler.

Domain: İş Birimleri ve Bağlantılı Sistemler

Domain de Backstage’teki varsayılan bir türdür ve sistemleri ve ilgili belgeleri, belirli bir iş birimi veya belirli bir sınırlandırılmış bağlamla ilişkilendirmek için kullanılır. Domain, oldukça esnek bir tanıma sahiptir ve uygulamanıza en uygun şekilde gruplandırılabilir. Bir domain, sistemleri, uygulama alanlarını veya belirli iş birimlerini bir araya getirebilir.

Domainler, Backstage instance’ınızın “Explore” sekmesinde görülebilir. Bu sekmeden kullanıcılar, bir bileşen veya hizmetin ismini bilmeden, kendilerine uygun bilgiyi daha kolay bulabilirler. Bu, özellikle büyük organizasyonlar ve karmaşık yazılım ekosistemlerinde gezinmeyi önemli ölçüde kolaylaştırır.

İlişkiler: Varlıklar Arasındaki Bağlantılar

Backstage’teki varlıklar, birbirleriyle birçok şekilde ilişkili olabilirler. Bu ilişkiler yalnızca okunabilir ve yönsel olup, bir varlık ile başka bir varlık arasındaki ilişkiyi tanımlar. Tüm ilişkiler yazılım grafiğine dahil edilir ve bu grafik, her varlığın sayfasında görselleştirilebilir.

Backstage’in desteklediği bazı temel ilişki türleri şunlardır:

  • providesApi: Bir bileşenin veya sistemin başka bir varlık tarafından kullanılmak üzere bir API sağladığını ifade eder. apiProvidedBy, bu ilişkinin diğer yönüdür.
  • consumesApi: Bir bileşenin veya sistemin, başka bir varlık tarafından sağlanan API’yi kullandığını gösterir. apiConsumedBy, bu ilişkinin diğer yönüdür.
  • dependsOn: Bir bileşenin başka bir varlığa bağımlı olduğunu ifade eder. Örneğin, bir web sitesi bileşeni, bir kütüphane bileşeni kullanıyorsa, bu ilişki kullanılır. dependencyOf bu ilişkinin ters yönüdür.
  • parentOf ve childOf: Varlıklar arasında ağaç yapıları oluşturmak için kullanılır. Örneğin, grupları modellemek için bu ilişki türü kullanılır. Bu ilişki genellikle spec.parent ve/veya spec.children içinde tanımlanır.
  • memberOf ve hasMember: Kullanıcılar ve gruplar arasında üyelik ilişkilerini tanımlar.
  • partOf: Bir bileşenin veya sistemin daha büyük bir bileşene, sisteme veya domain’e ait olduğunu ifade eder. Bu ilişki genellikle spec.system veya spec.domain içinde tanımlanır.

Sahiplik: Varlıkların Kim Tarafından Sahiplenildiğini Tanımlama

Son olarak, Backstage’teki varlıkların sahipliğini nasıl tanımlayacağımıza göz atalım. Sahiplik, her bir bileşen, API, sistem veya domain için sorumluluğu belirler. Bir varlığın yalnızca bir sahibi olabilir ve bu kişi veya grup, varlığın metadata’sını yönetebilecek ve onunla ilgili ana iletişim noktası olacaktır.

Sahiplik, genellikle spec.owner içinde tanımlanır ve ownedBy ilişkilerini açıklar. Sahiplik beyanı, kayıt ettiğiniz her bileşen, API, kaynak, sistem ve domain için gereklidir. Sahiplik, organizasyonunuzda belirli bir grup veya kullanıcıya atandığında, bu grup veya kullanıcı, sahip oldukları her varlık için ownerOf ilişkisini alır.

Eğer zaten CODEOWNERS dosyasıyla sahiplik yönetimi yapıyorsanız, Backstage bu referansı kullanabilir ve ilgili varlıklar için spec.owner alanını otomatik olarak doldurabilir. Bu özellik, CodeOwnersProcessor modülü aracılığıyla sağlanır.

Ayrıntılı bilgi için aşağıdaki linki kullanabilirsiniz:

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

Sonuç

Backstage, yazılım varlıklarınızı düzenli bir şekilde sunmanın yanı sıra, organizasyonunuzu modellemenin güçlü bir yolunu sunar. System ve Domain varlıkları, ekosisteminizi net bir şekilde tanımlamak ve yönetmek için mükemmel araçlardır. Ayrıca, varlıklar arası ilişkiler ve sahiplik yapıları, her bileşenin sorumluluğunu ve bağlantılarını açıkça tanımlamanıza yardımcı olur. Backstage, yazılım geliştirme süreçlerinizi daha verimli hale getirmek için güçlü bir yapı sunar ve bu özellikleri kullanarak organizasyonel karmaşıklığı yönetmek daha kolay olacaktır.

Leave a Reply

Your email address will not be published. Required fields are marked *