Share via


Envanterler ve ilişki izleme yoluyla keşfi geliştirin ve israfı ortadan kaldırın

Kuruluşunuz büyüdükçe izlemeniz gereken malzeme miktarı da artar. Kod, API'ler, kapsayıcılar, sanal makineler (VM' ler), mesajlaşma konuları, ekip üyeliği, proje sahipliği ve daha fazlasını izlemeniz gerekebilir. Ölçeklendirdikçe, bir ekip diğerini bilmediğinden yinelenen eforları sık sık bulmak yaygın bir durum değildir. İnsanlar ekipler arasında hareket ettikçe, şirkete yeni kişiler katıldıkçe ve diğerleri ayrıldıysa projeler yalnız bırakılabilir. Yönetilmemesi durumunda, mevcut olanı kolayca keşfedemediğiniz için bu teknik yayılmaya ve israfa yol açabilir. Bu yaygın bir sınamadır. Örneğin, şu alıntıyı göz önünde bulundurun:

Çalışan bir ton kapsayıcı veya [VM] örneğimiz var. Eski VM'lerimizi silebilir miyiz? Kimse bilmiyor. Eski öğeleri temizlemenin ve uygun etiketleri kullanmanın bir yolunu bulmalıyız. Böylece, kimlerin bize ne yapabileceğimizi ve yaşam döngüsünün ne olduğu konusunda bilgi veren sahibi veya ekibi biliyoruz.... Ne olacağından emin olmadığımız için belirli bir VM'nin kapatılıp kapatılamadığından emin değiliz. - Martin, DevOps Mühendisi, Büyük Lojistik Şirketi

Uyarlanmış envanterler aracılığıyla izleme, güvenlik ve yeniden kullanımı geliştirme

İhtiyacınız olan şey, iç müşterilerin anlaşılır bir şekilde görselleştirebileceği ekosisteminizde oluşturduğunuz veya oluşturduğunuz tüm "öğeleri" izlemek için yardım sağlayan bir envanterdir.

Envanter güvenliği artırabilir, yeniden kullanımı teşvik edebilir ve bulmayı genellikle kolaylaştırır. Örneğin Azure Dağıtım Ortamları, kod olarak altyapı (IaC) aracılığıyla oluşturulan karmaşık altyapıyı hem geliştirme hem de işlemlerin anlayabileceği düzeyde soyut bir ortam olarak açıklar ve izler. Benzer şekilde , Azure API Center geliştiricilerin API'leri keşfetmesi ve kullanması için bir yol sağlar. GitHub Packages veya Azure Artifacts (veya onaylı paketlerin ve SDK'ların diğer envanterleri) gibi paket kayıt defterleri tedarik zinciri güvenliğini artırır. Bu araçların her biri atıkları yönetmenize, izlemenize ve temizlemenize yardımcı olacak bir envanter sağlar.

Bu envanterleri nasıl oluşturacağınız veya uygulayacağınız değerlendirilirken, önemli kararlardan biri içeriklerinin ne kadar geniş kapsamlı görünür olması gerektiğini belirlemektir. Burada doğru veya yanlış bir yanıt olmadığını unutmayın. Bazı şirketler açık mutfak yaklaşımını benimser ve burada "herkes hazırlanan yemeği görebilir, ancak yalnızca birkaç kişi pişirebilir." Açık mutfak sayesinde geliştiriciler yazılım varlıklarını tam olarak görebilir ancak yalnızca sorumlu oldukları varlıkları değiştirebilir. Buna karşılık, düzenlenen şirketlerin daha katı kuralları olabilir ve proje adlarının görünürlüğü bile hassas olarak kabul edilir.

İlişkiler aracılığıyla bulmayı ve izlemeyi geliştirme

Sahip olduğunuz şeyleri izlemenize yardımcı olacak bir veya daha fazla envanter sisteminin olması, platform mühendisliği uygulamaları ve teknik yayılmayı önleme açısından kritik öneme sahiptir. Başlangıçta düz envanter listeleri kümesine sahip olmak yeterli olabilir. Ancak, başlamak için gerekli olmasa da, birden çok envanterde farklı varlıklar arasında ilişkiler ekleyerek bulunabilirliği geliştirebilirsiniz. Gereken görünürlük düzeyinden bağımsız olarak, merkezi bir toplama noktasına sahip olmak ekiplerin kendilerine sağlanan tüm varlıkları hızla aramasına ve keşfetmesine olanak tanır. Bu, yeniden kullanımı teşvik eder, yedekliliği azaltır ve idareye tutarlı bir yaklaşım oluşturur.

Bir API tanımı ile arabirimi uygulayan dağıtılan uygulama kodu arasındaki ilişkiyi göz önünde bulundurun. Bu kod bir depoda depolanır ve bir ekip tarafından yönetilir ve kullanımıyla ilgili belgeler sağlar. Geliştirme, test, üretim ve hatta geçici korumalı alan ortamları oluşturulur. Buluta özel senaryolarda ortamlar paylaşılan bir Kubernetes kümesine dağıtılabilir. API'yi oluşturan geliştirme ekibinin ve tüm iç tüketicilerinin bunların her biri hakkında bilgi alabilmesi gerekir, ancak kaynakların arasındaki ilişki belirgin değildir.

Başlangıç olarak, her bir şeyin birbiriyle ilişkisini izlemeye yardımcı olmak için wiki sayfası kadar basit bir şey kullanabilirsiniz. Ancak belgeler hızla eskir ve hem bulma hem de ayrıştırma zor olabilir. İdeal olarak, kullanıcı arabirimlerinin envanterinizde bu ilişkileri geçirmesine güç veren bir ilişki grafı olan bir sisteminiz olabilir. Bulunabilirliği gerçekten geliştirmek için birden çok envanter veya grafik türünde depolanan öğeleri birlikte ilişkilendirebilmelisiniz. Envanterleri doğrudan kullanmanız gerekmeyebilir, ancak bunu bir API katalog sistemindeki bilgilerle ilişkilendirmek isteyebilirsiniz.

Dijital mağaza benzetimini kullanmak için kataloğunuzdaki öğeleri (şablonları) elde edilen envanter içeriğiyle ilişkilendirmek de yararlı olabilir. Örneğin, şablonlarınızdan birinin güvenli olmayan bir yapılandırma oluşturduğunu fark ederseniz, bunları düzeltmek için şablonun oluşturulduğu tüm kaynakları hızla bulmanız gerekir. Doğru başlangıç uygulama şablonları bile bu katalogdaki diğer katalog öğeleri türlerine (IaC şablonları gibi) bağlı başlangıç seti paketleridir. Bu ilişkilendirmeleri izlemek, henüz altyapı sağlanmamış olsa bile hatalı bir IaC şablonuna başvuran tüm uygulamaları proaktif olarak bulmanıza olanak sağlar.

Bu kavramsal, üst düzey geliştirici platformu grafının basitleştirilmiş bir varyasyonu, günümüzde birkaç araç setinde ve üründe bulunabilir, ancak buna verilen ad farklılık gösterir. Örneğin, açık kaynak portal araç seti Backstage.io bunu yazılım kataloğu olarak adlandırırken diğer ürünler farklı terimler kullanır. Ancak bu ürün ve araç setlerinin çoğu, daha geniş özellik kümelerini kullandığınızı varsayar ve envanterlerinizin içeriğinin bunların içinde çoğaltılması gerekir. Bu yineleme, katalog veritabanının içeriğinin kullanıcıya özgü olmadığı, eskiyebileceği ve gerçek kaynak sistemin kullanıcı yetkilendirme mekanizmaları tarafından denetlenmeyebileceği anlamına gelir. Ancak açık mutfak yaklaşımını kullanıyorsanız bu, kuruluşunuz için uygun olabilir.

Yardımcı olabilecek kavramlar hakkında daha fazla bilgi edinin.