Antywzorca: zarządzaj zasobami brzegowymi bez używania kontroli źródła

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Apigee Edge udostępnia wiele różnych typów zasobów, z których każdy służy do innego celu. Niektóre zasoby można konfigurować (tj. tworzyć, aktualizować lub usuwać) tylko za pomocą interfejsu użytkownika Edge, interfejsów API do zarządzania lub narzędzi, które korzystają z interfejsów API do zarządzania, oraz przez użytkowników z odpowiednimi rolami i uprawnieniami. Na przykład tylko administratorzy organizacji należący do danej organizacji mogą konfigurować te zasoby. Oznacza to, że użytkownicy nie mogą konfigurować tych zasobów za pomocą portali dla deweloperów ani w żaden inny sposób. Te zasoby obejmują:

  • Proxy interfejsów API
  • Przepływy współdzielone
  • Usługi API
  • Pamięci podręczne
  • KVM
  • Keystore i truststore
  • Wirtualni hostowie
  • Serwery docelowe
  • Pliki zasobów

Te zasoby mają ograniczony dostęp, ale jeśli zostaną w nich wprowadzone jakiekolwiek zmiany, nawet przez upoważnionych użytkowników, dane historyczne zostaną po prostu zastąpione nowymi. Wynika to z tego, że te zasoby są przechowywane w Apigee Edge tylko w swoim bieżącym stanie. Główne wyjątki od tej zasady to serwery proxy interfejsu API i wspólne przepływy danych.

Proxy interfejsu API i przepływy współdzielone w ramach kontroli wersji

Za pomocą poprawek zarządzasz proxy interfejsu API i wspólne przepływy danych, czyli je tworzysz, aktualizujesz i wdrażasz. Wersje są numerowane kolejno, co umożliwia dodawanie nowych zmian i zapisywanie ich jako nowych wersji lub przywracanie zmian przez wdrożenie poprzedniej wersji proxy interfejsu API lub przepływu współdzielonego. W danym momencie w danym środowisku może być wdrożona tylko jedna wersja proxy interfejsu API lub przepływu współdzielonego, chyba że wersje mają inną ścieżkę podstawową.

Chociaż zarządzanie przezroczystymi serwerami proxy interfejsu API i wspólne przepływy są możliwe za pomocą wersji, jeśli wprowadzisz jakiekolwiek zmiany w dotychczasowej wersji, nie będzie można jej cofnąć, ponieważ stare zmiany zostaną po prostu zastąpione.

Audyty i historia

Apigee Edge udostępnia funkcje audytu oraz historii interfejsu API, usługi i organizacji, które mogą być przydatne podczas rozwiązywania problemów. Te funkcje umożliwiają wyświetlanie informacji, takich jak to, kto wykonał określone operacje (tworzenie, odczyt, aktualizacja, usunięcie, wdrożenie i wycofanie) oraz kiedy operacje zostały wykonane na zasobach usługi CDN. Jeśli jednak w przypadku dowolnego zasobu Edge zostaną wykonane operacje aktualizacji lub usunięcia, audyty nie będą mogły udostępnić starszych danych.

antywzorzec

zarządzanie zasobami Edge (wymienionymi powyżej) bezpośrednio w interfejsie Edge lub interfejsach API do zarządzania bez korzystania z systemu kontroli źródła;

Istnieje przekonanie, że Apigee Edge będzie w stanie przywrócić zasoby do poprzedniego stanu po wprowadzeniu modyfikacji lub usunięciu. Edge Cloud nie umożliwia jednak przywracania zasobów do poprzedniego stanu. Dlatego użytkownik musi zadbać o to, aby wszystkimi danymi związanymi z zasobami Edge zarządzać za pomocą kontroli źródła, aby w razie przypadkowego usunięcia lub odwrócenia zmian można było szybko przywrócić stare dane. Jest to szczególnie ważne w przypadku środowisk produkcyjnych, w których te dane są wymagane do obsługi ruchu w czasie wykonywania.

Wyjaśnijmy to na przykładach i wskażmy, jakie mogą być konsekwencje, jeśli danymi zarządza się bez użycia systemu kontroli wersji i zostają one zmienione lub usunięte świadomie lub nieświadomie:

Przykład 1. Usuwanie lub modyfikowanie proxy interfejsu API

Gdy usuniesz serwer proxy interfejsu API lub wdrożysz zmianę w dotychczasowej wersji, poprzedni kod nie będzie już możliwy do odzyskania. Jeśli serwer proxy interfejsu API zawiera kod w języku Java, JavaScript, Node.js lub Python, którym nie zarządza system kontroli wersji (SCM) poza Apigee, może to spowodować utratę dużej ilości pracy i zaangażowania.

Przykład 2. Określanie serwerów proxy API za pomocą określonych hostów wirtualnych

Ważność certyfikatu hosta wirtualnego wygasa i należy go zaktualizować. Jeśli jest ich dużo, ustalenie, które z nich korzystają z tego hosta wirtualnego do celów testowania, może być trudne. Jeśli proxy interfejsu API są zarządzane w systemie SCM poza Apigee, można łatwo przeszukać repozytorium.

Przykład 3. Usuwanie katalogu kluczy/katalogu zaufania

Jeśli klucze przechowywane w magazynie kluczy lub magazynie zaufania, które są używane przez hosta wirtualnego lub konfigurację serwera docelowego, zostaną usunięte, nie będzie można ich przywrócić, chyba że szczegóły konfiguracji magazynu kluczy lub magazynu zaufania, w tym certyfikaty lub klucze prywatne, są przechowywane w kontroli źródłowej.

Wpływ

  • Jeśli którykolwiek z zasobów Edge zostanie usunięty, nie będzie można odzyskać tego zasobu ani jego zawartości z Apigee Edge.
  • Żądania interfejsu API mogą kończyć się niepowodzeniem z powodu nieoczekiwanych błędów, co spowoduje przerwę w działaniu usługi do czasu przywrócenia jej do poprzedniego stanu.
  • Trudno jest znaleźć wzajemne zależności między interfejsami API a innymi zasobami w Apigee Edge.

Sprawdzona metoda

  • Użyj dowolnego standardowego systemu SCM w połączeniu z rurociągiem ciągłej integracji i ciągłego wdrażania (CICD) do zarządzania serwerami proxy interfejsu API i wspólnymi przepływami.
  • Do zarządzania innymi zasobami Edge, w tym produktami API, pamięci podręcznej, KVM, serwerów docelowych, hostów wirtualnych i repozytorium kluczy, możesz używać dowolnego standardowego SCM.
    • Jeśli istnieją już zasoby Edge, użyj interfejsów API do zarządzania, aby uzyskać szczegóły ich konfiguracji w postaci danych JSON/XML, i przechowuj je w systemie kontroli źródłowej.
    • Zarządzaj wszystkimi nowymi aktualizacjami tych zasobów w ramach zarządzania kontrolą wersji.
    • Jeśli chcesz utworzyć nowe zasoby Edge lub zaktualizować istniejące zasoby Edge, użyj odpowiedniego pliku danych JSON/XML przechowywanego w zarządzaniu kontrolą źródła i zaktualizuj konfigurację w Edge za pomocą interfejsów API do zarządzania.

* Zaszyfrowanych KVM nie można wyeksportować w postaci zwykłego tekstu z interfejsu API. Użytkownik jest odpowiedzialny za rejestrowanie wartości umieszczanych w zaszyfrowanych KVM.

Więcej informacji