3. Webové aplikace pro cloud computing
Obsah přednášky
Definice cloud computingu a jeho hlavní rysy
Nové technologie a přístupy
Možnosti, které teď máme
5. Definice cloud computingu
Termín označuje souhrnně technologie a postupy
používané v datových centrech a firmách pro
zajištění snadné škálovatelnosti aplikací dodávaných
přes Internet.
6. Taxonomické upřesnění
IaaS - pronájem hardwaru
PaaS - platforma jako služba, hostovaný framework
SaaS - pronájem aplikace
7. IaaS - Infrastruktura jako služba
Nejnižší vrstva cloud pyramidy. Jde o pronájem hardwaru na
vyžádání. Typicky jde o servery, síťové prvky, loadbalancery.
Zařízení se objednává přes rozhraní služeb (např. Amazon
EC2, Mosso apod.)
Výhody – můžete si nastavit hardware přesně tak, jak to
odpovídá vaším potřebám.
Nevýhody – někdy dražší než ostatní vrstvy cloud
computingu. Neodstiňuje vás od nutnosti administrovat
servery.
8. PaaS - Platforma jako služba
Jedná se o pronájem platformy nad kterou aplikace běží. Velmi
podobné tradičnímu hostingu. Je vám pronajímán nějaký
framework(RoR,Django) či prostředí nějakého jazyka (Java,.
NET)
Výhody – odpadá starost o administraci a škálovaní je
automatické.
Nevýhody – nemáte pod kontrolou hardware na které
platforma běží. Velká závislost na poskytovateli.
9. SaaS - Software jako služba
Zákazník nekupuje software, ale pronajímá si ho. Pronájem se
odvíjí od četnosti využití, tedy zákazník platí jen když software
využívá.
Typicky webová aplikace - Google Apps, Salesforce.com,
Abakowiki.cz, GoodData.
Výhody – dostupné přes prohlížeč, platba za užití. Časté
aktualizace softwaru
Nevýhody – možné uzamčení dat u poskytovatele, menší
vyspělost GUI oproti desktopu
11. Co je tedy jiného?
stávající aplikace nejsou schopné efektivně škálovat
úzké hrdlo způsobené databází
masivní využívání session (např. JSF)
nutné škálovat horizontálně nikoliv vertikálně
13. ACID vs BASE
Atomicity - transakce BASE is Basically Available,
musí buď proběhnout celá Soft state, Eventually
nebo vůbec ne consistent
Consistency - transakce
transformuje databázi z Vysoká dostupnost
konzist. stavu do jiného Data se ukládají postupně
konzist. stavu Sloupcově orientované
Isolation - dílčí efekty databáze
jedné transakce nejsou
viditelné jiným
transakcím
Durability - přetrvávající,
tj. pokud dokončeno, tak i
uloženo
14. Proč sloupcově orientované databáze?
Motivace, problémy řádkově orientovaných databází
velmi náročné agregační operace - OLAP
roztroušené ukládání - podobná data jsou na různých
místech na disku
Ale
velmi rychlý zápis
15. Sloupcově orientované databáze
Výhody
rychlá agregace
rychlejší joiny
rychlejší čtení z harddisku
Nevýhody
pomalejší zápis
pomalejší čtení, pokud se čte 1 řádka a všechny její
sloupce
BigTable (Google)
Hadoop HBase
Casandra (Faceboook)
MonetDB
16. MapReduce
paralelní framework
dvě základní operace Map a Reduce
mapování probíhá co nejblíže ke zdroji dat
reduce se pak provadí na stejným setem dat
použití
indexování dat stažených Google Botem
různé výpočty
18. Amazon EC2
IaaS
umožňuje běh již napsaných aplikací
běží virtuálně - při pádu instance se smažou data
jako pevné uložiště nutné využívat Amazon S3
zálohování na S3 každých 10 minut
19. RightScale
cloud agregator
funguje částečně jako platform as a service
z jednoho rozhraní můžete pronajímat servery od různých
cloud providerů
20. Google App Engine
PaaS
sám škáluje dle zatížení aplikace
Java
žádné session
BigTable - okleštěné SQL
omezený počet knihoven
Python Django
platform lock-in
21. Joyent
IaaS
pouze jeden operační systém - Solaris
Facebook accelerator
rok zdarma
geograficky blízko datacentru Facebooku
22. Sun
storage service - REST, WebDAV
compute service
Virtual DataCenter
za pomocí grafických nástrojů budujete vlastní datové
centrum
lze pak k nim přistupovat přes API
23. Windows Azure
PaaS
jedinný operační systém
.NET platforma
homogenní prostředí (vše MS)
24. Dotazy z internetu
Takže mi to automaticky bude škálovat?
Ano i ne. U IaaS to musíte udělat sami. U PaaS ano,
bude to za Vás škálovat.
A co se stane o vánocích, to mě Amazon odpojí?
Ne, neodpojí. V současnosti údajně disponuje okolo půl
milionu serverů. Nemusíte se bát
Super, ale stejně jim nevěřím že mi nebudou koukat na
moje data. Jak mi to zaručí?
Na permanentní úložiště můžete ukládat šifrovaně a pak
vám do toho nikdo koukat nebude. Amazon má audit
SAS70. Věnujte pozornost SLA.
25. Dotazy z Internetu
Mám aplikaci a chci používat cloud computing, jak?
Pokud máte aplikaci nejschůdnější je Amazon EC2, také
z důvodu že jako jediný má datová centra v Evropě. Na
EC2 si vyberte AMI které je nejvíce podobné konfiguraci
nutné pro běh vašeho programu.
Ušetří mi cloud computing peníze proti běžnému hostingu?
Spíše ne. Pokud vám stačí běžný hosting nemá smysl si
pronajímat celý server.