High Scalability: Building bigger, faster, more reliable websites*



Podobne dokumenty
From OLAMP to enterprise e-commerce.

F5 Local Traffic Manager w ofercie NASK

F5 Networks niezawodny dostęp do aplikacji i serwisów. Łukasz Formas Field System Engineer Europa Wschodnia l.formas@f5.com

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Tworzenie aplikacji bazodanowych

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

Programowanie w Internecie

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia

Zabbix -Monitoring IT bez taśmy klejącej. Paweł Tomala Barcamp 15 czerwca 2015

Klucz to dostępność. Równoważenie obciążenia usług w Azure przy pomocy Kemp Load Master

Publikacja usług Exchange 2013 w internecie. Co dalej bez TMG? Konrad Sagała, Architekt Systemów IT Trener Exchange MVP APN Promise S.A.

Rozwiązanie oparte na bezpiecznym publikowaniu danych. Szybkie przeszukiwanie i przeglądanie na trójwymiarowym wirtualnym globusie

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

WYMAGANE PARAMETRY TECHNICZNE OFEROWANYCH URZĄDZEŃ ZABEZPIECZAJĄCYCH

CZĘŚĆ II OPIS PRZEDMIOTU ZAMÓWIENIA

Pracownia internetowa w każdej szkole (edycja jesień 2005)

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

Advanced Internet Information Services Management (IIS 8)

Dane bezpieczne w chmurze

BEFSR11 / 41. Routing statyczny Routing dynamiczny (RIP-1 / RIP-2)

Przypisywanie adresów IP do MAC-adresów

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP The OWASP Foundation

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Data Center Allegro 1

Sieci komputerowe Warstwa aplikacji

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

<Insert Picture Here> Bezpieczeństwo danych w usługowym modelu funkcjonowania państwa

Instalacja, konfiguracja i zarządzanie Websense Enterprise for FireWall-1

PBS. Wykład Filtrowanie pakietów 2. Translacja adresów 3. authentication-proxy

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Instrukcja obsługi User s manual

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Eksploracja Zasobów Internetu. PageRank intuicja: strona jest tak ważna jak ważne są strony, które na nią wskazują (Google)

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Rentgen współczesnych ataków DoS. Marcin Ulikowski Network Engineer, Atos IT Services

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Jak podejść do wdrożenia NSX a na istniejącej infrastrukturze. Michał Iwańczuk SafeKom

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

Moxa Solution Day 2011

SEO Audit for domain blog.rabinek.pl

Skalowalne aplikacje internetowe wysokiej dostępności

MASKI SIECIOWE W IPv4

Zarządzanie sieciami telekomunikacyjnymi

Zabezpieczanie platformy Windows Server 2003

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

SEO Audit for domain zdrowewidzenie.pl

-czyli jak pozwolić adminowi spać w nocy

Masterclass: Internet Information Services Management (IIS 8.5 / 8 / 7.5)

Healthix Consent Web-Service Specification

Dr Michał Tanaś(

Jak blada twarz psuje serwer HTTP? Kamil Porembiński thecamels.org

Protokoły sterujące i warstwy aplikacji. Protokół kontrolny ICMP Internet Control Message Protocol Protokoły inicjowania i konfiguracji hostów

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

I.Wojnicki, Tech.Inter.

OPIS PRZEDMIOTU ZAMÓWIENIA. Część I dostawa urządzeń UTM, Routera i Przełączników sieciowych

Komunikacja bezprzewodowa w technologiach GSM/GPRS/EDGE/UMTS/HSPA

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

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

4383: Tyle podatności wykryto w 2010 r. Przed iloma jesteś chroniony? 2010 IBM Corporation

BIG-IP Local Traffic Manager

Czy OMS Log Analytics potrafi mi pomóc?

Bezpieczeństwo systemów internetowych

Referat pracy dyplomowej

Skalowanie i monitorowanie działania systemu dlibra 5.0

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

w Przemyśle Modemy Moxa OnCell Maciej Kifer Inżynier Sprzedaży Moxa/Elmark Automatyka

Zarządzanie farmami serwerów Linux

Czy ochrona sieci jest nadal wyzwaniem, czy tylko jednorazową usługą?

Chmura zrzeszenia BPS jako centrum świadczenia usług biznesowych. Artur Powałka Microsoft Services

Rozwiązania bazodanowe EnterpriseDB

Rozwiązanie Compuware Data Center - Real User Monitoring

Konfiguracja aplikacji ZyXEL Remote Security Client:

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Camspot 4.4 Camspot 4.5

BIG SISTER SYSTEM MONITORINGU SIECI DLA LINUX/UNIX I WINDOWS. Michał (traq) Żuchowski. traq@shl.pl

Linux -- u mnie działa!

Programowanie sieciowe

Outsourcing. IT Commerce Sp. z o.o Warszawa Ul.Łomiańska 14a/3. mirek.domin@itcommerce.pl

Architektura oraz testowanie systemu DIADEM Firewall Piotr Piotrowski

Diagnostyka awarii to nie tylko PING Pokaz zintegrowanego systemu monitorowania sieci IBM Corporation

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

Pracownia internetowa w każdej szkole (edycja jesień 2005)

CENNIK I TERMINARZ SZKOLEŃ

Plan wyst pienia Wprowadzenie

Oferta przetargu. Poland Tender. Nazwa. Miejscowość. Warszawa Numer ogłoszenia. Data zamieszczenia Typ ogłoszenia

Kompetencje Asseco Data Systems w obszarze IT Security

Wskazówki dla osób, które będą uruchamiały Wirtualny Serwer Egzaminacyjny w pracowni komputerowej pracującej pod kontrolą serwera SBS

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Sample VNF Rack and VNF Descriptor Configuration File

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Usługi terminalowe

Jak zatrudnić słonie do replikacji baz PostgreSQL

Spis treści Ustawienia zaawansowane: Dotyczy użytkowników, którzy używają proxy... 40

Załącznik nr 1 do OPZ WYKAZ SPRZĘTU I LICENCJI

USŁUGI TFTP. W dokumentacji RFC 1350 zamieszczony jest opis obowiązującej obecnie 2 wersji protokołu TFTP.

Zarządzanie bezpieczeństwem systemów informatycznych w skali przedsiębiorstwa - Juniper Security Threat Response Manager (STRM)

Transkrypt:

High Scalability: Building bigger, faster, more reliable websites* PLNOG, 15-16/01/2009 Warszawa, Marcin Mazurek * http://highscalability.com/

Agenda

Łańcuch pokarmowy.

QXL Poland Sp. z o.o. Serwisy Ogłoszeniowe Serwisy Aukcyjne.pl Płatności.pl.cz.ro.hu.bg.sk.ua.lt.pl Sklepy Internetowe

Struktura Działu Technicznego Grupy Allegro Dział Aplikacji Allegro Interfejs Międzynarodowy Projekty Dział Infrastuktury Serwis Wydajność Zespół systemów płatności Platnosci.pl HelpDesk Payu.pl R&D NOC Reks.pl Project Management Labfoto.pl DBA Data Warehoouse Zespół serwisów ogłoszeniowych OtoMoto OtoDom AlleWakacje Projekty PayBACK PayGSM istore Sieć System

O Grupie Allegro od strony technicznej... Ok. 500 serwerów, w większości w technologii blade. W 99% customizowany CentOS. apache, lighttpd, squid, varnish PHP, Ansi C, C++, Java Oracle, MySQL, PostgreSQL Cisco, IronPort, F5, Juniper HP, IBM, SUN IBM, 3PAR, OnStore Wysyłamy ok. 4 mln maili dziennie z powiadomieniami. Ponad 200 mln obrazków (z dwóch miesięcy). show_item 30% - 120 tys/min. Ruch HTTP -http requests: ok. 100 tys/sek -nowe http requests: ok. 20 000/sek -serwer http requests: ok. 2000/sek

Ilość wystawionych przedmiotów, ostatnie 2 lata. DC2 Oracle Źródło: http://aukcjostat.pl/ DC3

BĘDĘ WIELKI!!! All your base are belong to us!!!

Problemy, z którymi musimy się zmierzyć. 2. Skalowalność aplikacji (najlepiej liniowa). 3. Możliwosć wyodrębnienia logicznych/funkcjonalnych części aplikacji (SOA). 4. Duży wolumen ruchu HTTP, który trzeba odpowiednio ukierunkować. 5. Dostarczenie jak najlepszej usługi przy użyciu możliwie małej ilości zasobów i kosztów. 6. Zarządzanie infrastrukturą. 7. Szybkie reagowanie na potrzeby i zmiany w serwisie. 8. Eleminowanie pojedynczych punktów awarii 9. Efektywny i użyteczny monitoring. 10. Dokumentacja i procedury.

Życie serwisu w kilku krokach cz. 1

Życie serwisu w kilku krokach cz. 2 http://www.bede-wielki.pl http://static.bede-wielki.pl http://images.bede-wielki.pl smtp.bede-wielki.pl

Życie serwisu w kilku krokach cz. 3 Wykorzystanie software load balancerów pozwalających na zwiększenie ich redundancji.

Życie serwisu w kilku krokach cz. 4 -Rozbicie kontentu na niezależne farmy -Podział funkcjonalny aplikacji -Cachowanie show_item 31% [średnio pewnie 2 zdj na stronie] showcat + search 23% [po 50 zdjęć na stronie] -SSL offload -Rozdzielenie backend od aplikacji -Zaawansowany load balancing

Service Oriented Architecture

Cache everything!!! Varnishtop: 9.59 TxURL 6.79 TxURL 1.59 TxURL 1.37 TxURL 0.75 TxURL 0.69 TxURL 0.64 TxURL 0.57 TxURL 0.57 TxURL /public/magazin_cn/export.html /public/click/export.html /public/hry/export1.html /public/t-mobile/export3.html /public/online/a2_240.html /public/mailru/export_b.html /public/mailru/export_m.html /public/search/b.html /public/mailru/export_h.html

Życie serwisu w kilku krokach cz. 5 Zastosowanie load balancerow (także w backend).

Content switching Network SECURITY BIG-IP W W A Database System A n DoS and SYN Flood Protection n Network Address/Port Translation n Application Attack Filtering n Certificate Management n Resource Cloaking n Advanced Client Authentication n Firewall - Packet Filtering n Selective Content Encryption n Cookie Encryption SPEED n n n n n n n n SSL Acceleration Quality of Service Connection Pooling Intelligent Compression L7 Rate Shaping Content Spooling/Buffering TCP Optimization Content Transformation AVAILABILITY n Comprehensive Load Balancing n Advanced Application Switching n Customized Health Monitoring n Intelligent Network Address Translation n Intelligent Port Mirroring n Universal Persistence

OneConnect Connection Pooling Increase server capacity by 30% Aggregates massive number of client requests into fewer server side connections Transformations form HTTP 1.0 to 1.1 for Server Connection Consolidation Maintains Intelligent load balancing to dedicated content servers

F5 - irule rule redirect_error_code { when HTTP_REQUEST { set my_uri [HTTP::uri] } when HTTP_RESPONSE { if { [HTTP::status] == 500 } { HTTP::redirect http://192.168.33.131$my_uri } } when HTTP_REUEST { log local0. "VSERVER=[IP::local_addr] IP=[IP::client_addr] HOST=[HTTP::host] URI=[HTTP::uri] HTTP::header insert "RealIP" [IP::client_addr] if {[HTTP::uri] contains "/original/"} { pool original } } rule protect_content { when HTTP_RESPONSE_DATA { set payload [HTTP::payload [HTTP::payload length]] # Find and replace SSN numbers. regsub -all {\d{3}-\d{2}-\d{4}} $payload "xxx-xx-xxxx new_response # Replace only if necessary. if {$new_response!= 0} { HTTP::payload replace 0 [HTTP::payload length] $new_response } } when CLIENT_ACCEPTED { TCP::collect } when CLIENT_DATA { # # Do a regex search and replace of binary TCP data # if { [regexp -indices "\x61\x62\x63\x64\x65\x66" [TCP::payload] firstmatch] } { set matchlen [expr [lindex $firstmatch 1] - [lindex $firstmatch 0] + 1] set replacement [binary format c* {97 98 99 0 100 101 102}] TCP::payload replace [lindex $firstmatch 0] $matchlen $replacement TCP::release } }

Kiedy brakuje nam czasu/wiedzy.

Sieć ISP 1 ISP 2 L3 L2

Sieć ISP 1 ISP 2

Sieć IS IS I I

Ostrożnie z ogn^h^h^h STP, VTP, itp. Spanning Tree: - korzystanie z RSTP / MST. - zweryfikowanie miejsc istotnych dla STP; root, designated ports. -zmniejszanie wpływu działania STP na sieć, rozbijanie sieci na mniejsze domeny, rozdzielone L3. Ostrożnie z VTP. Przygotowanie do 10G (FCoE). Rozbijanie ruchu na wyizolowane vlany.

Planuj wykorzystanie adresów. DC A: 10.1.0.0/16 DC B: 10.2.2.0/16 DataCenter Alfa DataCenter Beta DC *: 10.0.0.0/14 VPN DC A: 91.21.4X./27 VPN DC B: 91.21.5X./27 Firma X Biura: Office A Office B1 10.4.0.0/16 Ofice A Office B2 10.5.1.0/24 10.5.2.1/24 10.5.0.0/16 Office BX 10.4.0.0/14 - Offices

Przechowywanie contentu. Rzeczy do rozważenia: Wielkość filesystemu Zapewnienie kopii danych Ilość IO/sek Struktura danych na FS Bezpieczeństwo FS Warstwa cachująca Wykorzystanie CDN Block size inodes

Przechowywanie contentu w QXL. 1. Bardzo duża ilość plików, ponad 200 mln (z dwóch miesięcy). 2. Szybkie zmiany -> zmiana obrazka na aukcji -> zamiana w proxy serwerach. 3. Pliki w różnych rozmiarach. 4. Problem z cachowaniem. 5. Problem z systemami plików. 6. Duża liczba requestów http -> IO. 7. Content nie może zniknąć.

Obrazki http://photos03.allegro.pl/photos/128x96/424/82/80/424828054 CRC32(URI) X%3 Określone (zawsze te same) serwery cache.

Tunowanie I utrzymanie. YSlow 1. Make Fewer HTTP Requests 2. Use a Content Delivery Network 3. Add an Expires Header 4. Gzip Components 5. Put CSS at the top 6. Move Scripts to the Bottom 7. Avoid CSS Expressions 8. Make JavaScript and CSS External 9. Reduce DNS Lookups 10. Minify Javascript 11. Avoid Redirects 12. Remove Duplicate Scripts 13. Configure ETags

Narzędzia. Monitoring: - cacti - nagios - collectd - cflowd - SolarWinds - Gomez Zarzadzanie: - Sauron http://sauron.jyu.fi/ - Altiris - rancid Tikety - Request Tracker - OTRS

Syzyfowe prace... while (true) { identify_and_fix_bottlenecks(); drink(); sleep(); notice_new_bottleneck(); } * http://highscalability.com/youtube-architecture Keep It Simple Stupid! Szukaj nowych rozwiązań. Myśl długoterminowo (zapewnij scalowalność). Przygotuj się na wzrost. Skup się na rzeczach ważnych. Nie niedoceniaj narzędzi monitorujących. Korzystaj z wiedzy innych.

Koniec... PYTANIA? http://highscalability.com/youtube-architecture http://www.infoq.com/presentations/second-life-ian-wilkes http://www.facebook.com/note.php?note_id=39391378919&id=94 http://www.mysqlperformanceblog.com/ http://www.datacenterknowledge.com/ http://highscalability.com/ http://www.ajaxperformance.com/ http://developer.yahoo.com/yslow/ http://getfirebug.com/ http://www.gomez.com/