Seminarium: Content Delivery Networks i ewolucja Internetu zima 2016/17

Język wykładowy Polski
Opiekun Tomasz Wierzbicki
Liczba godzin 30 (sem.)
Rodzaj Seminarium
ECTS 3
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

****Klasyczna architektura klient-serwer publicznej sieci Internet powoli odchodzi w przeszłość. Prędkość światła w zestawieniu z rozmiarem Kuli Ziemskiej powodują, że nawet korzystając z najszybszych transoceanicznych magistral światłowodowych w połączeniach międzykontynentalnych nie da się osiągnąć opoźnienia transmisji rzędu mniejszego niż 100 ms. A to dla wspołczesnego użytkownika Google'a, Facebooka, Youtube i innych serwisow jest zdecydowanie zbyt dużo -- przyzwyczailiśmy się, że treść stron internetowych pojawia się w naszych komputerach, telewizorach, tabletach i telefonach niemal błyskawicznie. Przez ostatnie dziesięciolecie serwisy internetowe przybliżyły się zatem do użytkownika, a dokładniej do lokalnych operatorow telekomunikacyjnych. _Content Delivery Networks_ (zar owno prywatne sieci korporacji, jak Microsoft Azure, Amazon CloudFront, Google Cloud, jak i sieci świadczące usługi dla obcych podmiotow, takie jak Akamai, AWS, Cloudflare, Cachefly, Keycdn i in.) mają w krajach uprzemysłowionych swoje points of presence w odległości co najwyżej kilkuset kilometrow od niemal każdego użytkownika. Nikogo już nie dziwi, że oglądając film na Youtube łączymy się w rzeczywistości z Google Global Cache w Poznaniu, a przeglądając serwis internetowy MIT odbieramy dane z Akamai CDN w Amsterdamie. W Internecie powoli zanika kręgosłup. Globalna sieć publiczna ulega atrofii. Szybko rośnie natomiast przepustowość łączy abonenckich, zarowno kablowych (często już rzędu 1Gb/s) jak i bezprzewodowych (np. LTE o niewiele mniejszej przepustowości), wydajność rdzeni sieci dostawcow Internetu oraz przede wszystkim prywatne WAN-y korporacji, do ktorych użytkownicy nie mają dostępu (Google twierdzi, że jego prywatna sieć przenosi już ponad 10% światowego ruchu telekomunikacyjnego). Ten nowy model komunikacji, mimo że nadal opiera się na tradycyjnym stosie protokołow TCP/IP (obecnie częściej już IPv6 niż IPv4) ze względu na swoją komplikację wymaga opracowania zupełnie nowych technologii dostarczania danych. Korporacje nie zawsze chętnie dzielą się informacjami o sobie z tzw. opinią publiczną. Mimo to jest sporo ciekawych prac opisujących nawet bardzo nowoczesne rozwiązania. W ramach seminarium warto by poczytać zarowno o klasycznych CDN-ach, nowszych trendach (np. Telco CDN), jak i nowych protokołach i technologiach (Software-Defined Networking itp.) **Proponowana tematyka** 1. Struktura, sposob działania i własności dużych CDN. Porownanie infrastruktury. Komponenty CDN. 2. Chmury obliczeniowe. Techniki i narzędzia wirtualizacji, KVM, Xen, VMWare, FreeBSD Jails, OpenVZ, LXC, własnościowe rozwiązania Google'a. 3. Zarządzanie kontenerami (Docker) i klastrami (Kubernetes). 4. Rozproszone systemy plikow, cloud storage, cloud database, object storage, GoogleFS, Colossus, GlusterFS, Ceph, memcached. Apache Thrift. 5. Configuration managers, Chef, Puppet, Ansible, Salt. NixOS. 6. High Availability. Klastry HA, HAProxy, IP Failover/Floating IP, Heartbeat/Healthcheck, replikacja baz danych. 7. HA w infrastrukturze sieciowej. Load balancing, stateful failover, keepalived, Network functions virtualization, Distributed Overlay Virtual Ethernet, Overlay transport virtualization, Software-defined networking, Open vSwitch, Availability Zones. Usługi DNS, Anycast DNS, Route53. 8. Koncepcja Everything-as-a-service. Software, Platform, Infrastructure, Load Balancer, Search as a Service. 9. Points of Presence, caches i problemy dystrybucji zasobow. **Proponowana literatura** Wybrane pozycje są wymienione poniżej. Obszerniejsza lista wartych przeczytania prac zostanie przedstawiona na pierwszych zajęciach. 1. Arjun Singh _et al._ , Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network, _SIGCOMM 2015_. 2. Niall Richard Murphy, Jennifer Petoff, Chris Jones, Betsy Beyer, _Site Reliability Engineering. How Google Runs Production Systems_ , O'Reilly 2016. 3. Rajkumar Buyya, Mukaddim Pathan, Athena Vakali, _Content Delivery Networks_ , Springer, 2008. 4. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, The Google File System, _SOSP '03_. **Podziękowania** Bardzo dziękuję Mateuszowi Markiewiczowi za pomoc w przygotowaniu oferty zajęć.

Seminaria

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Tomasz Wierzbicki
cz 10:00-12:00 (s. 310) 15 14 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Tomasz Wierzbicki 303 Po wcześniejszym umówieniu pocztą elektroniczną. Nie w trakcie lub bezpośrednio przed moimi zajęciami (plan zajęć jest dostępny w systemie Zapisy).