Skype "padł" przez dziury w wersji dla Windows?

Szef działu technicznego firmy Skype stwierdził, że wielka "świąteczna" awaria popularnego komunikatora głosowego była spowodowana wyjątkowo pechowym nałożeniem się kilku niesprzyjających okoliczności. Najważniejszymi z nich były gigantyczna liczba realizowanych połączeń oraz błędy w windowsowej wersji aplikacji Skype.

Lars Rabbe, CIO firmy Skype, szczegółowo opisał w firmowym blogu awarię, która praktycznie uniemożliwiła korzystanie ze Skype'a 22 i 23 grudnia. Rabbe zdementował przy okazji wcześniejsze sugestie, z których wynikało, że przyczyną awarii mogło być nieprawidłowe funkcjonowanie tzw. supernodes (czyli komputerów odpowiedzialnych za przekazywanie połączeń).

Z najnowszy analiz przeprowadzonych przez pracowników działu technicznego firmy wynika, że podstawowym powodem wielkiej awarii był błąd w windowsowym wydaniu Skype (wersji 5.0.0152, z której korzysta ok. 50% wszystkich użytkowników aplikacji). Co ciekawe blokady połączeń nie spowodował wyłącznie ten błąd - była ona efektem nałożenia się skutków luki oraz przeciążenia serwerów firmy wynikającego ze zwiększonej liczby połączeń.

Pechowa kombinacja

Okazało się, że luka w aplikacji Skype powodowała wieszanie się programu - następowało to, gdy do komunikatora docierała z opóźnieniem informacja o przeciążeniu serwerów. W normalnych warunkach takie komunikaty są dostarczane natychmiast i błąd nie powoduje zakłócenia funkcjonowania całej sieci - problem w tym, że przed świętami Skype realizował rekordową liczbę połączeń i w związku z tym pojawiły się opóźnienia.

Masowe wieszanie się komunikatora u użytkowników sprawiło, że z Sieci zaczęły znikać wspomniane supernodes (czyli komputerów użytkowników, w których Skype służy nie tylko do prowadzenia rozmów, ale również koordynowania połączeń w sieci). Rabbe przyznał, że w szczytowym momencie awarii zawieszonych było nawet do 30% wszystkich supernodes. To z kolei zaczęło powodować przeciążenia pozostałych, aktywnych supernodes - gdy one zaczęły się w związku z tym wyłączać, komunikator Skype praktycznie przestał funkcjonować.

Przedstawiciel Skype'a nie wytłumaczył niestety, jak doszło do tego, że powtarzające się przypadki zawieszania się komunikatora po stronie użytkowników spowodowały awarię serwerów Skype'a (bo z nimi również był problem - z połączeń nie mogli korzystać również użytkownicy innych wersji aplikacji).

Doba bez Skype'a

Komunikator Skype nie działał przez ok. 24 godziny - pełną sprawność udało się przywrócić dopiero rankiem 23 grudnia. Sposobem na usunięcie awarii okazało się wprowadzenie do Internetu tysięcy aplikacji, których jedynym zadaniem było przekazywanie połączeń (pracownicy firmy nazywają je "megasupernodes"). W ciągu kilkunastu godzin od ich uaktywnienia sytuacja się ustabilizowała i pracownicy firmy zaczęli je wyłączać (ich funkcję znów przejęły standardowe supernodes, działające u użytkowników).

Lars Rabbe dodał przy okazji, że Skype rozważa wprowadzenie do swojej aplikacji automatycznego mechanizmu aktualizacyjnego - miałoby to znacznie zminimalizować szansę wystąpienia podobnego problemu w przyszłości i uprościć rozwiązywanie podobnych problemów.

Warto przypomnieć, że w ubiegłym tygodniu szef Skype'a, Tony Bates, oficjalnie przeprosił użytkowników aplikacji za problemy z jej funkcjonowaniem. Bates obiecał też wszystkim abonentom (tzn. użytkownikom którzy płacą za korzystanie z komunikatora) kupony na darmowe rozmowy lub przedłużenie subskrypcji.