Antipattern: Kaynak kontrol yönetimini kullanmadan Edge kaynaklarını yönetme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Apigee Edge, her biri farklı bir amaca hizmet eden birçok farklı türde kaynak sağlar. Yalnızca Edge kullanıcı arayüzü, yönetim API'leri veya yönetim API'lerini kullanan araçlar aracılığıyla ve gerekli rollere ve izinlere sahip kullanıcılar tarafından yapılandırılabilir (ör. oluşturulabilir, güncellenebilir ve/veya silinebilir) belirli kaynaklar vardır. Örneğin, bu kaynakları yalnızca belirli bir kuruluşa ait kuruluş yöneticileri yapılandırabilir. Bu, son kullanıcıların bu kaynakları geliştirici portalları veya başka bir yöntemle yapılandıramayacağı anlamına gelir. Bu kaynaklara şunlar dahildir:

  • API proxy'leri
  • Paylaşılan akışlar
  • API ürünleri
  • Önbellekler
  • KVM'ler
  • Anahtar depoları ve güven depoları
  • Sanal ana makineler
  • Hedef sunucular
  • Kaynak dosyaları

Bu kaynaklara erişim kısıtlanmış olsa da yetkili kullanıcılar tarafından bile bunlarda herhangi bir değişiklik yapılırsa geçmiş verilerin üzerine yeni veriler yazılır. Bunun nedeni, bu kaynakların Apigee Edge'de yalnızca mevcut durumlarına göre depolanmasıdır. Bu kuralın başlıca istisnaları API proxy'leri ve paylaşılan akışlardır.

Düzeltme Kontrolü Altında API Proxy'leri ve Paylaşılan Akışlar

API proxy'leri ve paylaşılan akışlar, düzeltmeler aracılığıyla yönetilir (yani oluşturulur, güncellenir ve dağıtılır). Düzeltmeler sırayla numaralandırılır. Bu sayede yeni değişiklikler ekleyip yeni bir düzeltme olarak kaydedebilir veya API proxy'sinin/paylaşılan akışının önceki bir düzeltmesini dağıtarak bir değişikliği geri alabilirsiniz. Düzeltmeler farklı bir temel yola sahip olmadığı sürece, bir ortamda dağıtılan API proxy/ortak akış düzeltmelerinin her biri için herhangi bir zamanda yalnızca bir düzeltme olabilir.

API proxy'leri ve paylaşılan akışlar düzeltmeler aracılığıyla yönetilse de mevcut bir düzeltmede herhangi bir değişiklik yapılırsa eski değişikliklerin üzerine yazıldığı için geri alma işlemi yapılamaz.

Denetimler ve Geçmiş

Apigee Edge, sorun giderme senaryolarında faydalı olabilecek Denetimler ve API, Ürün ve kuruluş geçmişi özelliklerini sunar. Bu özellikler, belirli işlemleri (oluşturma, okuma, güncelleme, silme, dağıtma ve dağıtmayı kaldırma) kimin gerçekleştirdiği ve işlemlerin Edge kaynaklarında ne zaman gerçekleştirildiği gibi bilgileri görüntülemenizi sağlar. Ancak Edge kaynaklarından herhangi birinde güncelleme veya silme işlemi yapılırsa denetlemelerde eski veriler sağlanamaz.

Antipattern

Kaynak kontrol sistemini kullanmadan Edge kaynaklarını (yukarıda listelenmiştir) doğrudan Edge kullanıcı arayüzü veya yönetim API'leri üzerinden yönetme

Apigee Edge'in, değişiklikler veya silme işlemlerinden sonra kaynakları önceki durumlarına geri yükleyebileceğine dair yanlış bir kanı vardır. Ancak Edge Cloud, kaynakların önceki durumlarına geri yüklenmesini sağlamaz. Bu nedenle, Edge kaynaklarıyla ilgili tüm verilerin kaynak denetimi yönetimi aracılığıyla yönetilmesini sağlamak kullanıcının sorumluluğundadır. Böylece, yanlışlıkla silme veya herhangi bir değişikliğin geri alınması gerektiği durumlarda eski veriler hızlı bir şekilde geri yüklenebilir. Bu, özellikle bu verilerin çalışma zamanı trafiği için gerekli olduğu üretim ortamları için önemlidir.

Bu konuyu birkaç örnek ve veriler bir kaynak denetim sistemi üzerinden yönetilmezse ve bilinçli veya bilinçsiz olarak değiştirilirse/silinirse ne gibi sonuçlar doğurabileceğini açıklayarak açıklayalım:

1. örnek: API proxy'sinin silinmesi veya değiştirilmesi

Bir API proxy'si silindiğinde veya mevcut bir düzeltmede değişiklik yapıldığında önceki kod kurtarılamaz. API proxy'si, Apigee dışında bir kaynak denetimi yönetimi (SCM) sisteminde yönetilmeyen Java, JavaScript, Node.js veya Python kodu içeriyorsa çok fazla geliştirme çalışması ve çaba kaybedilebilir.

2. Örnek: Belirli sanal ana makineleri kullanarak API proxy'lerinin belirlenmesi

Bir sanal ana makinedeki sertifikanın süresi doluyor ve bu sanal ana makinenin güncellenmesi gerekiyor. Çok sayıda API proxy'si varsa test amacıyla bu sanal ana makineyi kullanan API proxy'leri belirlemek zor olabilir. API proxy'leri Apigee dışındaki bir SCM sisteminde yönetiliyorsa depoyu aramak kolay olur.

Örnek 3: Anahtar mağazasının/güven mağazasının silinmesi

Sanal ana makine veya hedef sunucu yapılandırması tarafından kullanılan bir anahtar/güvenlik anahtarı deposu silinirse sertifikalar ve/veya özel anahtarlar da dahil olmak üzere anahtar/güvenlik anahtarı deposunun yapılandırma ayrıntıları kaynak denetiminde depolanmadıkça bu depoyu geri yüklemek mümkün olmaz.

Etki

  • Edge kaynaklarından herhangi biri silinirse kaynak ve içeriği Apigee Edge'den kurtarılamaz.
  • API istekleri, kaynak önceki durumuna geri yüklenene kadar beklenmedik hatalarla başarısız olabilir ve kesintilere neden olabilir.
  • Apigee Edge'de API proxy'leri ile diğer kaynaklar arasındaki bağımlılık ilişkilerini aramak zordur.

En İyi Uygulama

  • API proxy'lerini ve paylaşılan akışları yönetmek için sürekli entegrasyon ve sürekli dağıtım (CICD) ardışık düzeniyle birlikte herhangi bir standart SCM kullanın.
  • API ürünleri, önbellekler, KVM'ler, hedef sunucular, sanal ana makineler ve anahtar depoları dahil olmak üzere diğer Edge kaynaklarını yönetmek için herhangi bir standart SCM kullanın.
    • Mevcut Edge kaynakları varsa yönetim API'lerini kullanarak bu kaynakların yapılandırma ayrıntılarını JSON/XML yükü olarak alıp kaynak denetimi yönetiminde saklayın.
    • Bu kaynaklarda yapılan yeni güncellemeleri kaynak kontrol yönetiminde yönetin.
    • Yeni Edge kaynakları oluşturmanız veya mevcut Edge kaynaklarını güncellemeniz gerekiyorsa kaynak denetimi yönetiminde depolanan uygun JSON/XML yükünü kullanın ve yönetim API'lerini kullanarak Edge'deki yapılandırmayı güncelleyin.

* Şifrelenmiş KVM'ler API'den düz metin olarak dışa aktarılamaz. Şifrelenmiş KVM'lere hangi değerlerin yerleştirildiğini kaydetmek kullanıcının sorumluluğundadır.

Daha fazla bilgi