wordcamp 2015, juraj hanták - ako zvládnúť rast webu

40
Ako zvládnuť rast webu Juraj Hanták, Webglobe – Yegon, s.r.o., WordCamp Slovensko 18.4.2015

Upload: webglobe-yegon

Post on 05-Aug-2015

35 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Ako zvládnuť rast webu

Juraj Hanták, Webglobe – Yegon, s.r.o.,

WordCamp Slovensko 18.4.2015

Page 2: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Predstavenie

•CTO Webglobe – Yegon•#1 cloud provider a #2 webhoster na Slovensku•Problematike prevádzky web aplikácií sa venujem

viac ako 15 rokov

Page 3: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

WP anketa

Aké prostriedky používa váš WP?A. Zdieľaný webhostingB. Samostatný server / VPSC. Viac serverov / VPS

Page 4: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Ako sa pripraviť na veľký počet návštevníkov

Page 5: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Zvyšovanie výkonu

Page 6: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Vertikálne škálovanie

Jedno zariadenie musí stačiť

Page 7: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Horizontáne škálovanie

Prípadne pridáme zariadenia

Page 8: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Agenda

•Želané vlastnosti web aplikácií

•Typické scénare rastu aplikácie

•Best practices / Príklady z praxe

Page 9: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Želané vlastnosti web aplikácií

•Vysoká dostupnosť•Škálovateľnost•Výkon •Spravovateľnosť•Nízka cena•Veľa funkcií pre užívateľov•Generuje €€€€

Page 10: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Vysoká dostupnosť

Vysokú dostupnosť definujeme ako design a súbor opatrení, ktoré zabezpečia určitý stupeň nepretržitosti a funkčnosti prevádzky.

Inými slovami:• Aplikácia funguje• Užívatelia sú spokojní• Obchod neprichádza o peniaze z dôvodu výpadku

Page 11: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Škálovateľnosť

Definujeme ako schopnosť systému obsluhovať rastúce nároky / počty užívateľov.

Čo škálovateľnosť nie je:• Použitý OS Linux vs Windows vs Solaris• Softwérová technológia PHP vs JAVA vs .NET• Optimalizovaný kód 10 riadkov vs 1000 riadkov

Page 12: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Škálovateľnosť vs výkon

Škáľovateľnosť a výkon nie je to isté!

Page 13: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Výkon

Page 14: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Škálovateľnosť

Page 15: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Aplikácia nebude škálovať, keď tak nebude

navrhnutá.

Page 16: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Aj keď ju tak navrhnete, tak to nebude

bez problémov.

Page 17: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Škálovateľnosť problém

Page 18: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Životný cyklus aplikácie

1. Zdieľaný webhosting

2. VPS / server

3. Viacero VPS / serverov

4. Cloud horizontálne škálovanie cez API

Page 19: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Zdieľaný webhosting

Internet

Webhostingovýserver

WEB1 WEB2 WEB3

WEB4 WEB5

Page 20: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

VPS / server

Internet

WEB, DB

Page 21: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Viacero VPS / serverov

Internet

WEB DB

Page 22: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Pridáme load balancer/cache

Internet

WEB DBLoad balancercache

Page 23: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Reverzné proxy

Internet

WEBProxy

Page 24: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Reverzné proxy - Nginx

Page 25: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Pridáme CPU/RAM do DB

Internet

WEB

DB

Load balancercache

Page 26: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Pridáme redundanciu

Internet

WEB2

DB1

Load balancer

WEB1

WEB3

DB2

Page 27: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Pridáme vysokú dostupnosť

Internet

WEB2

DB1Load balancer 1

WEB1

WEB3

DB2Load balancer2

Page 28: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Škálovanie DB

oddelené read, write operácie

Page 29: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Cloud anketa

Čoho prevádzku nám umožňuje cloud?A. „nekonečne“ veľký jeden serverB. „nekonečne“ veľa malých serverov

Page 30: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Cloud

Samostatné proaktívne škálovanie

Page 31: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Best practices / Príklady z praxe

•Pluginy

•Dotazník

•admin-ajax.php

•SQL

•Komunikácia

Page 32: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Pluginy www.expres.sk

•53 pluginov

• 41 vlastných

•21 špecifické pre stránku

•20 všeobecné

•12 priamo z wordpress.org

Page 33: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Dotazník

•Zákazník nasadil nový modul dotazníka

•Dotazník bol zapisovaný niekoľkokrát za

sekundu

•Nezvládal takú záťaž

Page 34: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

WordPress Heartbeat

Page 35: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

SQL dotazy

•Minimalizovať počet queries na generovanie stránky

•Neukladať binárne dáta do sql serveru

•Nepoužívanie indexov

• Zlé WHERE dotazy (výmena poradia podmienok)

• Zložené dotazy (JOIN)

Page 36: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Komunikácia

DDoS zo Švédska

Page 37: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Čo to spôsobuje

Page 38: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Open source kamaráti

• Haproxy - Load balancing, proxy

• Nginx – reverzné proxy, kešovanie obsahu

• Memcache – kešovanie v pamäti /napr. sessions/

• Varnish cache – kešovanie obsahu

• Redis – key-value cache a úložisko

• OWASP - ModSecurity – web application fwl

Page 39: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Zhrnutie

Komunikácia s prevádzkovateľom

Myslite horizontálne – koľko, nie aké výkonné

Kešovanie – kešujte, čo sa dá

Optimalizujte

Page 40: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu

Ďakujem za pozornosť

Priestor na vaše otázky

Juraj Hantá[email protected]