Ako dokázať viac za menej
Rastislav Pečík
Softec
Ako sa dá zvýšiť výkon aplikácie?
 Škálovateľnosť
• „Schopnosť udržať si výkonnostnú úroveň po pridaní
ďalších procesorov“ (jadier, počítačov) a „... nielen
udržať, ale využiť celý potenciál prostredia“
 Posilnenie hardware
• Horizontálne škálovanie -
zvýšenie počtu procesorov /
jadier
• Vertikálne škálovanie
počítačoch
- paralelný beh na viacerých
 Optimalizácia aplikácie
 Použite nových nástrojov a techník
Miesto pre Vaše logo
2
Problémy zvýšenia výkonu JEE aplikácie
 Plytvanie zdrojmi
• Pre zvýšenie výkonu rozširujeme infraštruktúru
 Nákladný vývoj na dosiahnutie škálovateľnosti
• Neefektívny synchrónny paralelizačný model
 Drahá udržiavateľnosť
• Nedostatočná adaptabilita na zmenu infraštruktúry
Miesto pre Vaše logo
3
Problémy zvýšenia výkonu JEE aplikácie
 Plytvanie zdrojmi
• Pre zvýšenie výkonu rozširujeme infraštruktúru
 Nákladný
vývojneposkytuje
na dosiahnutie škálovatelnosti
Jazyk Java
• vhodný
Neefektívnyparalelizačný
synchrónny paralelizačný
modelmodel
 Drahá
Lepšíudržiavateľnosť
paralelizačný model = Scala (scalable
• language)
Nedostatočná
adaptabilita na zmenu infraštruktúry
a Closure
Miesto pre Vaše logo
4
Ako dosiahnuť viac?
„What are you waiting for? You're faster than this.
Don't think you are, know you are.“
The Matrix
 Využiť zdroje a infraštruktúru naplno použitím
správneho, moderného prístupu
Asynchrónny event-based
paralelizačný model
www.akka.io
Miesto pre Vaše logo
5
Akka.io
 toolkit pre písanie paralelných aplikácií
 efektívnejší paralelizačný model jazyka Scala
• Nepoužíva zdieľané zdroje
• Používa štruktúry actors a futures
 middleware bežiaci na infraštruktúre
 knižnica, ktorá je súčasťou aplikácie
Miesto pre Vaše logo
6
Škálovateľnosť Akka.io a Java aplikácií
Miesto pre Vaše logo
7
Akka.io – asynchrónny paralelizačný model
 Škálovateľnosť
• na úrovni CPU
• na úrovni infraštruktúry
 Efektívnejší vývoj
• efektívne odchytávanie chýb
• abstrakcia nad vláknami
 efektívnejšie písanie business funkcionality
• Java/Scala API
Miesto pre Vaše logo
8
Akka.io – asynchrónny vývojový model
 Škálovateľnosť
Využívanie zdrojov
• •na Lacnejší
úrovni CPU
vývoj a udržiavanie
potenciál moderných paralelných CPU
•  Naplno
Lepšia využíva
horizontálna
a vertikálna škálovateľnosť
• na oproti
úrovniJEE
infaštruktúry

•


Rozhodnutie nasadenia do infraštruktúry až pri samotnom
nasadení
Prípadyväčšia
použitia
Omnoho
variabilita (nie sme obmedzení vrstvami)
• Transakčné spracovanie
Efektívnejší
vývoj
• Request
( - response) Service
• Efektívne
odchytávanie
• Batch
processing chýb
 Forma samouzdravovania sa
• Complex Event Stram Processing
• Abstrakcia nad vláknami = nepísanie
nízkoúrovňového kódu

Efektívnejšie písanie business funkcionality
• API pre Javu
Miesto pre Vaše logo
9
Záver
Dosiahneme viac ...
• Rýchlejšiu odozvu
• Viac obslúžených klientov
...za menej...
•
•
•
•
Hardvéru
Licencií
Úsilia
=> Nákladov
...pomocou moderných technológií
• Akka.io
Miesto pre Vaše logo
10
Download

Ako dokázať viac za menej