Sprawdź możliwość wyjścia, zanim uzależnisz się od usługi
Oddziel własność kodu źródłowego od przenośności operacyjnej. Testuj eksporty, niezależne buildy, dostęp do infrastruktury i dowody potrzebne do przejścia.
Wydawca TaigaJak piszemy
Czego się nauczysz
- Wskaż zasoby i prawa potrzebne do działania bez dostawcy.
- Zaprojektuj małe ćwiczenie wyjścia przed powstaniem krytycznej zależności.
- Oddziel decyzje o eksporcie, przejściu i usunięciu.
Określ, co musi pozostać użyteczne
Własność kodu źródłowego jest wartościowa. Stanowi tylko część planu wyjścia.
Rozważ fikcyjną aplikację, której kod znajduje się w repozytorium firmy. Build pobiera prywatny pakiet dostawcy. Produkcja używa konta chmurowego dostawcy. Nikt nie zapisał procedury odtwarzania bazy danych.
Firma ma kod, ale nie potrafi jeszcze samodzielnie eksploatować usługi. Plan wyjścia musi obejmować razem prawa, zasoby, dostęp i wiedzę.
Zinwentaryzuj zależności
| Zasób lub odpowiedzialność | Pytanie o wyjście |
|---|---|
| Kod i historia | Czy następny zespół ma dostęp do pełnego repozytorium? |
| Pakiety i licencje | Czy może uzyskać i używać każdej wymaganej zależności? |
| Dane i schematy | Czy może odtworzyć użyteczne rekordy z zachowanymi relacjami? |
| Infrastruktura i konfiguracja | Czy może odtworzyć środowisko i wymagane ustawienia? |
| Tożsamości i sekrety | Kto tworzy zastępcze dane uwierzytelniające i kontroluje dostęp? |
| DNS i certyfikaty | Kto może przenieść publiczny endpoint? |
| Dowody i eksploatacja | Jakie decyzje, runbooki, testy i zapisy incydentów pozostają dostępne? |
Sprawdź formaty i zakres eksportu. Czytelny eksport dokumentów nie musi zachowywać każdej relacji, załącznika ani zapisu wykonania. Poproś o próbkę i sprawdź ją z ludźmi, którzy będą jej używać.
Przeprowadź niezależną odbudowę
Użyj bezpiecznego środowiska testowego i zatwierdzonych danych przykładowych. Przekaż uprawnionemu inżynierowi proponowany pakiet przekazania. Poproś o zbudowanie aplikacji, zastosowanie konfiguracji, odtworzenie danych i zweryfikowanie jednej pełnej operacji biznesowej.
Zapisz każdy brak i czas jego uzupełnienia. Nie dostarczaj po cichu nieudokumentowanej wiedzy podczas ćwiczenia. Celem jest znalezienie tego, czego brakowałoby następnemu zespołowi.
Następnie zbadaj ograniczenia przejścia: nakładające się abonamenty, czas transferu danych, dostęp do pakietów, zmiany tożsamości i dostępność wsparcia. Uwzględnij koszty w porównaniu budowy i zakupu.
Oddziel eksport od usunięcia
Eksport tworzy kopię. Przejście zmienia podmiot eksploatujący usługę. Usunięcie usuwa określone rekordy w uzgodnionym procesie. To osobne decyzje wymagające różnych dowodów.
Określ wymagany zakres retencji i usunięcia z właściwymi właścicielami. Potwierdź aktualne warunki i procedury dostawcy. Nie usuwaj jedynej użytecznej kopii odzyskiwania przed weryfikacją systemu odbierającego.
Taiga dokumentuje administracyjny proces eksportu i osobny proces usuwania. Wartości sekretów są wyłączone z eksportu. Przekazanie wymaga więc uprawnionego sposobu odtworzenia potrzebnych sekretów. Zweryfikuj bieżącą zawartość eksportu względem potrzeb przejścia; nie zakładaj, że jest pełną kopią zapasową aplikacji.
Zdecyduj, które zależności są akceptowalne
Przenośność nie wymaga usunięcia każdej usługi zarządzanej. Zależność może być rozsądnym wyborem, gdy rozumiesz jej wartość, ograniczenia i ścieżkę przejścia.
Zapisz zaakceptowane zależności, właściciela i wyzwalacz przeglądu. Powtórz ćwiczenie wyjścia po istotnej zmianie architektury lub umowy. Przejdź do planu wdrożenia, który uwzględnia te odpowiedzialności od początku.
Wykonaj ćwiczenie
Fikcyjny dostawca przekazuje repozytorium Git i eksport bazy danych. Wymień pięć innych elementów potrzebnych do samodzielnego uruchomienia aplikacji. Wybierz jeden i opisz test ujawniający brakującą zależność.
Pobierz arkusz (Markdown)Sprawdź zrozumienie
Źródła i dalsza lektura
- NIST: Secure Software Development Framework ↗
- Taiga docs: Data and privacy ↗
- Taiga docs: Integrations and environments ↗
Powiązana lektura od Taiga
Odznaczenie tej opcji usuwa wszystkie postępy zapisane w tej przeglądarce.
Postępy pozostają w tej przeglądarce. Bez konta i śledzenia.