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

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Apigee Edge udostępnia wiele różnych typów zasobów, a każdy z nich służy do innego celu. Niektóre zasoby można konfigurować (np. tworzyć, aktualizować lub usuwać) tylko za pomocą interfejsu Edge, interfejsów API do zarządzania lub narzędzi używających interfejsów API do zarządzania oraz przez użytkowników z określonymi wstępnymi rolami i uprawnieniami. Na przykład tylko administratorzy organizacji należący do określonej organizacji mogą konfigurować te zasoby. Oznacza to, że użytkownicy nie mogą konfigurować tych zasobów w portalach dla programistów ani w żaden inny sposób. Znajdziesz tam:

  • Proxy interfejsów API
  • Przepływy współdzielone
  • Usługi API
  • Pamięci podręczne
  • Podstawowe maszyny wirtualne
  • Magazyny kluczy i magazyny zaufania
  • Hosty wirtualne
  • Serwery docelowe
  • Pliki zasobów

Dostęp do tych zasobów jest ograniczony, ale jeśli zostaną w nich wprowadzone jakiekolwiek zmiany nawet przez autoryzowanych użytkowników, dane historyczne zostaną po prostu zastąpione nowymi danymi. Wynika to z tego, że te zasoby są przechowywane w Apigee Edge tylko według ich bieżącego stanu. Głównymi wyjątkami od tej reguły są serwery proxy interfejsów API i przepływy współdzielone.

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

Zarządzanie serwerami proxy interfejsów API i przepływami współdzielonymi jest zarządzane – czyli tworzenie, aktualizowanie i wdrażanie – za pomocą wersji. Wersje są numerowane sekwencyjnie, co umożliwia dodawanie nowych zmian i zapisywanie ich jako nowych wersji lub cofanie zmian przez wdrożenie poprzedniej wersji serwera proxy lub udostępnionego przepływu interfejsu API. W dowolnym momencie w środowisku może być wdrożona tylko 1 wersja procesu serwera proxy/udostępnionego interfejsu API, chyba że wersje mają inną ścieżkę podstawową.

Mimo że serwery proxy interfejsu API i przepływy współdzielone są zarządzane za pomocą wersji, po wprowadzeniu zmian w istniejącej wersji nie można wycofać zmian, ponieważ stare zmiany są po prostu zastąpione.

Audyty i historia

Apigee Edge udostępnia funkcje kontroli oraz interfejsów API, usług i historii organizacji, które mogą być pomocne podczas rozwiązywania problemów. Te funkcje umożliwiają wyświetlanie informacji o tym, kto wykonał określone operacje (tworzenie, odczytywanie, aktualizowanie, usuwanie, wdrażanie i wycofywanie) oraz kiedy zostały wykonane na zasobach Edge. Jeśli jednak w którymkolwiek z zasobów Edge są wykonywane jakiekolwiek operacje aktualizacji lub usuwania, kontrole nie wskażą starszych danych.

Antywzór

Zarządzanie zasobami brzegowymi (wymienionymi powyżej) bezpośrednio przez interfejs Edge lub interfejsy API do zarządzania bez używania systemu kontroli źródła

Panuje błędne przekonanie, że Apigee Edge będzie w stanie przywrócić zasoby do poprzedniego stanu po modyfikacji lub usunięciu. Edge Cloud nie umożliwia jednak przywracania zasobów do poprzedniego stanu. Dlatego Twoim obowiązkiem jest dopilnowanie, aby wszystkie dane związane z zasobami Edge były zarządzane za pomocą kontroli źródła. Dzięki temu można szybko przywrócić stare dane w przypadku przypadkowego usunięcia lub przywrócenia dowolnej zmiany. Jest to szczególnie ważne w przypadku środowisk produkcyjnych, w których dane są wymagane do obsługi ruchu w środowisku wykonawczym.

Wyjaśnimy to, podając kilka przykładów i przedstawimy wpływ, jaki może spowodować, gdy dane nie są zarządzane za pomocą systemu kontroli źródeł i są modyfikowane/usuwane świadomie lub nieświadomie:

Przykład 1. Usunięcie lub modyfikacja serwera proxy interfejsu API

Po usunięciu serwera proxy interfejsu API lub wdrożeniu zmiany w istniejącej wersji nie będzie można odzyskać poprzedniego kodu. Jeśli serwer proxy interfejsu API zawiera kod Java, JavaScript, Node.js lub Python, który nie jest zarządzany w systemie zarządzania kontrolą źródła (SCM) poza Apigee, może to doprowadzić do utraty dużej ilości pracy i wysiłku przy programowaniu.

Przykład 2: określenie serwerów proxy interfejsu API przy użyciu konkretnych hostów wirtualnych

Certyfikat na hoście wirtualnym wkrótce wygaśnie i należy go zaktualizować. W przypadku wielu serwerów proxy API określenie, które serwery proxy API używają hosta wirtualnego do testowania, może być trudne. Jeśli serwery proxy interfejsów API są zarządzane w systemie SCM poza Apigee, możesz łatwo przeszukać to repozytorium.

Przykład 3. Usunięcie magazynu kluczy/magazynu zaufania

Jeśli magazyn kluczy / magazyn zaufania używany przez konfigurację hosta wirtualnego lub serwera docelowego zostanie usunięty, nie będzie można go przywrócić, chyba że szczegóły jego konfiguracji, w tym certyfikaty lub klucze prywatne, będą przechowywane w kontroli źródła.

Wpływ

  • Jeśli którykolwiek z zasobów Edge zostanie usunięty, nie będzie można przywrócić zasobu i jego zawartości z Apigee Edge.
  • Żądania do interfejsu API mogą kończyć się niepowodzeniem z powodu niespodziewanych błędów, które prowadzą do przerwy w działaniu, dopóki zasób nie zostanie przywrócony do poprzedniego stanu.
  • Wyszukiwanie zależności między serwerami proxy interfejsów API a innymi zasobami w Apigee Edge jest trudne.

Sprawdzona metoda

  • Do zarządzania serwerami proxy interfejsów API i przepływami współdzielonymi możesz używać dowolnego standardowego narzędzia SCM w połączeniu z potokiem ciągłej integracji i ciągłego wdrażania (CICD).
  • Do zarządzania innymi zasobami brzegowymi używaj dowolnego standardowego narzędzia SCM, w tym produktów interfejsów API, pamięci podręcznych, KVM, serwerów docelowych, hostów wirtualnych i magazynów kluczy.
    • Jeśli istnieją już zasoby Edge, za pomocą interfejsów API do zarządzania pobierz dla nich szczegóły konfiguracji w postaci ładunku JSON/XML i zapisz je w systemie zarządzania kontrolą źródła.
    • Zarządzaj wszystkimi nowymi aktualizacjami tych zasobów w zarządzaniu kontrolą źródła.
    • Jeśli zachodzi potrzeba utworzenia nowych zasobów Edge lub zaktualizowania istniejących, użyj odpowiedniego ładunku JSON/XML zapisanego w zarządzaniu kontrolą źródła i zaktualizuj konfigurację w Edge przy użyciu interfejsów API do zarządzania.

* Zaszyfrowanych KVM nie można eksportować z interfejsu API w postaci zwykłego tekstu. Obowiązkiem użytkownika jest rejestrowanie wartości umieszczanych w zaszyfrowanych maszynach wirtualnych.

Więcej informacji