Minister Cyfryzacji, Janusz Cieszyński, w serwisie LinkedIn opublikował wpis, który tłumaczy przyczyny sporych problemów w pierwszych dniach po uruchomieniu mObywatela 2.0.
Oto treść tego wpisu:
Jak to było z mObywatelem 2.0 czyli czemu nie pisać "u mnie działa" w socialach
Bo piątek do nasz najmniej zajęty dzień. Ponieważ mogliśmy dość swobodnie ustalić dzień tygodnia w którym ustawa wejdzie w życie, zespół developerski wybrał piątek jako dzień, w którym mamy najmniej ruchu organicznego. Czy to była dobra decyzja? Moim zdaniem TAK - patrząc na błędy które wystąpiły, gdybyśmy ruszyli w poniedziałek, mielibyśmy problemy przez 2-3 dni powszednie, w które każdy restart serwerów ma wielokrotnie większe oddziaływanie biznesowe niż w weekendy. Dodam, że największy błąd na produkcji udało nam się usunąć dopiero w połowie dnia w niedzielę, a zapewniam, że wszyscy byli pod parą.
Testy były, włącznie z publicznymi beta testami. Nie stwierdziliśmy w trakcie żadnych poważnych błędów, które mogłyby być powodem do tego, żeby opóźnić start. Podczas daily w tygodniu przed startem wszystkie obszary odpowiedzialne za wdrożenie zgłaszały pełną gotowość i nie wskazywały ryzyk. Oczywiście cała aplikacja została przetestowana zgodnie z procedurami obowiązującymi w Centralny Ośrodek Informatyki.
Problem z zakładaniem mDowodów powstał w momencie przeciążenia urządzeń kryptograficznych, które odpowiadają za generowanie nowych dokumentów. Kiedy zaczęła się na nich robić kolejka, wydłużyły się czasy odpowiedzi backendu. Tu wyszedł pierwszy problem - timeout w aplikacji był ustawiony na krótszy niż w backendzie i kiedy w tle żądanie jeszcze się "mieliło", to apka zwracała błąd. Skutki? Użytkownicy próbowali po raz kolejny, co jeszcze mocniej obciążało system. Pojawiły się też przypadki, których nie przewidzieliśmy na testach polegające na tym, że mDowód nie był pobierany z serwera do aplikacji. W tę dziurę wpadło kilkadziesiąt tysięcy osób, a jej efekt był taki, że user mógł próbować dowolnie wiele razy, a i tak występował błąd. Pomogło wyczyszczenie bazy i poprawka uniemożliwiająca wystąpienie takiego przypadku. Warto pamiętać o tym, że przez cały ten czas zespół nie stwierdził żadnych błędów na poziomie kodu, tj. back-end działał i działa poprawnie.
Można było, ale po piku na początku nigdy później nie doszliśmy nawet blisko przeciążenia. Taki sprzęt to duże koszty i 6-9 miesięcy na zakup. mObywatel 2.0 to apka, która powstała praktycznie od zera i z poprzednią wersją łączy ją naprawdę niewiele. Początkowy plan, który zakładał stopniową transformację przerodził się w trakcie w zbudowanie nowej apki i przepisywanie kluczowych modułów starej wersji, które pierwotnie planowaliśmy wykorzystać. Także na pewno czeka nas jeszcze wiele pracy, szczególnie w obszarze infrastruktury.
Uczymy się cały czas i ta sytuacja pokazała, że mamy u siebie do poprawienia wiele procesów.