Ako spravi? z webovej aplik¨¢cie, ktor¨¢ funguje v?voj¨¢rovi na po?¨ªta?i ?k¨¢lovate?n¨² cloud aplik¨¢ciu
1 of 17
Download to read offline
More Related Content
Mne to na notebooku funguje
1. ¡°Mne to na notebooku funguje¡±
Ako spravi? z webovej aplik¨¢cie, ktor¨¢ funguje v?voj¨¢rovi na
po?¨ªta?i ?k¨¢lovate?n¨² web aplik¨¢ciu
Juraj Bedn¨¢r juraj.bednar@digmia.com
6. Nefunguje to!
? M¨¢te ¡°star¨²¡± verziu (napr. RHEL 6 namiesto
Fedora 30000)
? PHP m¨¢te ni??ej verzie a zabudli ste to
skompilova? s t?mto patchom a t?mito
?peci¨¢lnymi vo?bami
¨C Potrebujeme ma? v php.ini v?etko povolen¨¦
? Nem¨¢me nain?talovan? optimizator80000!
7. Nefunguje to!
backport hosting upgradne
Kto sa bude stara? o bezp. upgrady?
- OpenShift ¨C supportovan? vs.
nesupportovan? cartridge
8. St¨¢le to nefunguje
? (v tomto momente z¨¢kazn¨ªk prich¨¢dza
v???inou k n¨¢m)
? D?vod: ?ubovo?n¨¢ kombin¨¢cia z:
¨C nest¨ªha to
¨C pad¨¢ to
¨C hackli n¨¢s
¨C admin n¨¢s m¨¢ pokrk a nedv¨ªha telef¨®n / nem¨¢ na
n¨¢s ?as
9. Navrhneme architekt¨²ru¡
Datacentrum 1 Datacentrum 2
provider independent IP
Internet Internet
BGP failover
Cache/Load balancer
App server ¡..
DB server
Statika (img, css, js, video)
Cache (memcached)
¡..
Cache/Load balancer
App server ¡..
DB server
Statika (img, css, js, video)
Cache (memcached)
¡..
10. Nefunguje statika
? Aplik¨¢cia p¨ª?e statick¨¦ s¨²bory na disk do
lok¨¢lneho filesyst¨¦mu
¨C Synchroniz¨¢cia
¨C CDN
? Aplik¨¢cia sa odvol¨¢va na statiku pod rovnakou
subdom¨¦nou (treba spravi? static.domena.sk)
¨C Vieme r?chlo servova? (nginx, varnish)
¨C Cache je nastaven¨¢ spr¨¢vne
11. HTTP Cache nepom¨¢ha
? N¨ªzky hitrate, lebo¡
¨C No-cache hlavi?ky
? ¡°nikto nem¨¢ ni? cachova?, aby sa v?etky zmeny prejavili
hne?¡±
? dobr¨¦ na v?voj, nepou?ite?n¨¦ v produkcii
? Parametre cachovania treba nastavi? v
aplik¨¢cii a na serveri servuj¨²com statiku
¨C ¡°nastavte si to vy¡± ¨C my nevieme, ktor? obsah sa
ako ?asto men¨ª, to vie aplik¨¢cia
12. Kedy to spadne?
? V???ina z¨¢kazn¨ªkov nevie, lebo nikto nerobil
load-testy
¨C Apache JMeter je skvel? n¨¢stroj, pou?¨ªvajte ho
¨C ?k¨¢lovanie vtedy, ke? je to potrebn¨¦, nie ¡°ke? to
nest¨ªha¡±
13. R?chlo to vr¨¢?te nasp??!
? Nov¨¦ verzie sa maj¨² testova? na testovacom prostred¨ª
¨C Vr¨¢tane load testov
? Testovacie prostredie nie je:
¨C Notebook v?voj¨¢ra
¨C Fedora 30000 vo virtualboxe vo firme, kde sa to
programuje
? Testovacie prostredie by malo by? aspo¨¾ z h?adiska
softv¨¦ru 100% zhodn¨¦ s produk?n?m
? Zmeny sa robia pomocou VCS (git, svn, mercurial, ¡),
nikdy needitova? s¨²bor mimo VCS!
¨C Pekne to m¨¢ vyrie?en¨¦ OpenShift
14. Aplika?n? server
? Apache je dobr? na v?voj, takmer nikdy
nepou?¨ªvame v produkcii (ak sa ned¨¢ takmer
¨²plne zacachova?)
? Nikdy nie mod_php
? Aplik¨¢cia nikdy nezapisuje lok¨¢lne na disk!
(pomocn¨¦ s¨²bory, statika, ¡)
¨C Probl¨¦my so session handlingom
¨C Probl¨¦my s NFS lockmi
? Nikdy sa nespolieha na to, ?e na jednej IP je DB,
cache, ¡ server
¨C (ak sa na tom vyslovene nedohodneme¡)
15. Datab¨¢zov? server
? Nikdy nie je jeden
¨C Master<->slave
¨C Master<->master
¨C + coldspare replika na z¨¢lohy
? Pozor na vz¨¢jomn¨¦ blokovanie queries
? Pozor na zapisovanie
¨C Invalidovanie cache (napr. Logy do DB)
? Ch?baj¨² indexy
? Aplik¨¢cia zle vol¨ª DB server
¨C Read-only replika na lok¨¢lnom app serveri (za ist?ch
okolnost¨ª)
16. V?eobecn¨¦ rady
? Softv¨¦r, ktor? nem¨¢ stabiln¨² verziu s
bezpe?nostnou podporou (bal¨ª?kovac¨ª syst¨¦m)
neexistuje
¨C ¡a neexistuj¨²ci softv¨¦r nem??eme v aplik¨¢cii
pou?¨ªva?, lebo neexistuje
? M¨¢ softv¨¦r long term podporu alebo n¨¢s
vendor prin¨²ti upgradova? na nov?iu verziu (s
nekompatibiln?m API)?
17. ¡°Mne to na notebooku funguje¡±
Ako spravi? z webovej aplik¨¢cie, ktor¨¢ funguje v?voj¨¢rovi na
po?¨ªta?i ?k¨¢lovate?n¨² web aplik¨¢ciu
Juraj Bedn¨¢r juraj.bednar@digmia.com