WIELOWARSTWOWY CACHE. Na przykładzie serwisu GOG.com. Maciej Włodarkiewicz

Podobne dokumenty
Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Personalizowane rekomendacje w e-commerce, czyli jak skutecznie zwiększyć przychody w sklepie on-line

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Zastosowanie darmowych rozwiązań do testów użyteczności aplikacji internetowych

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Analityka danych w środowisku Hadoop. Piotr Czarnas, 5 czerwca 2017

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

CENNIK USŁUG TELEKOMUNIKACYJNYCH

Jak ograniczyć zagrożenie związane ze zjawiskiem credential abuse? Bartlomiej Jakubowski Solutions Engineer II, CISSP, CCSP

FEO w Joomla!, czyli jak przyspieszyć swoją stronę

ERDAS TITAN środowisko 3D udostępniania danych przestrzennych

Firma Informatyczna ASDER. Prezentacja. Serwer danych zdalnych. Przemysław Kroczak ASDER

wiosna cudów w Orange

Strona wizytówka od 400 zł

Jak ustawić cele kampanii?

Need for speed. Kliknij, aby edytować style wzorca tekstu jak sobie radzić z dużą ilością użytkowników i danych

Router Lanberg AC1200 RO-120GE 1Gbs

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Multicasty w zaawansowanych usługach Internetu nowej generacji

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Internetowy sklep komputerowy

PLAN Podstawowe pojęcia techniczne charakteryzujące dostęp do Internetu prędkość podłączenia opóźnienia straty Umowa SLA inne parametry dostępność

Architektura serwisu GG.pl

Konfiguracja vsftpd ( Very Secure FTP Server )

INTERNET. OFERTA PROMOCYJNA ważna od r. do r. wybierz jedną z promocji :

Emil Wilczek. Promotor: dr inż. Dariusz Chaładyniak

Administratorzy kontrolują systemy IT, a kto kontroluje administratorów?

Zimbra Collaboration Suite sposób na efektywną komunikację w biznesie

SEM-friendly IT czyli jak codzienna praca w IT moŝe ułatwić Ŝycie innym ;)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

katalog Usługi internetowe SERWERY WIRTUALNE

Linksys/Cisco SPA2102, SPA3102 Instrukcja Konfiguracji

Proces projektowania serwisu www

StoreOnce - To więcej niż Backup2Disk

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

Netia Fon Informacje podstawowe

Kompresja stron internetowych

KOLEJNY PORTAL NA UCZELNI?

Zacznij Zarabiać

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

BADANIE SZYBKOŚCI ŁADOWANIA

X-CONTROL -FUNKCJONALNOŚCI

Xpress Sp. z o.o. jako wieloletni Premium Partner firmy Xerox ma w swojej ofercie rozwiązanie

Strona mobilna i strona responsywna w pozycjonowaniu. Mobile-First Index. Spis treści

Norton 360 Najczęściej zadawane pytania

ANALIZA BEZPIECZEŃSTWA SIECI MPLS VPN. Łukasz Polak Opiekun: prof. Zbigniew Kotulski

Instrukcja obsługi notowań koszykowych w M@klerPlus

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

155,35 PLN brutto 126,30 PLN netto

systemd-nspawn kontenery bliższe sercu administratora

Jak usprawnić tworzenie i zarządzanie stroną na drupalu. Maciej Łukiański

To internet domowy bez limitu w technologii LTE. W technologii HSPA+ nadal będą limity danych.

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Tworzenie aplikacji bazodanowych

CO MOZ NA WYCISNA C Z SAMOOBSŁUGI CZYLI SPRZEDAZ W KANAŁACH SELF CARE? Bartosz Szkudlarek

LOTUS DAY grudnia 2009 r., Warszawa IBM WebSphere Portal NOW czyli portal w 3 tygodnie

Część II Wyświetlanie obrazów

co to oznacza dla mobilnych

Pla$orma edukacyjna czy to wystarczy? Przygotował: Artur Dyro, Prezes Learnetic S.A.

profesjonalna obsługa programu partnerskiego

Trzy lata doświadczeń w sprzedaży usług Triple Play w sieciach Gawex Media

skuteczna komunikacja multimedialna w placówkach Banków Spółdzielczych Kazimierz Dolny,

evolpe Consulting Group

Google Testing. Radosław Smilgin, , TestWarez

Zapewnienie dostępu do Chmury

Cennik usługi IAI-Shop.com

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

coago Optymalizacja cache w TYPO3 Krystian Szymukowicz (krystian@typo3.pl)

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Skalowalne aplikacje internetowe wysokiej dostępności

OFERTA NA USŁUGI TELEKOMUNIKACYJNE

INFORMACJE Tytuł projektu: CRM dla Mazowsza Zasięg: woj. mazowieckie Pomoc publiczna: TAK (de minimis)

Cloud Transcoding Nowe Paradygmaty, Wysoka Dostępność i Wskaźniki ROI. Maj 2017

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Telewizja w Internecie: fakty i wyzwania

Firewall bez adresu IP

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Rozwiązania internetowe iplanet

Architektura aplikacji

Konferencja Biblioteka Akademicka: Infrastruktura Uczelnia Otoczenie Gliwice, października 2013 r.

Agenda. Quo vadis, security? Artur Maj, Prevenity

Web 2.0 Zagadnienia hostingu (i nie tylko)

Szczegółowy opis przedmiotu zamówienia

Zapory sieciowe i techniki filtrowania danych

SoftVig Systemy Informatyczne Sp. z o.o. Szczecin , ul. Cyfrowa 4

Comarch B2B Ulotka. Comarch ERP XL / Comarch ERP Altum. Zmiany w wersji

Spis treúci. Księgarnia PWN: Wayne Lewis - Akademia sieci Cisco. CCNA semestr 3

Systemy Firewall. Grzegorz Blinowski. "CC" - Open Computer Systems. Grzegorz.Blinowski@cc.com.pl

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Zenoss. Monitorowanie nowoczesnej serwerowni

Archiwum Cyfrowe jako usługa w modelu Cloud Computing

Pilz E-Shop więcej niż zwykłe zakupy w internecie

Usługi ze wsparciem Centrum Innowacji Microsoft. Jerzy Mikołajczak, Marek Zawadzki

APD. Archiwum Prac Dyplomowych w USOS. Mariusz.Czerniak@umk.pl

Charakterystyka allpay.net

Laboratorium nr 4 - Badanie protokołów WWW

Świadczenie usługi hurtowej wysyłki wiadomości SMS dla Urzędu Miasta Torunia w latach

Transkrypt:

WIELOWARSTWOWY CACHE Na przykładzie serwisu GOG.com Maciej Włodarkiewicz

O mnie GOG.com Head of Web Development GG Network S.A. Web Backend Lead 7 lat doświadczenia przy dużych aplikacjach internetowych 5 lat doświadczenia jako kierownik zespołu

Agenda 1. GOG.com - kim jesteśmy? 2. Wyzwania, którym musimy sprostać 3. Walka z odległością 4. Wykorzystanie cache w GOG.com 5. Podsumowanie i wnioski

GOG.com - kim jesteśmy? Historia Start w 2008 pod skrzydłami CD Projekt - zespół 10 osób Obecnie zatrudnionych jest 70 osób Obecna pozycja #1 globalnej dystrybucji klasycznych gier na PC i Mac #2 globalnej dystrybucji gier indie na PC i Mac Partnerzy 180+ twórców i wydawców gier Klienci Ponad 2.7 miliona unikalnych wejść miesięcznie z całego świata Gry Ponad 700 tytułów w katalogu Ponad 39 milionów gier na kontach użytkowników

Wyzwania, którym musimy sprostać Globalny zasięg Szybkość dostępu Dynamika odwiedzalności

Globalny zasięg Regularne wejścia na stronę GOG.com ma odnotowane przynajmniej jedno wejście z każdego kraju na świecie

Szybkość dostępu 1% 7% 30% spadku sprzedaży przy wydłużeniu ładowania Amazon.com o 100 ms spadku konwersji po każdej sekundzie ładowania Amazon.com użytkowników opuszcza Amazon.com jeśli czas ładowania przekracza 4 sek Czas ładowania strony ma wpływ na jej pozycję w wynikach wyszukiwania Google! http://blog.edgecast.com/post/42404930702/ecommerce-performance-website-speed-impacts-your

Dynamika odwiedzalności EA Exclusives Weekend Promo Fall Insomnia Promo DRM-Free Winter Sale Free Game: Dungeon Keeper

Walka z odległością - początki GOG.com 2008 DataCenter w Kanadzie (Montreal)

Walka z odległością

Walka z odległością Problem: Prędkość ograniczona do maksymalnej prędkości łącza Każdy router powoduje opóźnienie Połączenie narażone jest na zmiany topologii sieci oraz jej awarie Rozwiązanie: Zastosowanie CDN / ADN content bliżej użytkownika obliczenia dalej odbywają się w jednym datacenter Każdy błąd powoduje retransmisje danych

Walka z odległością 2011 DataCenter w Polsce (Warszawa); sieć rozproszona EdgeCast (POP y)

Content Delivery Network - CDN Tryby pracy: Tryby dostępu do plików: Push sami uploadujemy na serwery zewnętrzne Open niezabezpieczone, dostępne dla wszystkich Pull ADN (Application Delivery Network); aplikacja pobiera zawartość Secure chronione poprzez podpisywanie URL zkrótkim TTL

Content Delivery Network - CDN static assets games files gog.com pages secure.gog.com

Cache pełnych stron Problem: Nie można cachować gotowych stron każda posiada dane spersonalizowane dla użytkownika Czym różnią się strony dla poszczególnych użytkowników? Czy są jakieś strony, które są całkowicie różne dla poszczególnych użytkowników? Rozwiązanie: Gotowy HTML trzymany w całości w cache Personalizacja poprzez AJAX Szybkość działania HTML generowany jednorazowo dla wszystkich Oszczędność transferu Lepsze skalowanie ruchu

Cache pełnych stron globalnie CDN Browser ADN Backend

Problemy ADN Problemy: Jako zewnętrzna usługa, nie jest w pełni konfigurowalna i dostosowana do naszych potrzeb Czym więcej punktów dostępowych (POP) tym lepsze user-experience ale też mniejsze hity Sposoby ich rozwiązania: Aby zniwelować braki ADN używamy lokalnego reverse-proxy cache Varnish-Cache Brak dobrej obsługi SSL

Varnish-Cache CDN Browser ADN Backend

Varnish-Cache CDN Browser ADN Varnish Backend

Varnish-Cache Zalety Łatwy w konfiguracji Rozszerzalny przy użyciu wstawek C Nie pozwala na dogpile Dodatkowe możliwości Expires At Last-Modified GZIP

Cache wewnętrzny CDN Browser ADN Varnish Backend

Cache wewnętrzny CDN Browser ADN Varnish Backend Cache wewnętrzny

Cache wewnętrzny Memcached Cache pomiędzy elementami infrastruktury, np cache pokrywający bazę danych Dane właściwe dla użytkownika takie jak lista posiadanych gier, wishlist etc. Katalog gier z cenami uwzględniającymi promocje XCache Dane niezmienne i niezależne od użytkownika Cache danych użytkowników daje bardzo mały hit-rate Tylko na niewielkie dane, ograniczona pojemność poszczególnego obiektu, oraz ilości obiektów

Browser cache CDN Browser ADN Varnish Backend Cache wewnętrzny

Browser cache CDN Browser Browser ADN Varnish Backend cache Cache wewnętrzny

Browser cache HTML5 Local Storage Wspierany przez większość przeglądarek Key / Value Limit do 5 MB Szybsza odpowiedź Prawie niewidoczne oczekiwanie na personalizację (Trochę) mniejszy ruch Strona może działać offline

Wiele różnych poziomów cache Zarządzanie inwalidacją cache Stosowanie długiego cache z wymuszeniem inwalidacji jest trudną i kosztowną operacją, Inwalidacja plików na CDN przez zmianę nazwy Stosujemy krótki cache ~1 minutowy. Nawet nałożeniu się warstw zapewnia świeżość w ~2 minuty. Cache 1minutowy od 1 godzinnego albo 1 dniowego różni się wystarczająco nieznacznie

Podsumowanie Wnioski: HTML jest w cache Koszyk trzymany jest na szybkim tymczasowym nośniku Użytkownik jest zalogowany i jego dane są dostępne w cache lub personalizacja jest wyłączona Efekty i korzyści: Nie ma ruchu na bazie danych do momentu transakcji Idealnie skalowalny system Bardzo szybki dostęp na całym świecie

Wyzwania, którym sprostaliśmy Globalny zasięg Szybkość dostępu Dynamika odwiedzalności

Podsumowanie Wnioski: Dostosowujmy architekturę do potrzeb ADN/CDN znacznie zwiększa możliwości strony, szczególnie przy globalnym zasięgu Ale to nie wystarczy, stosujmy dodatkowo cache wewnątrz infrastruktury Plany: Stworzenie od podstaw własnego systemu klasy ADN (już jesteśmy w trakcie pierwszych testów!) Rozproszenie reszty architektury Krótki TTL mocno upraszcza logikę

Technologie w GOG.com ADN CDN Varnish-Cache MemCached PHP-XCache HTML5 Local Storage Browser Cache akamai.com edgecast.com varnish-cache.org memcached.org xcache.lighttpd.net developer.mozilla.org/en-us/docs/web/guide/api/dom/storage developers.google.com/speed/docs/best-practices/caching

SZUKAMY WEBDEVÓW Więcej informacji u mnie lub na stronie GOG.com/work

SZUKAMY WEBDEVÓW Więcej informacji u mnie lub na stronie GOG.com/work DZIĘKUJĘ ZA UWAGĘ i zapraszam po darmowego Wiedźmina :)