Zamknij pętlę przez zweryfikowane usprawnienie
Przekształcaj dowody z produkcji w wymagania, testy, kontrolowane zmiany i mierzone wyniki. Określ odpowiedzialne znaczenie samodoskonalącego się oprogramowania.
Wydawca TaigaJak piszemy
Czego się nauczysz
- Powiąż obserwację operacyjną z weryfikowalną zmianą inżynierską.
- Oddziel odzyskiwanie runtime, usprawnianie procesu i trenowanie modelu.
- Zmierz deklarowane usprawnienie bez osłabiania jego oceny.
Określ pętlę, którą chcesz zamknąć
Używane oprogramowanie dostarcza dowodów: błędów, opóźnień, zgłoszeń wsparcia, incydentów, problemów utrzymaniowych i powtarzalnej pracy ręcznej. Pełny cykl życia przekazuje je z powrotem do decyzji inżynierskich.
Samodoskonalące się oprogramowanie może oznaczać, że automatyzacja pomaga wykrywać, proponować, wdrażać i weryfikować zmiany. Nie musi to oznaczać, że model sam się trenuje. Wskaż, co się zmienia: kod aplikacji, konfiguracja, testy, instrukcje, proces czy parametry modelu.
Samonaprawa przywraca znany stan działania. Samodoskonalenie zmienia system, aby w przyszłości dawał lepszy wynik. Drugie twierdzenie wymaga porównania i ochrony przed regresją.
Prześledź jedną obserwację przez cykl życia
Poniższa sekwencja jest proponowaną metodą inżynierską. Nie twierdzi, że którykolwiek produkt wykonuje każdy krok autonomicznie.
| Etap | Wymagany wynik | Fikcyjny przykład eksportu |
|---|---|---|
| Obserwacja | Wersjonowane dowody z zakresem i niepewnością | Zużycie pamięci workera rośnie podczas dużych eksportów |
| Diagnoza | Testowalna przyczyna i konkurencyjne wyjaśnienia | Zachowane bufory wierszy mogą wyjaśniać wzrost pamięci |
| Specyfikacja | Pożądany wynik i ograniczenia | Strumieniuj wiersze bez zmiany uprawnień ani wyniku |
| Odtworzenie | Test ujawniający pierwotną awarię | Reprezentatywny duży eksport syntetyczny przekracza limit |
| Zmiana | Poprawka możliwa do review | Zwalniaj bufory ukończonych wierszy podczas strumieniowania |
| Ocena | Usunięta pierwotna awaria; inne wymagania zachowane | Test pamięci, porównanie wyników, autoryzacja i ponowienia przechodzą |
| Wydanie | Kontrolowany zasięg z kryteriami odzyskiwania | Ograniczone wdrożenie zidentyfikowanego artefaktu |
| Weryfikacja | Porównywalne dowody produkcyjne i właściciel | Pamięć się stabilizuje, a poprawność i czas odpowiedzi pozostają akceptowalne |
Zachowaj powiązania między wynikami. Działanie po incydencie zapisane jako „poprawić monitoring” trudno zweryfikować. Określony sygnał, właściciel, próg i przetestowana reakcja pozwalają zaobserwować ukończenie.
Zachowaj niezależność oceny od propozycji
Agent może stworzyć poprawkę i zaproponować testy. Zespół nadal musi sprawdzić, czy testy wykrywają pierwotny problem. Zachowaj wersjonowany zestaw oceny, którego zmiana nie może po cichu osłabić.
Dla fikcyjnego wycieku pamięci porównaj równoważne obciążenia i wersje. Uwzględnij duże eksporty, anulowanie, ponowienia i odmowę dostępu. Użyj danych syntetycznych odwzorowujących istotne struktury bez ujawniania rekordów klientów.
Odrzuć szybszy eksport, jeśli pomija rekordy, obchodzi autoryzację lub przekracza dopuszczalny koszt. Określ te ograniczenia przed optymalizacją. Inaczej system może poprawiać wybraną metrykę, pogarszając usługę.
Jeśli zmieniasz instrukcje agenta lub model, oceń jego zachowanie na reprezentatywnych zadaniach i znanych błędach. Zachowaj poprzednią wersję. Aktualizacja instrukcji nie dowodzi, że model nauczył się czegoś z incydentu.
Wydaj zmianę i zmierz wynik
Wydanie canary udostępnia wersję kandydującą ograniczonej grupie. Porównaj sygnały wersji kandydującej i kontrolnej. Określ, kiedy rozszerzyć wdrożenie lub je zatrzymać. Mały ruch lub różne obciążenia mogą dać niejednoznaczne porównanie. Wytyczne canary.
Fikcyjny zespół zapisuje punkt odniesienia dla ustalonego obciążenia syntetycznego. Testuje poprawkę, wydaje ją w zatwierdzonych granicach i sprawdza porównywalne okresy produkcji. Jeśli dowody pozostają niewystarczające, zapisuje niepewność zamiast ogłaszać poprawę.
Mierz także powtarzalną pracę ręczną. Automatyzacja może ograniczyć rutynową pracę, ale sama wymaga utrzymania i obsługi awarii. Uwzględnij te koszty przy ocenie wyniku. Wytyczne ograniczania pracy rutynowej.
Przygotuj użyteczny zapis informacji zwrotnej
Użyj tych pól w ćwiczeniu: obserwacja i wersja; punkt odniesienia; proponowana przyczyna; kryteria akceptacji; kontrole regresji; zmiana i review; granica wydania; zmierzony wynik; właściciel i następny przegląd.
Taiga Maintaining łączy problemy z repozytoriów z pracami naprawczymi. Initiatives łączy zamierzoną zmianę z planowaniem i dostarczaniem. Zapewniają części łańcucha dowodów. Właściciel usługi nadal musi zweryfikować wdrożenie i wynik operacyjny. Maintaining, Initiatives.
Dojrzała fabryka oprogramowania łączy tę pracę między produktami. Wraz ze wzrostem automatyzacji zachowaj widoczność praw decyzyjnych i kryteriów oceny. Ostatecznym dowodem jest lepsza, zweryfikowana usługa, a nie większa liczba wygenerowanych zmian.
Wykonaj ćwiczenie
Uzupełnij zapis informacji zwrotnej dla fikcyjnego wycieku pamięci. Określ punkt odniesienia, test akceptacyjny, kontrole regresji, granicę wydania, pomiar produkcji i właściciela. Dodaj regułę odrzucającą szybszy, ale mniej poprawny eksport.
Pobierz arkusz (Markdown)Sprawdź zrozumienie
Źródła i dalsza lektura
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗
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.