Architekt systemów IT
Przekładaj wymagania na architekturę, która znosi awarie i daje się rozwijać.
Kompendium zawodu — pojęcia i zwroty
Pojęcia w pracy
- Kontrakt integracji
- Uzgodnienie formatu danych i zachowania na granicy dwóch systemów.
- Wymaganie jakościowe
- Sprawdzalny warunek działania systemu, np. dostępność w opisanym scenariuszu.
- ADR
- Zapis decyzji architektonicznej wraz z kontekstem, opcjami i skutkami.
Zwroty w typowych sytuacjach
- „Który system jest źródłem prawdy dla tego statusu?”
- Ustalasz odpowiedzialność za informację w integracji.
- „Uzgodnijmy zachowanie po upływie czasu oczekiwania.”
- Projektujesz obsługę niepewnego wyniku żądania.
Podstawy · Lekcja 1 z 9
Mierzalne wymagania jakościowe
Zamień oczekiwanie „system działa szybko” na scenariusz z obciążeniem, miarą i progiem. Ustal, której ścieżki dotyczy wynik. Rozróżnij wynik średni od opóźnień widocznych w wolniejszych żądaniach.
- Co zrobić najpierwZdefiniuj jakość
- Co zrobić dalejMierzalne wymagania jakościowe
- Jak zakończyćSprawdź odpowiedź i wyjaśnij swój wybór
Zdefiniuj jakość
Określ przepływ, spodziewane obciążenie i miarę, np. p95 czasu odpowiedzi. Uzgodnij warunki pomiaru i poziom dostępności.
Ćwiczenie praktyczne
Zapisz wymaganie opóźnienia dla koszyka przy 200 równoczesnych sesjach.
Sprawdź się — opcjonalne pytanie
Który zapis daje się sprawdzić?
- Koszyk jest szybki
- 95% odpowiedzi koszyka poniżej 400 ms przy 200 sesjach
- Aplikacja ma mieć nowoczesny backend
Pokaż odpowiedź i wyjaśnienie
95% odpowiedzi koszyka poniżej 400 ms przy 200 sesjach. Próg, percentyl, ścieżka i obciążenie definiują odtwarzalny pomiar.
Podstawy · Lekcja 2 z 9
Kontekst systemu i odpowiedzialność
Zacznij od aktorów, ich celu i systemów zewnętrznych. Na diagramie kontekstu zaznacz kierunek przepływu oraz dane, za które odpowiada każda strona.
- Co zrobić najpierwAktor
- Co zrobić dalejSystem
- Jak zakończyćZależność zewnętrzna
Przykład z pracy
Klient wysyła zamówienie do sklepu. Sklep zapisuje zamówienie, operator płatności potwierdza transakcję, a przewoźnik przyjmuje zlecenie wysyłki.
Ćwiczenie praktyczne
Narysuj kontekst rezerwacji. Wskaż źródło prawdy dla dostępności oraz potwierdzenia płatności.
Symulacja rozmowy
Jak zaprojektujesz ponowienie, żeby nie nadać dwóch przesyłek?
Porównaj z przykładową odpowiedzią
Ustalam wspólny, stabilny identyfikator oraz zasady deduplikacji w kontrakcie. Przy niepewnym wyniku najpierw sprawdzam status lub ponawiam z tym samym identyfikatorem zgodnie z kontraktem.
Sprawdź się — opcjonalne pytanie
Co powinien pokazać diagram kontekstu?
- Każdą tabelę techniczną bazy
- Użytkowników, system, zależności i kierunki komunikacji
- Wszystkie linie kodu aplikacji
Pokaż odpowiedź i wyjaśnienie
Użytkowników, system, zależności i kierunki komunikacji. Diagram kontekstu służy wspólnemu zrozumieniu granic i zależności.
Podstawy · Lekcja 3 z 9
Ścieżka krytyczna i budżet opóźnienia
Ustal, które kroki muszą zakończyć się przed odpowiedzią. Dla każdego oceń opóźnienie, a następnie zmierz cały przebieg. Nie sumuj percentyli jako zastępczego pomiaru percentyla całej ścieżki.
- Co zrobić najpierwWejście
- Co zrobić dalejKroki blokujące
- Jak zakończyćOdpowiedź i pomiar
Przykład z pracy
Koszyk sprawdza zapas i cenę przed potwierdzeniem, ale wiadomość e-mail może powstać później. Pomiar zaczyna się od wejścia żądania i kończy odpowiedzią.
Ćwiczenie praktyczne
Wypisz zależności blokujące odpowiedź i te, które mogą zostać wykonane po niej.
Sprawdź się — opcjonalne pytanie
Gdzie zmierzyć docelowy p95 odpowiedzi koszyka?
- Wyłącznie w losowo wybranej tabeli
- Przez podanie średniej z pojedynczego komponentu
- Na całej ścieżce od żądania do odpowiedzi
Pokaż odpowiedź i wyjaśnienie
Na całej ścieżce od żądania do odpowiedzi. Mierzymy doświadczenie użytkownika na pełnym przebiegu w zadanych warunkach.
Praca krok po kroku · Lekcja 4 z 9
Granice odpowiedzialności
Wskaż system będący źródłem danych i kontrakt integracji. Określ zachowanie podczas przerwy połączenia. Jeżeli żądanie można ponowić, zaprojektuj rozpoznawanie tej samej operacji.
- Co zrobić najpierwUstal kontrakt integracji
- Co zrobić dalejGranice odpowiedzialności
- Jak zakończyćSprawdź odpowiedź i wyjaśnij swój wybór
Ustal kontrakt integracji
Wskaż właściciela danych i odpowiedzialność systemów. Zaplanuj timeout, skończoną liczbę ponowień i identyfikator operacji.
Ćwiczenie praktyczne
Rozpisz zachowanie systemu zamówień, gdy dostawca wysyłki odpowie z opóźnieniem.
Sprawdź się — opcjonalne pytanie
Co pomaga uniknąć podwójnej operacji przy ponowieniu?
- Stabilny identyfikator operacji
- Nowy losowy identyfikator dla każdego sprawdzenia
- Dłuższa nazwa endpointu
Pokaż odpowiedź i wyjaśnienie
Stabilny identyfikator operacji. Wspólny identyfikator pozwala odbiorcy rozpoznać powtórzenie tej samej operacji.
Praca krok po kroku · Lekcja 5 z 9
Timeout i powtórzenia w integracji
Timeout ogranicza czas oczekiwania, lecz nie określa, czy druga strona wykonała operację. Ponawiaj przejściowe błędy z limitem i uwzględnij idempotencję. Ostateczny stan powinien dać się sprawdzić.
- Co zrobić najpierwTimeout
- Co zrobić dalejSprawdzenie lub ograniczone ponowienie
- Jak zakończyćStan końcowy
Przykład z pracy
Przewoźnik przyjął przesyłkę, ale odpowiedź zaginęła. Ponowienie z identycznym identyfikatorem pozwala rozpoznać wykonane zlecenie.
Ćwiczenie praktyczne
Rozpisz warianty odpowiedzi dla powodzenia, błędu przejściowego i nieznanego wyniku.
Sprawdź się — opcjonalne pytanie
Co jest prawdą po przekroczeniu czasu oczekiwania?
- Wynik operacji może być nieznany
- Operacja na pewno się nie wykonała
- Można bezwarunkowo ponawiać bez limitu
Pokaż odpowiedź i wyjaśnienie
Wynik operacji może być nieznany. Odpowiedź mogła zaginąć już po wykonaniu operacji po stronie dostawcy.
Praca krok po kroku · Lekcja 6 z 9
Kolejka i nadmiar pracy
Kolejka oddziela tempo przyjmowania od tempa obsługi. Obserwuj wielkość zaległości i wiek najstarszego zadania. Z góry określ zachowanie, gdy zadanie wielokrotnie nie daje się przetworzyć.
- Co zrobić najpierwWejście
- Co zrobić dalejBufor i konsument
- Jak zakończyćZaległość i wiek
Przykład z pracy
Przy promocji wpływa 2000 zgłoszeń na minutę, a pracownik kolejki obsługuje 1000. Zaległość rośnie, więc należy ustalić limity, czas oczekiwania i reakcję operacyjną.
Ćwiczenie praktyczne
Zaproponuj mierniki dla kolejki wysyłek oraz próg eskalacji z krótkim uzasadnieniem.
Sprawdź się — opcjonalne pytanie
Co poza liczbą zadań ujawnia opóźnienie kolejki?
- Długość nazwy kolejki
- Wiek najstarszego nieobsłużonego zadania
- Liczba kolorów w panelu
Pokaż odpowiedź i wyjaśnienie
Wiek najstarszego nieobsłużonego zadania. Mała kolejka może wciąż zawierać zadanie zablokowane od dawna.
Trudniejsze sytuacje · Lekcja 7 z 9
Rejestr decyzji architektonicznej
Zapisz kontekst, rozważone możliwości, wybrany wariant i jego konsekwencje. Dodaj warunki, przy których decyzja będzie ponownie oceniona. Odnoś się do konkretnych wymagań i danych.
- Co zrobić najpierwZapisz kompromisy
- Co zrobić dalejRejestr decyzji architektonicznej
- Jak zakończyćSprawdź odpowiedź i wyjaśnij swój wybór
Zapisz kompromisy
Udokumentuj wybraną architekturę, koszty utrzymania oraz warunki ponownej oceny. Zmierz zachowanie po opóźnieniu zależności.
Ćwiczenie praktyczne
Napisz krótką decyzję o kolejce wiadomości z warunkiem przyszłego przeglądu.
Sprawdź się — opcjonalne pytanie
Co ułatwi następnemu zespołowi ocenę decyzji?
- Wyłącznie nazwa technologii
- Lista osób obecnych na spotkaniu
- Przesłanki, konsekwencje i warunek przeglądu
Pokaż odpowiedź i wyjaśnienie
Przesłanki, konsekwencje i warunek przeglądu. Te informacje wyjaśniają wybór i pozwalają ocenić, czy przesłanki nadal obowiązują.
Trudniejsze sytuacje · Lekcja 8 z 9
Plan migracji danych przy działającym systemie
Rozdziel dodanie nowego schematu, uzupełnienie danych i przełączenie odczytu. Mierz zgodność wyników między wersjami. Cofnięcie odczytu powinno być możliwe przed usunięciem starych danych.
- Co zrobić najpierwRozszerz schemat
- Co zrobić dalejUzupełnij i porównaj
- Jak zakończyćPrzełącz odczyt
Przykład z pracy
Nowa kolumna statusu powstaje bez przerywania aplikacji. Dane historyczne uzupełnia proces porcjami, a porównanie obu reprezentacji wykrywa wyjątki przed przełączeniem.
Ćwiczenie praktyczne
Rozpisz migrację pola statusu w trzech etapach. Podaj metrykę poprawności i warunek przerwania.
Sprawdź się — opcjonalne pytanie
Co należy wykonać przed usunięciem starej reprezentacji?
- Wyłączyć wszystkie porównania
- Przestać zapisywać wyniki migracji
- Potwierdzić zgodność i bezpieczne przełączenie odczytu
Pokaż odpowiedź i wyjaśnienie
Potwierdzić zgodność i bezpieczne przełączenie odczytu. Sprawdzenie danych i przełączenia ogranicza ryzyko utraty możliwości cofnięcia.
Trudniejsze sytuacje · Lekcja 9 z 9
Scenariusz awarii i gotowość operacyjna
Dla zależności określ sygnał awarii, zachowanie produktu, sposób odtworzenia pracy i właściciela reakcji. Sprawdź też, czy komunikat dla klienta odpowiada stanowi danych.
- Co zrobić najpierwWykrycie
- Co zrobić dalejZachowanie produktu
- Jak zakończyćOdtworzenie i kontrola
Przykład z pracy
Płatność czeka na potwierdzenie od dostawcy. Interfejs pokazuje status oczekujący, a operacje widzą wiek najstarszego zgłoszenia i mogą sprawdzić stan po identyfikatorze.
Ćwiczenie praktyczne
Opisz sprawdzenie awarii integracji na środowisku weryfikacyjnym i kryteria poprawnej reakcji.
Sprawdź się — opcjonalne pytanie
Co pozwala odróżnić stan oczekujący od zgubionego zgłoszenia?
- Identyfikator operacji, jej wiek i potwierdzony stan
- Sam ogólny komunikat „błąd”
- Liczba otwartych kart w przeglądarce
Pokaż odpowiedź i wyjaśnienie
Identyfikator operacji, jej wiek i potwierdzony stan. Powiązane dane umożliwiają ocenę stanu i bezpieczne wznowienie.