24 kwietnia 2008 r.: Amazon buduje rewolucyjną platformę przetwarzania w chmurze za pomocą usługi Electric Compute Cloud (EC2). Niedawno ogłoszona funkcja elastycznego IP znacznie rozszerza możliwości EC2 jako prawdziwego środowiska hostingowego.
Dla standardowych wymagań serwisu aktualna implementacja wydaje się odpowiednia, ale dla projektów wymagających wysokiej dostępności istnieje co najmniej jedno istotne ograniczenie.
Przewidujemy klaster o zrównoważonym obciążeniu w całości w EC2. Fronton tej konfiguracji byłby zarządzany przez dwie małe instancje EC2, które skutecznie służyłyby jako moduły równoważenia obciążenia lub routery. Żądania docierałyby do routera podstawowego, a następnie byłyby kierowane do najmniej obciążonej instancji w klastrze. Ponieważ pojedynczy router służy jako pojedynczy punkt awarii, co najmniej jeden dodatkowy router jest wymagany dla systemu o naprawdę wysokiej dostępności. Monitor może regularnie wysyłać pakiety ping do routera głównego, a jeśli wystąpią jakiekolwiek problemy, router pomocniczy powinien ponownie przypisać adres IP do siebie i przejąć rolę routera głównego.
W połączeniu ze Strefami Dostępności Amazona, taki system nie miałby żadnych pojedynczych punktów awarii. Aby przetestować wykonalność tego układu, stworzyliśmy dwie małe instancje EC2 i monitorowaliśmy czas, jaki zajęło drugiej instancji przejęcie adresu IP pierwszej. W trzech testach zajęło to średnio 3 minuty i nigdy mniej niż 3 minuty.
Podobny klaster uruchamiamy w tradycyjnym środowisku hostingowym, a przejęcie IP zajmuje około 2 sekund.
Oczywiście rezultatem tego jest to, że w przypadku awarii routera głównego teoretyczny czas przestoju wynosi do 3.5 minuty, podczas gdy router wtórny czeka na propagację adresu IP. Zakładamy, że duża liczba routerów w sieci Amazona sprawia, że szybsza propagacja IP jest nietrywialnym zadaniem.
Jednym z rozwiązań byłoby przeniesienie routerów poza EC2. Zwiększone czasy pingów i opóźnień sprawiają, że to rozwiązanie jest nieoptymalne.
Idealnie byłoby, gdyby Amazon zaoferował dedykowane rozwiązanie Load Balancing zaprojektowane specjalnie do takich celów. O ile nie zostanie zaoferowane inne rozwiązanie, klastry o „wysokiej dostępności” w całości w ramach usługi EC2 Amazon nie będą naprawdę wysoko dostępne.