Polska Organizacja Turystyczna
Polska Organizacja Turystyczna
Polska Organizacja Turystyczna (POT) to rządowa jednostka odpowiadająca za promocję Polski w kraju i za granicą. Organizacja podlega Ministrowi Sportu i Turystyki, a swoje cele realizuje m.in. przez liczne serwisy internetowe.
Zamawiający
Przedmiot zamówienia
- Utrzymanie serwisów www z gwarantowanym SLA
Technologie
- Wybór i konfugiracja serwerów
Umowy SLA (ang. Service Level Agreement) to nieodłączony element kontraktów z firmami IT. Zapisy SLA są standardem np. w umowach dotyczących hostingu gdzie oczekiwany efekt wyraża się w procentach np. SLA na poziomie 99,1 % rocznie oznacza, że dana usługa może być niedostępna przez maksymalnie przez 12 minut i 57 sekund na dobę. Dla większości firm z branży e-commerce, logistycznej czy np. systemów administracji państwowej będzie to zdecydowanie zbyt długi czas. Sklepy online, które generują dochody przez całą dobę i nie mogą sobie pozwolić na żadne przerwy mogą oczekiwać SLA na poziomie nawet 99,99 % lub więcej co oznacza brak dostępności przez 8 sekund na dobę (52 minuty i 35 sekund rocznie). Podobne oczekiwania mają również banki i wiele innych sektorów.
Co powinna zawierać umowa SLA
Przede wszystkim umowa SLA powinna zawierać opis usługi, określać gwarantowany przez dostawcę poziom jej dostępności i wskazywać w jaki sposób i jakimi narzędziami będzie to mierzone/monitorowane. W umowach SLA powinny się również znaleźć informacje o tym jakie środki zaradcze i w jakim czasie podejmie dostawca w przypadku wystąpienia awarii oraz kary na wypadek niedotrzymania deklarowanych parametrów usługi. Informacje te powinny być ujęte w konkretne ramy czasowe np. czas reakcji na błąd krytyczny może wynosić do 30 minut, natomiast dla błędu który nie zakłóca głównych funkcjonalności serwisu satysfakcjonującym czasem będą np. 3 godziny.
Warto też od razu określić w jakich okienkach czasowych powinny być realizowane zaplanowane prace serwisowe, związane np. z dodawaniem nowych funkcjonalności. Zazwyczaj wybiera się godziny gdy ruch użytkowników jest najmniejszy np. między godzinami 1 a 6 rano.
Dostępność serwisów POT
SLA dla Polska Organizacja Turystyczna
Serwisy www pod naszą opieką to m.in.:
- Polska Travel
- Polska Organizacja Turystyczna
- Odpoczywaj w Polsce
- Bezpieczny Obiekt
- Bon Turystyczny
Zadeklarowany przez nas poziom ich dostępności wynosi 99,25%, jednak zazwyczaj udaje nam się go znacząco poprawić. Dzięki temu przez zdecydowaną większość miesięcy (w tym kluczowe miesiące letnie) serwisy POT są dostępne bez przerwy, osiągając SLA na poziomie 100%. Co ważnie, monitorowaniem dostępności zajmuje się niezależny od Inovatica podmiot, firma Monit24.pl
Sposoby na zapewnienie wysokiej dostępności (SLA)
Istnieje kilka kluczowych elementów wpływających na dostępność serwisów WWW.
Wybór serwera www
Serwer www stanowi kluczowy element niezbędny do publikacji serwisu w internecie. Jego wybór ma podstawowy wpływ na to ilu równoczesnych użytkowników będziemy w stanie obsłużyć i ile zasobów serwerowych zostanie w tym celu zużytych. Mimo, że rozwiązań jest wiele, w naszej ocenie, sensowny wybór ogranicza się do dwóch rozwiązań: Apache oraz Nginx. Podczas wdrożenia infrastruktury dla serwisów POT postawiliśmy na Nginx, który pozwala na obsłużenie większej ilości równoczesnych połączeń, bez zbędnego blokowania zasobów. Obsługa serwisów internetowych o dużym natężeniu ruchu stanowiła jedno z założeń podczas tworzenia oprogramowania serwera Nginx.
Serwer www powinien robić jak najmniej
W przypadku dużych serwisów www (o dużym natężeniu ruchu) istotnym jest by maksymalnie oszczędzać zasoby serwera www. Jeżeli jakieś zadania może realizować inna usługa to warto przemyśleć takie rozwiązanie. W przypadku infrastruktury POT na front wysunięto usługę proxy realizowaną w oparciu o oprogramowanie Haproxy. Wszelkie przekierowania, zarówno zmiana protokołu z http na https, przekierowania związane z geolokalizacja użytkowników, jak i przekierowania związane z działaniami marketingowymi realizowane są zanim zapytanie dotrze do serwera www. Usługa Haproxy działa również jako reverse ssl proxy, odciążając w ten sposób serwer Nginx.
Kolejnym elementem pomagającym oszczędzić zasoby pochłaniane przez serwer www jest odpowiednia konfiguracja serwera. Serwisy www POT skonfigurowano tak by statyczne zasoby, nie zmieniające się w czasie były cachowane po stronie klienta. Dzięki temu pliki powtarzające się wielokrotnie na stronach serwisu zapisywane są w pamięci podręcznej przeglądarki i nie są pobierane wielokrotnie podczas przeglądania serwisów POT.
Ochrona serwera
W dzisiejszych czasach zdarza się, że ponad połowa odwiedzając serwis użytkowników nie jest ludźmi. Nie mamy tu na myśli, że serwisy POT odwiedzają kuzyni E.T. Problem dla takich rozwiązań jak serwery POT stanowią roboty internetowe, które bez żadnych zahamowań wysyłają żądania kolejnych podstron serwisu w tempie kilkudziesięciu na sekundę. Do ochrony przed tego typu, nadgorliwymi i złośliwymi odwiedzającymi, zastosowaliśmy stary ale sprawdzony mechanizm fail2ban. Analizuje on logi serwera www i na podstawie pola user-agent lub/i ilości błędnych zapytań blokuje tymczasowo dostęp do serwera.
Wybór serwera
W przypadku tak dużych serwisów jak serwisy polska.travel nie jest możliwe umieszczenie całej treści serwisu w pamięci podręcznej. Wąskim gardłem okazuje się czas dostępu do plików znajdujących się na serwerze. By zniwelować wpływ opóźnień w dostępie do danych wywołany fizycznymi ograniczeniami sprzętu. Wybrano serwery wyposażone w szybkie dyski ssd, oraz znaczną ilość pamięci RAM pozwalającą na skonfigurowanie większych niż standardowe pamięci cache.
Podsumowując na uzyskanie wysokiej dostępności serwisu wpływ ma wiele czynników. Wiele zależy również od ryzyk zewnętrznych, ale dobrze skonfigurowana infrastruktura jest w stanie skutecznie minimalizować potencjalne zagrożenia.
Więcej informacji na temat rozwiązań omawianych w tekście:
- https://httpd.apache.org/
- https://www.nginx.com/
- https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations
- https://www.haproxy.com/
- https://www.fail2ban.org/
Zobacz nasze case studies
Sprawdź jak rozwiązujemy problemy rozmaitych branż. Dowiedz się jak powstają nasze strony www, serwisy TYPO3, aplikacje mobilne Android i iOS. Kliknij wybrane case study i dowiedz się więcej: