Allegro nie działa, a konkretnie nie działało w miniony poniedziałek 8 maja pomiędzy 15:00 a 16:01. Przez godzinę klienci nie mogli licytować, sprzedawać i kupować swoich przedmiotów. Bez wątpienia godzinna awaria w przypadku takiego giganta polskiego internetu wiąże się z konkretnymi startami finansowymi ale czy to jest takie rzadkie w branży?
Jak do tego doszło?
Możemy się tylko domyślać, jednak wyświetlane 500 na ekranie było przesłane w standardzie JSON co mogło sugerować, że ktoś przez przypadek przepiął API na domenę główną. To jest tylko hipoteza, jednak większość obecnie tworzonych API wykorzystuje JSON jako standard komunikacji. Po kilkudziesięciu minutach strona allegro zamiast kodu 500 wyświetlała już informację o przerwie technicznej:
Ciekawostka: przy połączeniu po protokole HTTPS dalej występował błąd 500 podczas gdy przy połączeniu po HTTP mieliśmy do czynienia z komunikatem o przerwie technicznej, co może sugerować że protokoły te obsługiwane były przez różne serwery.
Najwyraźniej presja wobec awarii była na tyle duża, że nastąpiła incepcja błędów – sam komunikat o błędzie też zawierał błędy ;-)
Internauci szybko podchwycili „problem błędu 500 allegro” w kontekście politycznym:
Na forach branżowych Allegro też stało się obiektem żartów:
Żarty na bok
Nie próbujemy pokazać, że Allegro to amatorzy kiepsko realizujący swoją pracę. Wręcz przeciwnie – utrzymanie tak dużego i popularnego serwisu to kawał ciężkiej, dobrej pracy. Ciężko jednogodzinną – chociaż nawet kosztowną – przerwę nazwać brakiem profesjonalizmu. Jeśli ktoś śledzi blog Allegro ten wie, jak świetne rozwiązania techniczne są tam zastosowane. Nam również się zdarzyło aby serwery czy strony, którymi się opiekujemy przestały chwilowo działać. Prawda jest taka, że w praktyce gdy mamy do czynienia z systemami złożonymi z wielu elementów nie można uzyskać 100% niezawodności w dłuższej jednostce czasu. W szczególności, gdy są to systemy żyjące, trakcie procesu ciągłej zmiany i rozbudowy.
Czy tylko Allegro ma problemy?
Tak się składa, że tego samego dnia co Allegro awarię zaliczył też Paypal.com (chociaż dużo krócej):
Na początku tego roku awarię zaliczył również dostawca największej chmury obliczeniowej w internecie – Amazon. W trakcie awarii niedostępne były gigantyczne serwisy jak Slack, Wix, Quora, WeTransfer i wiele innych. Awaria ta miała miejsce w godzinach nocnych czasu polskiego więc pomimo braku połowy internetu przez kilka godzin sprawa w Polsce była mało odczuwalna.
Mało tego, gdy stosujemy dodatkowe rozwiązania mające na celu uchronić nas przed awariami to i one potrafią zawieźć jak to miało miejsce w przypadku Cloduflare’a w marcu 2013 roku.
Pojedyncze problemy z dostępnością przytrafiają się nawet dużym firmom i poza podanymi przykładami powyżej można bez problemu znaleźć dziesiątki awarii różnych problemów dużych firm internetowych: Oktawave, prezydent.pl i gpw.pl, mBank, ponownie Allegro, Microsoft Azure, e24cloud, Apple, eBay.
Liczy się perspektywa klienta
„Duże firmy jakoś radzą sobie z tym problemem, ich serwisy nie znikają tak po prostu”
W przeszłości jeden z klientów wobec krótkiej awarii stracił nerwy dzieląc się swoją perspektywą. Niestety przeważnie gdy klient wchodzi w perspektywę zbliżonej do cytowanej to współpraca ma już się ku końcowi.
Dla klienta końcowego, który jest nietechniczny całokształt problematyki w 99% jest zbyt skomplikowany, szczególnie jeśli nie miał wcześniej doświadczenia z projektami o podobnych rozmiarach. Dlatego właśnie komunikacja jest kluczowa. Klient powinien wiedzieć że jego problemy są rozwiązywane w momencie ich zgłoszenia. Jednak w kontekście nieuniknionych awarii jedyne co możemy zrobić to dbać o dobrą komunikację i edukować klienta. Bez komunikacji i edukacji w momencie problemów jest spora szansa, że nietechniczny klient popadnie w perspektywę absurdalnego wręcz uproszczenia zaawansowanych rozwiązań IT do poziomu problemu podłączenia drukarki do komputera.