Wpis z mikrobloga

◢ #akamaitech

Technologiczne piątki z Akamai



Prowadząc poczytny portal internetowy, możemy spotkać się z dwoma ograniczeniami technicznymi, które blokują nas przed dalszym rozwojem.
Pierwszym z ograniczeń jest przepustowość łącza internetowego, do którego podłączony jest serwer z portalem.

Przyjmijmy dla uproszczenia, że nasze łącze ma np. przepustowość 1Mbps (czyli około 125 kilobajtów na sekundę). Zakładając, że jeden czytelnik potrzebuje przepustowości minimalnej np. 5kB/s, wychodzi na to, że komfortowo możemy obsłużyć maksymalnie 25 równoczesnych czytelników. To bardzo mało jak na poczytny portal. Możemy oczywiście kupić szybsze łącze - załóżmy 1Gbps. Cały czas mamy jednak górny pułap, którego nie przeskoczymy. Dodatkowo, wcześniej, czy później dojdziemy do momentu, w którym nie będzie dało się już kupić lepszego łącza, a my nadal będziemy chcieć się rozrastać.

Kolejnym ograniczeniem jest wydajność serwera. Co nam przyjdzie z łącza, które potrafi obsłużyć 10 tysięcy równoczesnych użytkowników, jeśli nasz serwer potrafi ich przyjąć w porywach 500 sztuk?

Tutaj z pomocą przychodzi usługa CDN (Content Delivery Network). Jest to technologia, która dba o to, aby treść od klienta usługi (właściciela portalu), trafiła do odbiorcy końcowego (czytelnika). Sieć CDN umożliwia obsłużenie dowolnie dużego ruchu (do granicy przepustowości dostawcy CDN), niezależnie od mocy serwera i przepustowości łącza klienta.

Klient korzystający z CDN, konfiguruje swoją domenę w taki sposób, aby wskazywała na serwery dostawcy CDN, a nie na serwer, na którym znajduje się portal. Jednocześnie sam CDN wie, gdzie znajduje się oryginalna treść portalu.

Od tej chwili czytelnik wchodząc na poczytny portal, łączy się z serwerami CDN. Serwery te nie mają w pamięci jeszcze strony portalu, więc jeden z nich łączy się z serwerem źródłowym i umieszcza w cache CDNa pobraną treść. Od tej chwili, gdy stronę odwiedzi kilkuset następnych czytelników, treść nie będzie już pobierana z głównego serwera, lecz zostanie podawana wersja z cache. Serwer klienta nie będzie więc przeciążony, a dostawca usługi CDN weźmie na siebie cały przychodzący ruch.

Istnieje wiele rodzajów CDNów, różniących się od siebie możliwościami i zastosowaniem. Wielu klientów decyduje się na hostowanie jedynie contentu statycznego (grafika, skrypty JS, arkusze CSS), są tacy, którzy wykorzystują CDNy do wspomagania transmisji strumieniowej (np. programy nadawane live w Internecie), a inni chowają za chmurą cały swój portal i przepuszczają przez nią 100% przychodzącego ruchu.

Niezależnie od tego, którą opcję wybierze klient, bezpośrednim zyskiem dla niego będzie zawsze zwiększenie liczby czytelników, którą może obsłużyć. Zawsze wiąże się to też z obniżeniem kosztów prowadzenia działalności. Taniej jest skorzystać z usługi dostawców contentu, niż kupić np. dodatkowe kilkadziesiąt serwerów, wyposażonych w wyjątkowo mocne łącza.

Domyślacie się, kto jest jednym z największych dostawców CDNów na świecie? ;)

❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋❋

O co chodzi?
Co piatek, firma Akamai Technologies (polski oddział z Krakowa) wrzuca na swój fanpage wpis technologiczny, który nastepnie jest repostowany tutaj, na mikroblogu.

Link do Fanpage

Nie przegap nowych wpisów!
Obserwuj tag #akamaitech i/lub moje prywatne konto.

Chcesz być wołany?
http://mirkolisty.pvu.pl/list/xp7yHkOuBY9A9Yxr

Kto jest autorem wpisów?
Autor to unknow - możesz obserwować jego profil na FB (sporo newsów na temat technologii)

Chcesz pomóc?
Podeślij do mnie na priv temat, który myślisz, że warto byłoby poruszyć w następnych wydaniach AkamaiTech

#technologia #internet #gruparatowaniapoziomu
imlmpe - ◢ #akamaitech ◣

 Technologiczne piątki z Akamai

SPOILER
SPOILER

Pro...

źródło: comment_BCrsv16Omr9VXQnxl6zzQ49S93jm8R34.jpg

Pobierz
  • 14
Jak tam wygląda rekrutacja?


@biczek: kilka rozmów przechodzisz (w tym z dwie telefoniczne).

rekruterka (wstępna weryfikacja) -> phone-screening z kimś z teamu docelowego (interview telefoniczny, techniczny) -> ludzie z teamu do którego chcesz iść -> Twój manager

Nie da się powiedzieć jak wygląda rekrutacja, bo nie mamy żadnych wypracowanych standardów.
Każdy team to oddzielna komórka, rządząca się swoimi prawami. Ja rekrutuję inaczej niż np. moi koledzy z teamu obok ( ͡
@imlmpe: Z zagramanicy do mnie dzwonili ale do oddziału w krakowie, powiedziałem żeby za pół roku zadzwonili ( ͡° ͜ʖ ͡°)
Z angielskim to nie mam problemu oprócz "slav accent", więc może spróbuję bo widełki kuszą w #!$%@?.
@imlmpe: A napisz trochę o problemach związanych z cache'owaniem całych stron przez CDN. Bo wg. Twojego opisu to tylko miód i malina, ale w rzeczywistości ta róża ma jednak trochę kolców.

@imlmpe: Cache w CDN jest z jednej strony fajny, bo ma wymienione przez Ciebie zalety jednakże może być on problematyczny w przypadku kiedy chcemy szybko zaktualizować jakąś treść. Czasami cache nie chce się wyczyścić i mamy kwiatki pokroju: user A widzi nową treść, user B widzi starą i komentują oni dwie różne treści walcząc w komentarzach kto ma racje :)
user A widzi nową treść, user B widzi starą i komentują oni dwie różne treści walcząc w komentarzach kto ma racje


@dobrymarcin: to niestety częsty problem przy pracy z cache...

Tutaj mogą pomóc dwie rzeczy:
1) poprawnie ustawione nagłówki #!$%@?ące (+ nie za długi czas trzymania obiektów w cache)
2) rozsądne korzystanie z funkcji 'purge' (czyszczenie cache dla URLa lub maski URLi) po każdej większej aktualizacji portalu

Mechanizm cache zawsze będzie
@imlmpe: Bardziej miałem na myśli rzeczy o których napisał @dobrymarcin.

O ile pamiętam przy DSD jest możliwość cache'owania w dwóch tierach u Was, czyli nawet przy padzie origina klientom będzie zwracana zawartość (tyle, że stara). Mając taką możliwość raczej bym się skłaniał do krótkiego TTLa, bo to rozwiązuje (lub zmniejsza) wiele problemów. Jasne, zwiększa się obciążenie origina wtedy, ale nie oszukujmy się, ktoś kto ma infrastrukturę którą cache'ować musi wykorzystując
Napisałeś, że czas purge to nawet i kilkanaście minut. Zakładając wrzucenie purge nie do kolejki priorytetowej (tylko do zwykłej) to ile maksymalnie to może trwać?


@idaho7: nie pisałem o rozwiązaniu Akamai, a ogólnie o systemach cache. Pracowałem z takimi systemami, gdzie na wykonanie żądania purge czekało się baaaardzo długo. Ja na te systemy patrzę jako admin, nie jako klient, więc też nie znam problemów klientów - to będa znali ludzie z
@imlmpe: Jeśli jako admin nie znasz czasu purge to... słabo. Kilkanaście minut (i więcej) to faktycznie purge potrafi trwać w Akamai (ze względu na skalę i ilość serwerów). Inni popularni dostawcy CDN radzą sobie z tym sprawniej (ale znów - albo mają nowsze rozwiązania albo mniejszą sieć).

Ja wiem ile czasu trwa purge / ban na Varnishach, którymi się zajmuję ;)
Jeśli jako admin nie znasz czasu purge to... słabo.

Ja wiem ile czasu trwa purge / ban na Varnishach, którymi się zajmuję


@idaho7: nie zajmuje się zawodowo serwerami cache (w Akamai w życiu ich nie dotykałem) + nie mam kontaktu z supportem klienta. Zajmuję się zupełnie inną działką administracji. Od tego co wymieniasz, są dedykowane teamy.
@imlmpe: A, to przepraszam, źle Cię zrozumiałem. Szkoda, że nie wiesz, to akurat temat który mnie dość mocno interesuje. Tak czy owak - dzięki za dobrą robotę, jak na razie złego słowa (odpukać) na działanie Waszego CDNa nie mogę powiedzieć.

A, jeszcze jedno pytanie - mniej więcej co roku zmieniacie mi opiekuna klienta - czy ja jestem wyjątkiem czy to jakaś wewnętrzna polityka rotowania accountów? Szczerze mówiąc to jest irytujące.