Webove Aplikace Pro Cloud Computing

Preview:

DESCRIPTION

Přednáška z pražského o buzzmeetu na téma webové aplikace pro cloud computing.

Citation preview

Webové aplikace pro cloud computing

Jak využít potenciál cloud computingu?

Kdo jsem?

Jan KoderaSpoluzakladatel Abakowiki.cz

jan.kodera@gmail.comhttp://cloud.abakowiki.czhttp://twitter.com/jankodera

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

Definice cloud computingu a jeho hlavní rysy

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.

Taxonomické upřesnění

IaaS - pronájem hardwaruPaaS - platforma jako služba, hostovaný framework SaaS - pronájem aplikace

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.

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.

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 softwaruNevýhody – možné uzamčení dat u poskytovatele, menší vyspělost GUI oproti desktopu

Nové technologie a přístupy

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ě

Horizontální škálovaní

ACID vs BASE

Atomicity - transakce musí buď proběhnout celá nebo vůbec neConsistency - transakce transformuje databázi z konzist. stavu do jiného konzist. stavu Isolation - dílčí efekty jedné transakce nejsou viditelné jiným transakcím Durability - přetrvávající, tj. pokud dokončeno, tak i uloženo

BASE is Basically Available, Soft state, Eventually consistent

Vysoká dostupnost Data se ukládají postupněSloupcově orientované databáze

Proč sloupcově orientované databáze?

Motivace, problémy řádkově orientovaných databází

velmi náročné agregační operace - OLAProztroušené ukládání - podobná data jsou na různých místech na disku

Alevelmi rychlý zápis

Sloupcově orientované databáze

Výhody rychlá agregacerychlejší joinyrychlejší čtení z harddisku

Nevýhody pomalejší zápispomalejší čtení, pokud se čte 1 řádka a všechny její sloupce

BigTable (Google)Hadoop HBaseCasandra (Faceboook)MonetDB

MapReduce

paralelní framework dvě základní operace Map a Reduce

mapování probíhá co nejblíže ke zdroji datreduce se pak provadí na stejným setem dat

použití indexování dat stažených Google Botemrůzné výpočty

Možnosti, které teď máme

Amazon EC2

IaaS umožňuje běh již napsaných aplikacíběží virtuálně - při pádu instance se smažou datajako pevné uložiště nutné využívat Amazon S3zálohování na S3 každých 10 minut

RightScale

cloud agregatorfunguje částečně jako platform as a servicez jednoho rozhraní můžete pronajímat servery od různých cloud providerů

Google App Engine

PaaSsám škáluje dle zatížení aplikaceJava

žádné sessionBigTable - okleštěné SQLomezený počet knihoven

Python Djangoplatform lock-in

Joyent

IaaSpouze jeden operační systém - SolarisFacebook accelerator

rok zdarma geograficky blízko datacentru Facebooku

Sun

storage service - REST, WebDAVcompute service Virtual DataCenter

za pomocí grafických nástrojů budujete vlastní datové centrum lze pak k nim přistupovat přes API

Windows Azure

PaaSjedinný operační systém.NET platformahomogenní prostředí (vše MS)

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.

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.

A to je vše přátelé

Děkuji za pozornost.