-
Akceleracja SSL
Hej
Szukam urzadzen ktore pozwola mi zrobic offload jak najwiekszej czesci crypto.
Mam cluster serwerow na ktorych dziala pewna aplikacja, ktora musi wykonywac polaczenia do API pewnej uslugi i to API dostepne jest tylko przez SSL i tylko jesli klient posluguje sie odpowiednim certyfikatem.
Problem w tym, ze serwery przy aktualnym obciazeniu nie beda w stanie przemielic >100 nowych polaczen SSL na sekunde i do tego jeszcze normalnie odpowiadac na zapytania ktore same dostaja...
Wyjscia sa trzy ogolnie mowiac:
- dolozyc serwerow (nie wchodzi w gre bo clustra juz nie da sie bardziej rozbudowac)
- dokupic karty akcelerujace (te sa tanie ale system jest tak zrobiony ze nie moge go zmodyfikowac wiec karty wszelkiej masci odpadaja)
- kupic zewnetrzne urzadzenie - ta sciezka mnie interesuje najbardzije
Sztuka w tym, ze cala zewnetrzna akceleracja SSL jaka znalazlem to load balancery ktore maja w srodku karty akcelerujace ale obsluguja nie ten kierunek... to nie ja mam odbierac polaczenia jako serwer - ja jestem klientem (tak jak przegladarka www).
Trafilem na fajne teksty dzisiaj - w Korei opracowano SSL Accelerator/Proxy ktore uzywa CPU jak ma maly ruch SSL a jak zaczyna sie wiecej pracy to robi offload na GPU (CUDA i spolka) i wydajnosciowo bije na glowe... serwer wart tylko $5000 potrafi zrobic wiecej niz np load balancer F5 za $55000 (w najnizszej licencji, aby zrobil tyle samo co ten z GPU to 100k przekroczymy lekko).
Szukam czegos co daloby mi powiedzmy 300 nowych sesji SSL na sekunde i mozliwosc rozbudowy dalej. Jesli nic nie znajde pozostanie mi zbudowac takie cos samemu ale firma woli gotowca.
Zna ktos cos takiego? Wszelkie sugestie mile widziane.
-
Ja nie znam :) ale jak cos znajdziesz daj znac :) za jakis czas cos takiego bede potrzebowal... do tego wmiare taniego...
-
Ok... mam nieco wiecej informacji - tydzien czasu, pare spotkan i demo urzadzen...
Tak jak pisalem mozn calosc zrobic na apaczu nawet - karta na przyklad nCipher nFast 800 kostuje £200 na eBay'u uzywana, daje 800 nowych polaczen SSL na sekunde - nie jest zle. Do tego rekompilacja openssl'a tak aby uzywal sprzetowej akceleracji (openssl -engine -> trzeba sprawdzic czy widzi karte), pozniej chyba jedna linijka w konfigu apacza i po sprawie. Do polaczen wychodzacych robisz reverse-proxy, doslownie 4-5 linii w konfiguracji i po sprawie - sprawdzone, dziala!
Wariant sprzetowy, ahem... prawie caly ten sprzet to PC-ty z Linuxem na pokladzie, karta akcelerujaca jak wyzej i sprytnym softem ktory w sumie daje ladne GUI zarzadzania... nie mam jeszcze konkretnych cen, ale:
- Zeus ZXTM - robi deszyfrowanie ruchu, przetwarza go (load balancer z mozliwoscia tworzenia regul dot. ruchu) i moze ponownie zakodowac calosc i puscic po SSL do back-end'u, tak wiec dane sa plaintext tylko wewnatrz urzadzenia. Reverse-proxy jak pisalem potrafi zrobic, ale trzeba uzywac do tego ich mechanizmu skryptowego TrafficScript - bardzo prosty jezyk programowania w sumie :) Jesli chcesz kupic cos od nich to maja calkiem fajny pre-sales support - mialem problem z konfiguracja maszyny testowej, jeden mail i pol godziny pozniej inzynier podal mi na tacy opis co i jak zrobic i jakie sa mozliwosci i ograniczenia - super! Nieco nie podoba mi sie to ze musze uzywac TrafficScript do tego, no ale...
- F5 Big-IP LTM (local traffic manager) - nie mialem jeszcze okazji odpalic tego co mam u siebie teraz, bede testowal w ciagu tygodnia co i jak. Wiem ze tanie nie bedzie ale wiem ze bedzie chodzic :) Poza tym F5 to Linux na specjalnie zaprojektowanym komputerze - zintegrowali pare urzadzen w postaci jednej plyty glownej.
- Cisco ACE (application control engine) - ponoc robi wszystko... i Cisco byloby jedynym rozwiazaniem sprzetowym, takim co nie uzywa linuxa ani sprzetu klasy PC
- Fortinet - nie mam detali ale ponoc tez da rade, czekam na dodatkowe informacje.
Wszystkie rozwiazania poza linuxem i karta do akceleracji ida w tysiace dolarow na samym poczatku... co zrobic bedzie zalezalo od tego ile kasy stracisz jesli Twoj Linux z proxy na apaczu nagle odmowi wspolpracy :twisted: Ja takiego ryzyka nie moge podjac i bede szedl w rozwiazania komercyjne. Ciekawe co z tego wyjdzie...
-
ACE znam i nie jest takie piekne :) ale nie jest tez zle - widzialem gorsze :) Zreszta jak to z Cisco bywa...
Ta karta z linuxem wydaje sie najbardziej rozsadnym rozwiazaniem, tylko znalezc cos co bedzie dobrze wspolpracowac bez jakis wyskokow :). Mi akurat zalezy na cenie bo taki ruch bedzie wystepowal w scisle okreslonych terminach, tak sprzed bedzie sie nudzil.
Wiec nawet jak cos sie rozsypie to jest czas na spokojne rozwiazanie problemu...
-
No to tylko ta karta wchodzi w gre jesli cena ma znaczenie...
Wlasnie widzialem jak konfiguruje sie Cisco ACE do inicjacji ssl (zamiast terminacji) i wyglada to jakby szpilke wbijac mlotem pneumatycznym - makabra...
Nie wiem nadal ile kosztowalby Zeus ZXTM - nadal nie udalo mi sie ich rozwiazania uruchomic w testowym srodowisku, pomimo tego ze mam ich inzynierow na telefon - trzeba kombinowac z regulkami nieco... ale widze teraz dokladnie taka sama kombinacje w F5, ktora ma duzo wiecej mozliwosci ale i cena powala... i co ciekawe oba roziwazania to Linux na platformie PC z ich softem i karta do akceleracji...
Patrzac na ceny z tego co wiem z rozgladania sie po sieci (nie prosilem jeszcze o wycene sprzetu u dostawcow) to podajac w GBP:
- Zeus ZXTM - nie wiem... szacowane od kilku do ok 20k za sztuke przy wyzszych modelach :-/
- F5 Big-IP LTM - patrzac na eBay'a uzywane moge miec w cenie ok 4.5-6k za sztuke, nowka nizszych modeli bedzie za ok 15-20k sztuka i to lekko
- Cisco ACE - czekam na wycene ale licze ze ok 5-7k sztuka nowka
- Linux i karta - zakladajac nowiutkie serwery Dell/HP i wsadzajac karte do srodka - calkowity max 1.5k za sztukei wiecej TPS niz Zeus/F5
... Linux ladnie i pieknie ale niestety nie wolno mi uzyc takiego rozwiazania w tej konkretnej sytuacji. Jesli cos padnie to...
BTW. Slyszales powiedzenie ze "nikt jeszcze nie zostal zwolniony za kupowanie cisco"? :-) To nowa dewiza mojego bylego szefa :P
EDIT:
Wlasnie dostalem wycene na Cisco ACE - 2 sztuki nowki za 13.5k GBP + VAT
-
no z tym Cisco to fakt :) ale tak samo jest z cala reszta sprzetu. Zaleta jest ze jesli chodzi o Cisco to jest sporo informacji w sieci i jak sie przegladnie wiadomo jak sie bedzie cos spisywac. Bo wierzac reklama to mozna sie niezle rozczarowac jak sie okazuje ze cos co mialo byc wspomagane sprzetowo nie jest itp. bo ASIC wspiera owszem sprzetowo ale w scisle okreslonych przypadkach.
Z innymi firmami jest najczesciej wieksza tragedia zwlaszcza jak sie okazuje ze cos nie dziala tak jak by sie chcialo, a o poprawce firmware mozna zapomniec... Taka jazde mialem kiedys z HP i BGP i wiecej HP nie kupie, od HP zmienilo producenta i mozna bylo zapomniec o update oprogramowania - a sprzet byl za wcale nie niska kase...
W Cisco juz sie przyzwyczailem do problemow, ale zawsze sie mozna o nich dowiedziec lub spokojnie liczyc na poprawke w kolejnym IOS-e :) Choc od pewnego czasu podobaja mi sie produkty sieciowe Dell-a nie wiem kto dla nich to robi, ale za ta kase to jest rewelacja (zwlaszcza L3 serii PowerConnect 6000)...
Zreszta jak to sie mowi staram sie dobierac sprzet tak aby sie za wiele nie narobic :) ot ludzka rzecz. Jak ma byc cos taniego dziwnej firmy to dziekuje, bo wiem ze to ja bede mial przerabane siedzac po nocach przez takie wynalazki :)
-
DOKLADNIE!
Jak mialbym dostarczyc rozwiazanie tanio, to wtedy za 3k GBP mam 2 serwery na linuxie, Apache z mod_proxy i mod_ssl i to zalatwia mi sprawe (5-6 linijek w konfiguracji apache'a) ze sprzetowa akceleracja SSL do 800 tps...
Podejscie jest jednak inne - zaplacic i miec wsparcie a nie siedziec po nocach. Jak cos sie sypnie to oczekuje ze firma wysle inzyniera w ciagu max 2h (prawda taka ze maja konsultantow na miejscu nawet) i taka osoba usunie awarie itd. Wtedy odpowiedzialnosc nie lezy na mnie i w koncu moge spokojnie jechac na urlop :P
Dam znac jak to sie skonczylo... wyglada mi to na razie na Cisco (nie ACE - tansze rozwiazanie za 13.5k za 2 urzadzenia) ale cos mi w koscial lupie ze te karty tez bede potrzebowal calkiem calkiem niedlugo, do innego projektu w innym miejscu gdzie moge sobie pozwolic na dolozenie kart i utrzymanie systemu w ruchu wlasnymi silami (nie bedzie straty przychodu jesli cos sie walnie).
-
No ja mam wlasnie za jakis czas taki projekt do zrealizowania... tylko ze firma nie ma kasy, strata jakas bedzie jak to padnie... ale nie na tyle duza aby oplacalo sie inwestowac w cos wiecej. Ale to jak mowie za jakis czas wiec cos sie zapewne znajdzie powoli i ewentualnie zrobi jakies testy... Jakiegos "parcia na szklo" nie ma w tym przypadku wiec moge do tematu podejsc wmiare luzno, zreszta wspomnialem ze tanio to nie zawsze dobrze i roznie to sie moze zakonczyc ;) wiec ja jestem czysty :)
A tak jest najlepiej postawic pudelko + support i ma sie w nosie co sie dzieje, co najwyzej wykonanie telefonu i zgloszenie problemu :) He he czlowiek na starosc sie rozleniwia ;)
-
Wlasnie przeczytalem caly watek od poczatku hehe i poplynelismy z tematu ladnie... ale nie szkodzi.
Pewnie wiele osob nie do konca rozumie dlaczego piszemy to co piszemy - drogie inwestycje, lenistwo... to nie lenistwo tak na prawde tylko realia pracy w firmach ktore zarabiaja gdy system dziala i traca kase gdy nie dziala. Trzeba chronic swoj tylek... i powie to kazdy logicznie myslacy czlowiek w IT, to samo powtorzy kazy przelozony bo i on ma swojego przelozonego a tamten ma nastepnego albo akcjonariuszy itd.
Zbudujesz cos i padnie - wszyscy swieca oczami patrzac blagalnie w gore aby jakies gowno na dol nie polecialo bo wtedy glowy poleca kaskadowo... Kupisz i padnie - no coz, to nie ja, to oni :D
Jeszcze inne rozwiazanie - nowy serwerek (2x 4,6,8-core i pare 8-16 GB RAM).... to samo co z karta ale bez karty - calosc na CPU puszczona. Mozna dokladnie skonfigurowac SSL i wtedy wycisniesz wiecej miedyz polaczeniami (zakladam ze dzialasz jako inicjator):
1. KeepAlive
2. cache kluczy - wydluzyc czas (polaczenia SSL z A do B moga uzywac tego samego klucza symetrycznego dla kolejnych polaczen TCP nawet jesli wczesniejsze polaczenie zostalo juz zakonczone)
3. Skrocenie kluczy - nie polecam ale mozna :P
Ciekawe jest #2 - w koncu najwiecej czasu zajmuje crypto asymetryczne czyli negocjacja kluczy symetrycznych ktore tak na prawde sa uzywane do szyfrowania danych (duzo szybsze i mocniejsze od asymetrycznych). Normalnie co polaczenie to negocjacja kluczy ale te mozna buforowac wiec jesli masz cache na 5 min max i robisz 1 polaczenie co 30sek to 12 kolejnych polaczen bedzie uzywac tych samych kluczy symetrycznych a to oszczedzi czasu bo nie bedzie negocjacji i zabawy z asymetrycznymi kluczami... Szczerze mowiac to musze z tym potestowac...