wordcamp 2015, juraj hanták - ako zvládnúť rast webu
TRANSCRIPT
![Page 1: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/4.jpg)
Ako sa pripraviť na veľký počet návštevníkov
![Page 5: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/5.jpg)
Zvyšovanie výkonu
![Page 6: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/6.jpg)
Vertikálne škálovanie
Jedno zariadenie musí stačiť
![Page 7: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/7.jpg)
Horizontáne škálovanie
Prípadne pridáme zariadenia
![Page 8: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/9.jpg)
Ž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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/11.jpg)
Š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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/12.jpg)
Š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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/13.jpg)
Výkon
![Page 14: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/14.jpg)
Škálovateľnosť
![Page 15: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/15.jpg)
Aplikácia nebude škálovať, keď tak nebude
navrhnutá.
![Page 16: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/16.jpg)
Aj keď ju tak navrhnete, tak to nebude
bez problémov.
![Page 17: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/17.jpg)
Škálovateľnosť problém
![Page 18: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/18.jpg)
Ž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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/19.jpg)
Zdieľaný webhosting
Internet
Webhostingovýserver
WEB1 WEB2 WEB3
WEB4 WEB5
![Page 20: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/20.jpg)
VPS / server
Internet
WEB, DB
![Page 21: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/21.jpg)
Viacero VPS / serverov
Internet
WEB DB
![Page 22: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/22.jpg)
Pridáme load balancer/cache
Internet
WEB DBLoad balancercache
![Page 23: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/23.jpg)
Reverzné proxy
Internet
WEBProxy
![Page 24: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/24.jpg)
Reverzné proxy - Nginx
![Page 25: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/25.jpg)
Pridáme CPU/RAM do DB
Internet
WEB
DB
Load balancercache
![Page 26: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/26.jpg)
Pridáme redundanciu
Internet
WEB2
DB1
Load balancer
WEB1
WEB3
DB2
![Page 27: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/28.jpg)
Škálovanie DB
oddelené read, write operácie
![Page 29: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/30.jpg)
Cloud
Samostatné proaktívne škálovanie
![Page 31: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/34.jpg)
WordPress Heartbeat
![Page 35: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/36.jpg)
Komunikácia
DDoS zo Švédska
![Page 37: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/37.jpg)
Čo to spôsobuje
![Page 38: Wordcamp 2015, Juraj Hanták - Ako zvládnúť rast webu](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020218/55c13909bb61ebea2b8b465a/html5/thumbnails/39.jpg)
Zhrnutie
Komunikácia s prevádzkovateľom
Myslite horizontálne – koľko, nie aké výkonné
Kešovanie – kešujte, čo sa dá
Optimalizujte