CASE: Użycie UniCloud do obsługi pików na www
FIRMA: RebornLab
Założenie przyjęte do zastosowania UniCloud: obsługa strony Kongresu 590
OPIS:
Strona najpierw była hostowana na sharowanym hostingu na nazwa.pl. Dosyć szybko okazało się, że to nie będzie wystarczające w tym przypadku. Po uruchomieniu kampanii reklamowej i zwiększeniu ruchu na stronie, serwer zaczął znacząco zwalniać i pojawił się komunikat o przekroczeniu zasobów systemu.
Jako, że Kongres590 to event, który miał odbyć się 17 – 18 listopada 2016 roku, potrzebny był serwer/platforma, która szczególnie w tych dniach nie zawiedzie ani nas jako firmę dostarczającą serwis jak i uczestników kongresu. Wiadomym było, że sam event z racji faktu, iż jest politycznie zaangażowany, będzie nagłaśniany w mediach i np. w dzień rozpoczęcia Kongresu będzie o nim głośno w mediach ogólnopolskich należało się zatem przygotować na zwiększony ruch i użycie serwisu właśnie w tym czasie.
Projekt Kongresu590 składał się z:
– serwisu internetowego napisanego w PHP – framework Symfony2,
– aplikacji mobilnej na platformy Android i iOS, która łączyła się z API serwisu www i pobierała dane tj. program kongresu, prelegentów, newsy itp. Uczestnicy kongresu w dniu eventu mogli poprzez nią sprawdzić terminarz prelekcji, dowiedzieć się więcej o partnerach kongresu, podejrzeć newsy itp. Mogli również zadawać pytania do prelegentów podczas trwania sesji panelowych,
– microserwis napisany w Nodejs, który odbierał i wyświetlał przy pomocy web socketów, pytania zadawane do prelegentów przez uczestników kongresu.
UniCloud został wybrany dlatego że:
– wstępna konfiguracja oraz tworzenie środowisk przez panel administratora jest bardzo łatwe i wygodne,
– dosłownie w 2 minuty można sklonować środowisko produkcyjne z całą konfiguracją i przeprowadzić na nim testy, bugfixy itp.
– możemy postawić środowiska z obsługą różnych języków programowania w naszym przypadku PHP i Nodejs (Javascript),
– koszty są niskie bo płatność odbywa się tylko za zużycie (autoskalowanie cloudletów),
– bardziej zaawansowana konfiguracja jest bardzo prosta do wdrożenia nawet dla osób, które nie zajmują się na co dzień administracją serwerów, instalacja certyfikatów SSL, mechanizmów do cachowania itp.
W przypadku Reborn Lab wyglądało to następująco:
Na froncie: SSL (Nginx) + Varnish -> backend: Nginx (PHP7) + baza Mysql,
Dzięki cachowaniu stron przez Varnisha w dniu Kongresu bez problemu obsłużeni zostali wszyscy uczestnicy Kongresu oraz odwiedzających stronę (35 000 odsłon w dniu Kongresu), momentami ok. 500 osób w tym samym czasie.
Średni czas reakcji serwera z 5,6s spadł do 0.15s, zatem strony ładowały się bardzo szybko – miało to wyraźny wpływ na zmniejszenie się współczynnika odrzuceń z 80% do ok 35% – 40%.
UniCloud pozwolił nam spać spokojnie z myślą, że jeśli informacja o Kongresie pojawi się w wieczornych wiadomościach to nagły peak nie zablokuje nam serwera i aplikacji.
Krzysztof Łosiak
Reborn LAB