GitHub ujawnił, co dokładnie doprowadziło do ośmiogodzinnej awarii serwisu z 17 sierpnia, która sparaliżowała pracę milionów programistów na całym świecie. W szczytowym momencie problemów współczynnik błędów dla strony i API sięgał około 20 procent, a pobieranie archiwów i surowych plików zawodziło nawet w połowie przypadków.
Większość usług wróciła do normy po mniej więcej trzech godzinach, ale GitHub Actions i usługa tokenów Copilota pozostawały niestabilne znacznie dłużej. Z opublikowanego raportu wynika, że wszystko zaczęło się od nagłego, nietypowego skoku ruchu w jednym z centrów danych GitHuba w USA. Można to porównać do sytuacji, w której do jednej kasy w sklepie ustawia się dziesięć razy więcej klientów niż zwykle. System, który miał automatycznie „otworzyć” dodatkowe kasy, czyli uruchomić więcej mocy obliczeniowej, nie zadziałał poprawnie, bo pilnował złego wskaźnika obciążenia. W efekcie jeden z wewnętrznych elementów infrastruktury szybko się zatkał.
Infrastruktura GitHuba po prostu nie nadąża za tempem, w jakim rośnie popularność kodowania wspomaganego sztuczną inteligencją
Zator zaczął się rozlewać dalej, kolejne serwery odpowiedzialne za kierowanie ruchem i logowanie użytkowników również wyczerpały swoje limity. To uderzyło prosto w proces uwierzytelniania, przez co logowanie i autoryzacja zaczęły zwalniać albo się wywalać. Na domiar złego system, który miał automatycznie ponawiać nieudane połączenia, zamiast pomóc, zaczął wysyłać jeszcze więcej zapytań do i tak już przeciążonych serwerów.
Milion żądań na sekundę - tak padł Copilot
Gdy GitHub spróbował przekierować część ruchu do zapasowego centrum danych w Wirginii, wyszedł na jaw kolejny problem: błąd w edytorze VS Code sprawił, że aplikacja zaczęła bombardować serwer logowania Copilota powtarzającymi się próbami połączenia. Normalnie ta usługa obsługuje 7-9 tysięcy zapytań na sekundę. Podczas awarii liczba ta skoczyła nawet do 100 tysięcy na sekundę. GitHub opanował sytuację, ograniczając liczbę automatycznych ponowień, tymczasowo odrzucając część żądań i stopniowo, ostrożnie przywracając normalny ruch.
Wszystko zaczęło się od nagłego, nietypowego skoku ruchu w jednym z centrów danych GitHuba w USA
Infrastruktura GitHuba po prostu nie nadąża za tempem, w jakim rośnie popularność kodowania wspomaganego sztuczną inteligencją. Firma sama przyznawała wcześniej w tym roku, że musi stawiać stabilność ponad nowe funkcje, a Microsoft rozważał nawet dokupowanie mocy obliczeniowej od Amazona. W porównaniu z wcześniejszymi, krótszymi awariami ta trwała wyraźnie dłużej i dotknęła więcej kluczowych usług naraz. Dla firm i zespołów korzystających z GitHub Actions oznacza to przestoje i ryzyko powtórki, dopóki zapowiadane poprawki nie zostaną wdrożone. A tego się w dwa tygodnie nie da załatwić...
Spodobało Ci się? Podziel się ze znajomymi!

Pokaż / Dodaj komentarze do:
GitHub przyznaje się do poważnych błędów. Znamy już przyczynę ostatniej awarii