Jak stworzyć własną platformę pocztową? Rozmawiamy ze Stefanem Jurczykiem, architektem systemu w home.pl
Firma home.pl zakończyła niedawno wdrożenie nowego systemu poczty e-mailowej. Nie byłoby w tym nic dziwnego, gdyby nie fakt, że home.pl napisał nie tylko własnego webmaila, ale również serwer IMAP. O wyzwaniach, projektowaniu systemów i szansie stworzenia alternatywy dla Exchange’a, rozmawiamy ze Stefanem Jurczykiem z home.pl.
Dariusz Nawojczyk: Nowy webmail w ofercie home.pl to aplikacja, która od podstaw powstała wewnątrz firmy. Dlaczego zdecydowaliście się na takie rozwiązanie? Przecież na rynku nie brakuje gotowych klientów poczty online, które hosterzy mogą zaoferować swoim klientom.
Stefan Jurczyk: Powodów jest kilka. Na pewno głównym czynnikiem była konieczność dopasowania nowego elementu platformy do naszych potrzeb. System z jednej strony musiał bowiem obsługiwać dość dużą listę funkcji, z drugiej zaś musiał być jak najprostszy i przyjazny w obsłudze dla użytkowników końcowych. Musiał także pasować do określonej ścieżki rozwoju naszej oferty i usług. Do tego doszła długa lista wymogów technicznych związanych z wydajnością, skalowalnością, bezpieczeństwem, perspektywą rozwoju, kompatybilnością z istniejącą platformą hostingową i oczywiście możliwością migracji z poprzedniego systemu pocztowego.
Czy aż tak trudno było znaleźć coś pasującego i spełniającego te wymagania?
Zdziwisz się, ale tak. Czym innym jest znalezienie platformy pocztowej do obsługi poczty dla jednej firmy lub instytucji, z której będzie korzystało - powiedzmy - nawet kilkadziesiąt czy kilkaset osób, i zdecydowanie czym innym jest znalezienie platformy, z której aktywnie będzie korzystało prawie 200 tysięcy firm i ponad 700 tysięcy użytkowników. I co waże - istniejących już użytkowników, którzy korzystali z poprzedniej platformy.
Przebrnęliśmy przez testy ponad 20 rozwiązań dostępnych na rynku - większość z nich odpadała zazwyczaj po kilku lub kilkunastu minutach zabawy demo udostępnionym na stronie WWW producenta. Rozwiązania te miały słabą funkcjonalność lub też fatalny interfejs użytkownika. Do głębszej analizy przedostało się pięć rozwiązań - jednak i tu żadne (wówczas) nie spełniało wszystkich naszych wymogów, zazwyczaj technicznych lub licencyjnych.
Jak więc poradziliście sobie z kwestią skalowalności? System już w momencie startu miał obsługiwać setki tysięcy połączeń.
Wbrew pozorom okazało się to bardzo proste. Podjęliśmy decyzję, że cały „storage", który webmail potrzebuje dla swojej pracy, będzie przechowywany po stronie serwera poczty, a konkretnie po stronie protokołu, z którym webmail się komunikuje.
Padła decyzja o wyborze protokołu IMAP i dobudowania do niego kilku funkcjonalności, które potrzebowali nasi klienci. Dzięki temu pomiędzy naszym systemem pocztowym a skrzynką klienta nie ma żadnej bazy MySQL, która przechowywałaby kopie. Dlatego też dane, które są wyświetlane w webmailu, są to zawsze dane "na żywo" pobierane z serwerów IMAP. W ten sposób odpadł nam również problem synchronizacji.
Który z serwerów protokołu IMAP postanowiliście użyć?
No dobrze, serwer IMAP też napisaliśmy sami. Stworzyliśmy go w tej samej technologii, co nasz serwer WWW. Głównym powodem takiego podejścia była kwestia możliwości łatwego realizowania własnych rozszerzeń, dzięki czemu webmail może realizować dość rozbudowane zapytania.
A zaczęło się od tego, że napotkaliśmy po drodze problem z wydajnością. Ponieważ w nowym systemie nie ma warstwy pośredniczącej i webmail jest bezustannie połączony z serwerem IMAP, każda operacja w webmailu przekształca się na ciąg operacji IMAP-owych, które są wykonywane w czasie rzeczywistym.
Okazało się, że większość serwerów IMAP dostępnych na rynku Open Source jest po prostu zbyt wolna - to niezwykle ciężkie aplikacje, które zazwyczaj nie korzystają nawet z indeksowania, więc nie radziły sobie również w naszym środowisku. Najszybszy serwer, który udało nam się znaleźć, to Dovecot, ale w testach - co tu dużo mówić - odpadł również bardzo szybko.
Nie mieliśmy wyjścia - skończyło się na własnym formacie skrzynki pocztowej, na własnym formacie indeksów i na własnym serwerze IMAP. Można powiedzieć, że uzupełniliśmy sobie portfolio, bo przecież już wcześniej mieliśmy własny serwer WWW i POP3.
«poprzednia 1 2 następna »
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
22
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Anonymous upubliczniają 1,7 GB danych wykradzionych Departamentowi Sprawiedliwości USA
11
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Zostań webmasterem polskiego rządu, zarobisz na komfortowe życie dla siebie i swojej rodziny
33
Społeczność
gonzales Javowcy pozdrawiają dotnetowców xD
kaziks Galaxy S II - u mnie po aktualizacji Firefox działa strasznie zacina się...
Doniek Szkoda że strona z demo nie działa - non stop się przeładowuje
bartez Niech zaczną jeszcze bardziej ograniczać programistów, to zdziwią się ilu...
Dave Smith Jestem Pastor Dave Smith prywatny pożyczkodawca pieniądze, z czego ponad...
marcusm Fajna reklama produktu za 500 zł
rza a to starsze aplikacje nie będą działać i kompilacja pod Windows SDK 7.1...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |










#1 kikut 2010-06-04 10:31:27 0
IP: 188.121.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#2 soran - Michał K. 2010-06-04 17:01:39 0
IP: 95.51.110.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729) FirePHP/0.4
#3 finrod® 2010-06-05 22:18:55 0
IP: 90.156.6.[...] Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; en-GB)
#4 aaa 2010-06-06 12:23:55 0
IP: 62.152.139.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.422.0 Safari/534.1
#5 Andrzej P 2010-06-06 13:11:27 0
IP: 77.46.35.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
#6 markoni 2010-06-06 20:11:09 0
IP: 188.121.11.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
#7 KubaG 2010-06-07 10:59:05 0
IP: 83.15.238.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
#8 lolka 2010-06-07 12:46:01 0
IP: 213.192.88.[...] Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.5.24 Version/10.53
#9 M... 2010-06-08 16:31:50 0
IP: 78.133.245.[...] Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.9 Safari/533.2
#10 xyz 2010-06-10 20:15:53 0
IP: 89.77.217.[...] Opera/9.80 (X11; Linux x86_64; U; pl) Presto/2.5.28/2.5.23 Version/10.60
#11 trolololo 2010-06-11 18:25:29 0
IP: 188.146.244.[...] Opera/9.80 (Windows NT 6.0; U; pl) Presto/2.2.15 Version/10.00
#12 robson__ 2010-06-13 22:04:05 0
IP: 78.88.167.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.4) Gecko/20100527 Firefox/3.6.4