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

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

Apigee Edge çok sayıda farklı kaynak türü sunar ve her biri farklı bir amaca hizmet eder. Yalnızca Edge kullanıcı arayüzü, yönetim API'leri veya yönetim API'lerini kullanan araçlar aracılığıyla ve ön koşul rollerine ve izinlere sahip kullanıcılar tarafından yapılandırılabilen (ör. oluşturulabilen, güncellenebilen ve/veya silinebilen) belirli kaynaklar vardır. Örneğin, yalnızca belirli bir kuruluşa ait kuruluş yöneticileri bu kaynakları yapılandırabilir. Yani bu kaynaklar, son kullanıcılar tarafından geliştirici portalları veya başka bir yöntemle yapılandırılamaz. Şu kaynaklardan bazıları:

  • 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 kaynakların erişimi kısıtlı olsa da yetkili kullanıcılar tarafından bile herhangi bir değişiklik yapılırsa yeni veriler geçmiş verilerin üzerine 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 Denetimi Altındaki 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ıralı olarak numaralandırılır. Böylece yeni değişiklikler ekleyip bunları yeni bir düzeltme olarak kaydedebilir veya API proxy'si/paylaşılan akışının önceki bir düzeltmesini dağıtarak değişikliği geri alabilirsiniz. Herhangi bir zamanda, bir ortamda dağıtılan bir API proxy'sinin/paylaşılan akışının yalnızca bir düzeltmesi olabilir (düzeltmeler farklı bir temel yola sahip değilse).

API proxy'leri ve paylaşılan akışlar revizyonlarla yönetilse de mevcut bir düzeltmede herhangi bir değişiklik yapılırsa eski değişikliklerin üzerine yazıldığı için bunu geri almanın bir yolu yoktur.

Denetimler ve Geçmiş

Apigee Edge, sorun giderme senaryolarında yardımcı olabilecek Denetimler ile API, Ürün ve kuruluş geçmişi özellikleri sunar. Bu özellikler sayesinde belirli işlemleri (oluşturma, okuma, güncelleme, silme, dağıtma ve dağıtımdan kaldırma) kimin yaptığı ve işlemlerin Edge kaynaklarında ne zaman gerçekleştirildiği gibi bilgileri görüntüleyebilirsiniz. Bununla birlikte, Edge kaynaklarının herhangi birinde güncelleme veya silme işlemi gerçekleştirilirse denetimler size eski verileri sağlayamaz.

Antipattern

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

Apigee Edge'in değiştirme veya silme işleminden sonra kaynakları önceki durumlarına geri yükleyebileceği konusunda bir yanlışlık var. Ancak Edge Cloud, kaynakların önceki durumlarına geri yüklenmesini sağlamaz. Bu nedenle, yanlışlıkla silme veya herhangi bir değişikliğin geri alınması gereken durumlarda eski verilerin hızla geri yüklenebilmesi için Edge kaynaklarıyla ilgili tüm verilerin kaynak kontrolü yönetimiyle yönetilmesini sağlamak kullanıcının sorumluluğundadır. Bu durum, özellikle çalışma zamanı trafiği için bu verilerin gerekli olduğu üretim ortamları için önemlidir.

Bunu birkaç örnek yardımıyla açıklayalım ve verilerin bir kaynak kontrol sistemiyle yönetilmemesi ve bilerek veya bilmeden değiştirilmesi/silinmesi durumunda ortaya çıkabilecek etkilerin türünü açıklayalım:

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

Bir API proxy'si silindiğinde veya mevcut bir düzeltmeye değişiklik yapıldığında önceki kod kurtarılamaz. API proxy'sinde Apigee dışındaki kaynak kontrol yönetimi (SCM) sisteminde yönetilmeyen Java, JavaScript, Node.js veya Python kodu bulunuyorsa geliştirme çalışmaları ve çabaları kaybolabilir.

2. Örnek: Belirli sanal ana makineler kullanarak API proxy'leri belirleme

Sanal ana makinedeki bir sertifikanın süresi doluyor ve bu sanal ana makinenin güncellenmesi gerekiyor. Çok sayıda API proxy'si varsa hangi API proxy'lerinin test amacıyla bu sanal ana makineyi kullandığını tanımlamak zor olabilir. API proxy'leri Apigee dışındaki bir SCM sisteminde yönetiliyorsa depoda arama yapmak kolay olacaktır.

3. Örnek: Anahtar deposunu/güven deposunu silme

Sanal ana makine veya hedef sunucu yapılandırması tarafından kullanılan bir anahtar deposu/güven deposu silinirse sertifikalar ve/veya özel anahtarlar dahil olmak üzere anahtar deposunun/güven deposunun yapılandırma ayrıntıları kaynak kontrolünde depolanmadıkça anahtar deposu/güvenilir deposu geri yüklenemez.

Etki

  • Edge kaynaklarından herhangi biri silinirse kaynağı 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 kesinti yaşanabilir.
  • Apigee Edge'de API proxy'leri ile diğer kaynaklar arasındaki karşılıklı bağımlılıkları aramak zordur.

En İyi Uygulama

  • API proxy'lerini ve paylaşılan akışları yönetmek için herhangi bir standart SCM'yi sürekli entegrasyon ve sürekli dağıtım (CICD) ardışık düzeniyle birlikte kullanın.
  • API ürünleri, önbellekler, KVM'ler, hedef sunucular, sanal ana makineler ve anahtar depoları dahil diğer Edge kaynaklarını yönetmek için herhangi bir standart SCM'yi kullanın.
    • Mevcut Edge kaynakları varsa bunlar için yapılandırma ayrıntılarını JSON/XML yükü olarak almak ve bunları kaynak kontrol yönetiminde depolamak için yönetim API'lerini kullanı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 kontrol yönetiminde depolanan uygun JSON/XML yükünü kullanın ve yönetim API'lerini kullanarak Edge'de yapılandırmayı güncelleyin.

* Şifrelenmiş KVM'ler, API'den düz metin olarak dışa aktarılamaz. Şifrelenmiş KVM'lere hangi değerlerin koyulduğunun kaydını tutmak kullanıcının sorumluluğundadır.

Daha fazla bilgi