Jak Hotmail zmienił Microsoft (i e-mail) na zawsze
Dwadzieścia lat temu w tym tygodniu, 29 grudnia 1997 r., Bill Gates kupił firmie Microsoft spóźniony prezent gwiazdkowy o wartości 450 milionów dolarów: firmę Hotmail z siedzibą w Sunnyvale. Dzięki temu zakupowi – największemu w tamtych czasach gotówkowemu zakupowi startupu internetowego – Microsoft wkroczył w rodzący się świat internetowej poczty elektronicznej.
Początkowo uruchomiony w 1996 roku przez Jacka Smitha i Sabeera Bhatię jako „HoTMaiL” (w nawiązaniu do HTML, języka World Wide Web), Hotmail został początkowo włączony do internetowej usługi MSN firmy Microsoft. Popełniono błędy. Wydano wiele dolarów. Zmieniono markę. Spam stał się legionem. Powstało wiele, wiele okropnych podpisów poczty elektronicznej.
Ale w ciągu kolejnych lat Hotmail wyznaczył kierunek dla wszystkich kolejnych ofert opartych na sieciowej poczcie elektronicznej, zapoczątkowując erę bezpłatnych usług poczty elektronicznej przeznaczonych dla masowego odbiorcy. Po drodze Hotmail spowodował zmiany w samym systemie Windows (w szczególności w tym, co miało stać się Windows Server), które położyłyby podwaliny pod system operacyjny, który miał wcisnąć się do centrum danych. Usługa poczty elektronicznej miała być pierwszym krokiem firmy Microsoft w kierunku tego, co obecnie stanowi chmurę Azure.
Były członek zarządu firmy Microsoft, Marco DeMello, obecnie dyrektor generalny firmy PSafe Technology zajmującej się bezpieczeństwem mobilnym, otrzymał zadanie zarządzania integracją Hotmaila jako główny kierownik programu MSN – własnej odpowiedzi firmy Microsoft na America Online. W wywiadzie dla Ars, DeMello – który przed odejściem z Microsoftu w 2006 roku był dyrektorem ds. bezpieczeństwa systemu Windows i menedżerem produktu Exchange – opowiedział, jak zaraz po tym, jak został zatrudniony w październiku 1996 roku do zarządzania MSN, został wezwany do Redmond na spotkanie z Billem Gatesem. „Dał mi i mojemu zespołowi misję znalezienia lub stworzenia systemu darmowej, opartej na sieci Web poczty elektronicznej dla całego świata, który oferowałby Microsoft” – powiedział DeMello.
Masz pocztę
W 1996 roku sieć Web wciąż zyskiwała na popularności. Prawie cały osobisty dostęp do Internetu był przez dial-up usług, takich jak AOL, MSN, CompuServe, i EarthLink. Nieliczni szczęśliwcy mieli wczesne „szybkie” usługi internetowe za pośrednictwem połączeń ISDN, ale wiele firm nie podłączyło jeszcze nawet swoich firmowych systemów poczty elektronicznej do Internetu. Istniało wprawdzie kilka ofert poczty internetowej oferowanych przez dostawców usług internetowych i zintegrowanych z kontami hostingowymi, a firma Lotus zademonstrowała w 1994 roku interfejs WWW do programu cc:Mail, jednak Hotmail i konkurencyjny Rocketmail (który później przekształcił się w Yahoo Mail) jako pierwsze zaoferowały bezpłatną, internetową pocztę elektroniczną finansowaną z reklam. W 1997 roku Hotmail miał już 9 milionów użytkowników.
„Stwierdziłem, i było to oczywiste”, powiedział DeMello, „że nie możemy zbudować własnej usługi poczty internetowej w czasie określonym przez Billa.” Kupno istniejącej usługi było jedynym realnym wyborem – aczkolwiek niepopularnym wśród innych członków kierownictwa Microsoftu, którzy zazwyczaj trzymali się polityki „jedzenia własnej karmy dla psów.”
Ale w końcu „Bill wypisał czek na 450 milionów dolarów w gotówce,” wspomina DeMello. „A ja zostałem obarczony odpowiedzialnością za zintegrowanie tego systemu i skalowanie go w ramach Microsoftu.”
Vendor lock-in
Odpowiedzialność ta obejmowała dość delikatne zadanie włączenia oprogramowania działającego na Uniksie – mieszanki serwerów sieciowych FreeBSD na froncie i Sun Solaris na SPARC na zapleczu – do środowiska tylko Windows i przeniesienia usługi na serwery Windows.
Windows NT Server nie był przygotowany do tego zadania w 1997 roku. Chociaż zespół DeMello opracował pewne interfejsy do środowiska Windows dla platformy Hotmail, „byliśmy klientem serwera Windows”, powiedział, „i na początku nie byliśmy zbyt szczęśliwym klientem.”
Pomimo presji, by natychmiast przenieść kod do Windows, DeMello powiedział: „Było wiele rzeczy, w które się zagłębialiśmy – od bezpieczeństwa po zarządzanie pamięcią, aż do samego stosu sieciowego TCP – które porównywaliśmy – 'to jest to, co dostajemy z Uniksa, to jest to, co dostajemy z NT i dlatego nie możemy jeszcze migrować’. Zawsze było, 'Nope, nie możemy jeszcze migrować.'”
W czasie, gdy dyrektor generalny Sun, Scott McNealy, regularnie czynił serwerowy system operacyjny Microsoftu obiektem żartów, było to prawdopodobnie solą w oku szefów Microsoftu. Zmiana tego „nie” na „tak” zajęłaby trzy lata i opracowanie Windows 2000 Server. Zespół DeMello „pracował wtedy z Cutlerem i jego ekipą”, wspomina DeMello, „najpierw nad skalowalnością – mówimy o Internet Information Server, stosie sieciowym, stosie TCP, pamięci i sposobie zarządzania nią, a także nad bezpieczeństwem dostępu do folderów lokalnych bezpośrednio z poziomu procesu wykonywalnego”. Ostatecznie Cutlerowi i jego zespołowi udało się to osiągnąć.”
Ta relacja między zespołem Microsoftu zajmującym się rozwojem serwerów a zespołem Hotmaila miała trwać przez lata, zwłaszcza w przypadku rozwoju IIS, komponentu systemu Windows odpowiedzialnego za usługi sieciowe i internetowe. „Mieliśmy kompilacje stworzone w celu przetestowania IIS – Hotmail był zawsze poligonem doświadczalnym” – powiedział DeMello. „Mantrą było, że jeśli Hotmail przejdzie test, można go dać każdemu – stał się on testem warunków skrajnych dla IIS.”
Działanie Hotmaila dało firmie Microsoft doświadczenie typu „zjedz własną karmę dla psa”, jeśli chodzi o codzienne działanie globalnej usługi internetowej – doświadczenie, które zdaniem DeMello znajduje odzwierciedlenie w sposobie, w jaki firma Microsoft prowadzi dziś chmurę Azure. „To było coś w rodzaju bezdennego bogactwa informacji na temat tego, co robić, a czego nie robić – najlepsze praktyki, najgorsze praktyki, co działa, a co nie” – powiedział – „od najdrobniejszych kwestii związanych z czasem odpowiedzi przy logowaniu aż po sposób obsługi dużych transferów danych.”
Pomimo że migracja na serwery internetowe Windows nastąpiła wcześniej, system zaplecza Hotmaila – serwery baz danych i pamięć masowa – zaczął przechodzić na serwer Windows i SQL Server dopiero w 2004 roku. W miarę wzrostu zapotrzebowania na pamięć masową migracja stawała się coraz trudniejsza, ponieważ istniały ograniczenia co do szybkości przenoszenia kont z jednej bazy danych do drugiej i propagacji między centrami danych.
Hotmail odcisnął również piętno na platformie Office – nie tylko jako poprzednik Outlook.com. Pierwsza wersja Outlooka ukazała się zaledwie kilka tygodni po przejęciu Hotmaila, a następna wersja – Outlook ’98 – musiała zostać dostosowana do współpracy z Hotmailem, co doprowadziło do małej wojny protokołów. DeMello powiedział: „Jako protokołu używaliśmy MAPI” i opisał MAPI przez TCP/IP jako „jedną z najcięższych rzeczy, jakie kiedykolwiek wymyślono, więc musieliśmy to zmienić na proste WebDAV”. Mieliśmy więc kilka problemów, powiedzmy to w ten sposób – który protokół miał wygrać wojny protokołów.”
Ból doświadczenia
Migracja z Solarisa do Windows trwała trzy lata. I chociaż migracja przebiegła w dużej mierze bez incydentów – DeMello powiedział, że „przykazanie od Billa Gatesa z góry” brzmiało: „Nie stracisz ani jednej skrzynki pocztowej” – i tak się nie stało. Po drodze było jednak trochę bólu.
Skalowanie do obsługi milionów użytkowników oznaczało skalowanie centrów danych, które mogły obsłużyć stale rosnące wymagania Hotmaila w zakresie pamięci masowej i obliczeń. Pamięć masowa wcale nie była tania. „Mieliśmy do czynienia z rosnącymi kosztami dysków twardych” – powiedział DeMello. „Trzeba pamiętać, że mówimy o latach 1997-2000… wciąż płaciliśmy krocie za megabajt – zapomnijcie o gigabajtach. A więc sam koszt infrastruktury był oszałamiającym rachunkiem.”
A te centra danych były drogie i żądne energii. „Przypominam sobie, kiedy skończyliśmy nowe centrum danych, które zostało zbudowane w Bothell” – powiedział DeMello. „Uruchomiliśmy je, aby je przetestować – pierwszego dnia, kiedy testowaliśmy Saturna, spowodowaliśmy awarię zasilania w Bothell. Następnego ranka musiałem odpowiedzieć bardzo zdenerwowanemu urzędnikowi miejskiemu. Udało nam się to za drugim razem – nie było przerwy w dostawie prądu. Pojemność została zwiększona i wszyscy byli na to gotowi, przygotowani i oczekiwali, że miasto zostanie polizane przez płomienie, ale tak się nie stało.”
W lecie 1999 roku Hotmail miał swoje pierwsze poważne naruszenie bezpieczeństwa. Każde z kont Hotmaila – których liczba wynosiła wówczas około 50 milionów – było potencjalnie narażone na atak z powodu błędu w skrypcie na serwerach Hotmaila, który dawał dostęp do każdego konta Hotmaila z tym samym hasłem: „eh.”
Powstały strony internetowe, które wykorzystywały ten exploit, aby umożliwić każdemu uzyskanie dostępu do skrzynki pocztowej po wpisaniu nazwy konta docelowego. Niektórzy twierdzili, że mieli dostęp do kont za pośrednictwem błędu przez prawie dwa miesiące, zanim Microsoft go załatał. Niektórzy wierzyli, że był to backdoor pozostawiony przez programistę Hotmaila.
DeMello nie chciał komentować tego naruszenia. „Mógłbym ci powiedzieć, ale musiałbym cię zabić” – zażartował. Twierdzi jednak, że Hotmail zawsze stawiał bezpieczeństwo i prywatność na pierwszym miejscu – przynajmniej na tyle, na ile było to praktyczne na przełomie tysiącleci. „Włożyliśmy wiele energii i wysiłku w bezpieczeństwo i prywatność” – powiedział. „Nie było to coś, na co nie zwracaliśmy uwagi. Myślę, że zbudowaliśmy system od podstaw skupiając się na bezpieczeństwie i prywatności.”
Dla 1999 roku oznaczało to zrobienie dwóch rzeczy w szczególności, powiedział DeMello. „Staraliśmy się chronić dane uwierzytelniające i egzekwowaliśmy zasady dotyczące haseł. I chcieliśmy być bardzo otwarty dla użytkowników o potrzebie ochrony ich haseł i uczynił go jasne, że e-mail nie jest bezpieczne medium. W FAQ oraz w komunikatach samego zespołu Hotmaila ostrzegaliśmy, aby nigdy nie udostępniać ani nie przesyłać żadnych informacji osobistych, finansowych ani dotyczących bezpieczeństwa za pośrednictwem poczty elektronicznej.”
Hotmail korzystał z bezpiecznego protokołu HTTP (HTTPS) z szyfrowaniem SSL w celu ochrony danych logowania użytkowników, a Microsoft zmusił klientów do używania bardziej złożonych haseł – ale reszta usługi działała w oparciu o niezaszyfrowany protokół HTTP. „Samo uwierzytelnianie wymagało od nas w tamtym czasie zastosowania akceleratorów sprzętowych” – powiedział DeMello. „A to wiązało się z bardzo wysokimi kosztami – tysiące dolarów za kartę, którą trzeba było uruchomić niezależnie od tego, czy korzystało się z systemu Unix czy Windows Server. Nie można było wtedy uruchomić całej infrastruktury przez SSL.”
Zmieniło się to wraz z ewolucją procesorów obsługujących serwery – i dziś jest „nie do pomyślenia, aby uruchomić coś z prostym HTTP”, powiedział DeMello.
Polityki haseł zostały ustanowione, aby uniemożliwić klientom korzystanie z haseł, które były zbyt krótkie lub (począwszy od 2011 r.) zbyt często używane. Hotmail miał jednak limit długości hasła wynoszący 16 znaków, a więc istniał pułap tego, jak bardzo złożone mogą być te hasła.
O ile więc ktoś, kto podsłuchuje sieć Wi-Fi w kawiarni, niekoniecznie może być w stanie wyłuskać hasła, nadal istniała możliwość, że ktoś może przeczytać wiadomości Hotmaila, przechwytując ruch internetowy po zalogowaniu.
Szkoda piętna Hotmaila
Konkurencja ze strony Gmaila firmy Google i Yahoo zmusiła Hotmaila do poprawy, ale spowodowała też dziwny rebranding. W ramach próby uczynienia MSN bardziej „żywą” w okresie wprowadzania systemu Windows Vista w 2005 r. firma Microsoft próbowała przemianować wiele swoich usług na „Windows Live”. Hotmail został przemianowany na „Windows Live Mail”. Jednak użytkownicy Hotmaila byli najwyraźniej zdezorientowani, więc zmieniono ją ponownie – na Windows Live Hotmail. Wraz z rebrandingiem firma Microsoft rozpoczęła pełne przepisywanie systemów front-end dla Hotmaila, które wcześniej były w większości portami oryginalnego kodu Solarisa w języku C++ i Perl. Przepis ten, w języku C# i kodzie ASP.NET, ostatecznie położył kres uniksowemu dziedzictwu Hotmaila i, na dobre i na złe, uczynił z tej usługi wizytówkę własnych platform Microsoftu – wprowadzając firmę na kurs w kierunku platformy Office 365 i chmury Azure.
Chociaż Hotmail był ważny dla Microsoftu jako poligon doświadczalny dla wielu rzeczy – i być może mniej ważny jako generator przychodów – w niektórych kręgach zyskał również reputację źródła wszystkiego, co złe w Internecie. Użytkownicy Hotmaila przez lata byli obiektem żartów i ogólnej nienawiści. Jeden z konsultantów ds. zarządzania otwarcie zasugerował, że firmy nie powinny nigdy zatrudniać osób korzystających z Hotmaila.
Hotmail był krainą kont palnika dla osób zakładających fałszywe profile randkowe. Jako pionier poczty elektronicznej w formacie HTML użytkownicy Hotmaila stanowili naturalny cel pojawiających się ataków typu phishing i drive-by download. Jego możliwości filtrowania spamu były w najlepszym razie wątpliwe. Jak na ironię, niezdolność Hotmaila do blokowania spamu sprawiła, że konta Hotmail częściej były blokowane jako spam – po części z powodu wszystkich zwrotów spowodowanych pełnymi skrzynkami pocztowymi.
Tak więc, pomimo wszystkich stosunkowo dobrych rzeczy, które możemy przypisać Hotmailowi, nie ma zbyt wielu powodów, aby opłakiwać jego odejście. Outlook.com ułatwia zapomnienie o starych, złych czasach webmaila… i wciąż są tysiące ludzi, którzy byli zbyt leniwi, aby zrezygnować z utrzymywania adresu Hotmail.com.
.