Slajd 1 - Proidea
Transkrypt
Slajd 1 - Proidea
Nieustanny rozwój Tomasz Leśniewski [email protected] Poczta w chmurze? Czy nazwa.pl ma pocztę w chmurze? Biorąc pod uwagę poniższe kryteria, tak: – Dla końcowego użytkownika dostępna jest pełnowartościowa usługa z której może korzystać zarówno przez dostarczaną przez nas aplikacje, jak i swojego klienta jak z czarnej skrzynki, nie interesuje go co jest poniżej i jak to działa – Skalowalność i wydajność rozwiązania – wystarczy dołożyć klocek do układanki – Współdzielenie infrastruktury przez wielu klientów Statystyki Użytkownicy: – Ponad 1 milion użytkowników korzystających z poczty w nazwa.pl Ilość danych jaką generują użytkownicy: – Około 4-5 milionów wiadomości dziennie – średnio 2,2TB dziennie (to prawie 300Mb/s) – Średnia wielkość wiadomości: 200kB Statystyki Statystyki Spam: – Średnio 30% wiadomości jest odrzucanych przez nasz system antyspamowy – Około połowa spamu jaki otrzymujemy, zatrzymywana jest już podczas odpytywania list RBL – Pozostałe wiadomości są zatrzymywane przez pozostałe elementy systemu – wszelkiego rodzaju miltery, skanery treści, antywirusy System pocztowy nazwa.pl Jak nasz system wyglądał kilka lat temu: – Wszystkie usługi dostępne dla klienta utrzymywane na tych samych maszynach – Problemy z wydajnością przy większej ilości klientów – Duża ilość pracy administratora Jak się rozwijał: – – – – Wyniesienie usług na całkowicie oddzielne maszyny Centralna baza użytkowników Podział na funkcjonalne „klocki” W efekcie znaczne zwiększenie wydajność systemu pocztowego i umożliwienie dalszego rozwoju Schemat poczty w nazwa.pl Schemat poczty w nazwa.pl Bezpośrednim stykiem całego systemu z internetem jest nginx działający jako proxy: – Proksuje wszystkie protokoły pocztowe (smtp, pop3, imap) – Przeprowadza autoryzację użytkowników w webservice – Przekazuje połączenie do wskazanego przez webservice smarthosta lub mailstore Schemat poczty w nazwa.pl Wyodrębnione grupy serwerów pełniących te same funkcje Każdy z serwerów może połączyć się do dowolnego z serwerów z danej grupy do przekazania wiadomości, odpytania bazy użytkowników itp. (wyjątkiem są serwery mailstore) Łatwe zwiększenie wydajności – wystarczy dołożyć kolejną maszynę. Duży stopień niezawodności usługi – przy dużej liczbie maszyn, awaria jednej nie powoduje problemu Smarthost Smarthost Smarthost: – Wieloprocesorowe maszyny – Odpowiednio skonfigurowany postfix – Webservice odpowiedzialny za autoryzację użytkowników oraz rozdzielanie poczty pomiędzy poszczególne serwery Antyspam Antyspam System antyspamowy zbudowany jest min. w oparciu o powszechnie znane rozwiązania: – – – – Listy RBL Amavis Spamassassin Clamav Oraz autorskie mechanizmy: – Definiowane przez użytkowników listy LDAP LDAP Jako centralna baza użytkowników działa LDAP. Rozwiązanie to zapewnia: – Łatwość wyciągania danych dzięki drzewiastej strukturze (unikamy skomplikowanych zapytań z wieloma złączeniami tabel, które miały by miejsce w relacyjnych bazach) – Bezpieczeństwo danych (replikacja, złożone ACLki) LDAP Zwiększenie wydajności oraz bezpieczeństwa przez kaskadową replikację danych: – Przy jednej instancji LDAPa na każdy serwer smarthost, widoczne były braki w wydajności – Utworzenie hierarchicznej struktury dało możliwość lepszego wykorzystania sprzęt i łatwiejszej rozbudowy – Duża wydajność - kilkanaście replik bazy danych dostępnych dla każdego z serwerów Mailstore Mailstore Mailstore: – Kilka instancji dovecota na każdym z serwerów – Duża ilość pamięci RAM – Wydajny podsystem dyskowy – DAS Webmail Webmail Webmail: – Stara aplikacja GroupOffice została zastąpiona nowym rozwiązaniem – OpenXchange – Skalowalność – Zwiększenie funkcjonalności – Nowe możliwości Spam a hosting Duża skala problemu Ilość użytkowników Specyficzne problemy w walce ze spamem w środowisku hostingowym: – Konieczność zabezpieczania zarówno naszych klientów przed spamem przychodzącym z zewnątrz, jak i pozostałych użytkowników Internetu, przed spamem wychodzącym z naszych serwerów. Jak walczymy ze spamem Zestaw mechanizmów antyspamowych: – Listy adresów IP (DNSBL, RBL) – Filtry (amavis, spamassassin) – Własne mechanizmy - definiowane przez użytkowników listy Kolejki pocztowe dla poczty nieuwierzytelnionej oraz uwierzytelnionej Rygorystyczne polityka antyspamowa w stosunku do użytkowników rozsyłających spam J.A.C.E.K A tego nie używamy SPF – niestety, nie jest lekiem na całe zło – Brak zgodności z RFC – Problem z aliasami do innych providerów definiowanymi przez użytkowników – Nie powinien być rozpatrywany jako mechanizm antyspamowy Greylisting – Wprowadza znaczne opóźnienia w dostarczaniu wiadomości do użytkowników – Został odrzucony jako świadoma decyzja biznesowa Co się wydarzyło w styczniu? Styczniowa awaria poczty w nazwa.pl Co się stało: – Podczas rozszerzania schematu bazy LDAP, zmieniło się zachowanie zapytań – do elementów wyszukiwania doszły nowe, nieindeksowane atrybuty – Mimo wielu testów poza środowiskiem produkcyjnym, zmiana zachowania nie ujawniła się ze względu na skalę środowiska – Problem objawił się dopiero pod koniec prac na produkcyjnym systemie (rozszerzenie schematu + uzupełnienie nowymi danymi) Co się wydarzyło w styczniu? W efekcie: – Rozwiązywanie map trwało znacznie dłużej – z ~15ms do kilku sekund – Wystąpiły problemy z autoryzacją użytkowników – zapytania do bazy trwały znacznie dłużej, przez co występowały timeouty – Kolejka maili urosła do ponad 1,5 miliona – Przez kilka porannych godzin klienci mieli problemy z dostępem do swoich skrzynek oraz wysyłaniem poczty – Kilka kolejnych godzin trwało dostarczanie zaległych wiadomości Co się wydarzyło w styczniu? Jak działaliśmy: – Problem został rozpoznany w ciągu kilkunastu minut – Chwilę później zostały założone odpowiednie indeksy w bazie danych na nowych atrybutach – Niestety, reindeksacja musi być wykonana na wszystkich instancjach LDAPa, a taka operacja na obciążonych serwerach trwa bardzo długo – Następnie trzeba poczekać na dostarczenie wszystkich zaległych wiadomości Jakie wnioski? Co zmieniliśmy: – Mimo i tak wielkiej wagi przykładanej do testów, staramy się jeszcze zwiększyć ich ilość – Wydzieliliśmy dedykowane maszyny pod bazę LDAP – Utworzyliśmy nową strukturę replikacji LDAP, posiadającą o wiele większą wydajność – Zapewnienie w każdym momencie prac punktu powrotu Co dalej Dalszy rozwój infrastruktury aby zapewni odpowiednią niezawodność oraz wydajność przy ciągłym wzroście ilości użytkowników korzystających z poczty w nazwa.pl Wdrażanie oraz rozwijanie nowych rozwiązań pozwalających zwiększyć funkcjonalność naszego systemu Jak najmniej awarii ;) Dziękuję za uwagę Tomasz Leśniewski [email protected]