Jak vyvíjet aplikace pro cloud



Mohli bychom začít toto povídání vysvětlováním, jak je nutné specifikovat požadavky na software, vybrat vhodnou cloudovou platformu, definovat vlastnosti vývojového projektu a tak dále a tak dále, ale my raději půjdeme rovnou k věci – totiž k tomu, co zásadně odlišuje vývoj aplikací pro prostředí cloudu od běžného vývoje aplikací. I když, po pravdě, tu bude řeč i o oné volbě vhodné platformy, protože to je přece jen základ.

Vzhledem k množství různých platforem zde v žádném případě neslibujeme ani krátké příklady nějakých zdrojových textů cloudových aplikací nebo popisy API – to by totiž daleko přesahovalo rámec tohoto článku. Takže – karty jsou rozdány, začínáme...

Máme-li jasnou představu o vyvíjené aplikaci, zřejmě budeme schopni učinit i první zásadní rozhodnutí – totiž co od cloudové platformy požadujeme. A v první fázi zřejmě padne rozhodnutí, zda bude vhodné zvolit služby typu PaaS (Platform as a Service) nebo IaaS (Infrastructure as a Service). Zjednodušeně řečeno: Rozhodujeme-li se mezi Google a Amazonem a víme, že Google nabízí v rámci svého App Engine runtime prostředí pro Python, Javu nebo Go, tak pokud nám některé z nich vyhovuje, je App Engine ve hře. Víme-li, že v ani jednom z nich svou aplikaci provozovat nechceme, sáhneme po službách Amazonu, který nabízí IaaS. (Ve skutečnosti bude samozřejmě voleb více; roli bude hrát nejen volba mezi IaaS a PaaS, ale nepochybně také řada dalších technických parametrů – i finanční náročnost jednotlivých služeb.)

Zásadní požadavky na vývoj v cloudu

Mezi hlavními výhodami cloudu bývají uváděny vysoká škálovatelnost, spolehlivost Při vývoji je třeba striktně oddělovat proces zpracování a ukládání dat. Foto: OpenImageBank.com
Při vývoji je třeba striktně oddělovat proces zpracování a ukládání dat. Foto: OpenImageBank.com
a cenová efektivita; je však zřejmé, že pokud tyto vlastnosti nejsou podporovány aplikacemi v cloudu, může být samotná cloudová platforma doslova dokonalá a stejně to nebude nic platné. Pokud se aplikace zhroutí a nebude možno uživatele přesměrovat na její jinou instanci (samozřejmě při zachování rozpracovaných dat), jsou výhody (nebo alespoň některé z nich) nadobro ztraceny.

Při vývoji je tedy třeba striktně oddělovat proces zpracování a ukládání dat, která musejí být dostupná jakékoli jiné instanci aplikace v cloudu (samozřejmě za splnění daných bezpečnostních podmínek). Je třeba se vyvarovat vzniku místa, jehož selhání způsobí přerušení poskytování všech služeb i jednoho úzkého hrdla distribuované aplikace. Je zcela k ničemu, pokud je celý systém škálovatelný, když je pak jedna podpůrná rutina potřebná k běhu všech instancí výkonově poddimenzovaná a neškálovatelná.

Při vývoji je rovněž vhodné mít na paměti platební podmínky a pokud možno optimalizovat aplikaci tak, aby pronajaté prostředky (výpočetní výkon, úložné systémy, přenosové pásmo apod.) využívala z hlediska nákladů co nejefektivněji.

Myslete na přenositelnost

Při vývoji aplikace je rovněž vhodné myslet na přenositelnost. Pokud vyvinete aplikaci, která bude úzce svázaná s poskytovatelem vybraného cloudového řešení, budete mu do budoucna vydáni na milost. Tento požadavek je poněkud v rozporu se snahou využívat maximum služeb, které poskytovatel nabízí, ale při čistě napsaném kódu by ani tak neměl přenos na jinou platformu znamenat neřešitelný problém – i třeba navzdory odlišnému API a sadě služeb.

Je rovněž vhodné mít na paměti skutečnost, že si váš software sám může říci o poskytnutí dodatečných zdrojů, jsou-li potřeba. Je tedy třeba, aby toho byl schopen a aby to dělal ve správný okamžik. Aplikace by měla rovněž počítat i s možností provozu v různých lokalitách, pokud ji provozovatel cloudu poskytuje.

Stručné shrnutí

Poskytovatelé cloudových služeb zpravidla zveřejňují detailní informace nejen o základních vlastnostech svých služeb, ale i o jednotlivých službách API, takže je možné si dopředu udělat představu o nabízených možnostech i o způsobu práce s poskytovanou infrastrukturou. Obecně se doporučuje věnovat pozornost tomu, jakým způsobem, resp. jakými službami vás infrastruktura cloudu podpoří v zajištění spolehlivosti a škálovatelnosti, jaké nabízí možnosti pro ukládání velkých objemů dat (potřebujete-li je) a obecně s databázemi.

Při samotném vývoji pak konzultanti radí dbát na bezstavovost aplikace (nebo alespoň rozhodně na bezstavovost jejího webového front-endu, u něhož existují vysoké nároky na škálovatelnost) a v případě, že dojde v aplikaci k chybě, doporučují zvolit rychlé a efektivní řešení – tím může mnohdy být i okamžité sestřelení aplikace a nasměrování uživatele na jiný server.


(28. 8. 2011 | redakce2)


Předcházející článek: <<< Nasazení cloudu v praxi <<<
Následující článek: >>> Cloud Computing: Slovník pojmů >>>

Tento článek je součástí speciálu:

Cloud Computing: Pro divoké lovce, manažery a IT specialisty


Cloud Computing - speciální téma magazínu

Cloud Computing je dnes v oblasti informačních technologií módním slovem číslo 1 – a navzdory skutečnosti, že na jeho přesném významu se zpravidla zcela neshodují ani výrobci, ani uživatelé, jde o velmi zajímavou záležitost. Nabízí naprostou spolehlivost, dokonalou bezpečnost, nekonečný výkon a navíc i velké finanční úspory. Tedy, samozřejmě, ve své dokonalé podobě. Ale ani skutečné cloudy, byť nedokonalé, nejsou úplně k zahození.


Facebook Twitter
Komentáře, názory a rady

Zatím sem nikdo nevložil žádný komentář. Buďte první...

>>> Číst a vkládat komentáře <<<

Tip - Konference: MOBILNÍ ŘEŠENÍ PRO BUSINESS 2019 - 14.11.2019!
Hledáme nové kolegy pro realizaci zajímavých projektů
v oblasti IT

NOVINKA: Pozoruhodné IT produkty 2019 podruhé
Ani tentokrát si nenechte ujít produkty, které vám mohou pomoci ve vaší práci v IT.

Pozoruhodné IT produkty pro rok 2019
Náš první letošní seznam zajímavých produktů, které byste určitě neměli minout






Články čtenářů

Titulky vložené do videa a další vid...


Dnes tu má tip pro všechny, kdo nejen pracují, ale také se občas baví :). Co dělat, když potřebujete video s vloženými titulky a máte jen video, kde titulky vložené ...

Problém: Pomalá Windows 10 a jak je ...


Pomalá Windows 10, to je problém, se kterým se potkává řada uživatelů. Často přitom nastane najednou, doslova ze dne na den. Windows se pomalu spouštějí, aplikace se...

Komentáře čtenářů

TBW
Dobrý den. Koukám že váš článek je z roku 2016. Dnes je rok 2019 a situace může být odlišná. Můj dotaz z...>>
Podnikání na youtube
Zdravím, měl bych pár dotazů týkajících se podnikání na youtube. Četl jsem na http://techhity.cz/media/j...>>
Zdá se mi to nebezpečné
Přijde mi to už docela nebezpečné, že půjde platit i prostřednictvím televize. Ale pokrok nezastavíme. C...>>


©2011-2019 BusinessIT.cz, ISSN 1805-0522 | Názvy použité v textech mohou být ochrannými známkami příslušných vlastníků.
Provozovatel: Bispiral, s.r.o., kontakt: BusinessIT(at)Bispiral.com | Inzerce: Best Online Media, s.r.o., zuzana@online-media.cz
Používáme účetní program Money S3
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(90)