Cloud computing mění přístup k vývoji aplikací

3. 5. 2010

Sdílet

Cloud computing se jeví jako velmi zajímavá platforma pro vývoj aplikací. Avšak některé jeho slabiny, jako malá standardizace, zatím plnému rozvoji této metody poněkud brání.

Je masové přijetí modelu cloud computingu nevyhnutelné, zvláště když se vezme v úvahu, že ho většina hlavních dodavatelů IT intenzivně propaguje a IBM o něm dokonce mluví v komerční televizi? Diskuze je vášnivá. Softwarovým vývojářům je však jasné, že cloudové platformy jako Amazon Web Services nebo Microsoft Windows Azure jsou pro ně v podstatě jen rozšířenou možností toho, jak své aplikacenasadit. U veřejného cloud computingu (CC) jsou aplikace nasazovány na serverech třetí strany a přistupuje se k nim přes internet. Tím dochází k úsporám nákladů za podnikovou infrastrukturu, ale zvětšují se starosti ohledně zabezpečení a kontroly.

V nedávném průzkumu týkajícím se cloud computingu zjistila firma Evans Data, že 61 procent vývojářů bude v příštím roce přesouvat na veřejný CC alespoň nějaké IT prostředky. Forrester nedávno doporučoval, aby si vývojáři aplikací v roce 2010 osvojili cloudové platformy, protože to zrychlí dodávku jejich vlastních aplikací a cloud computing je také velmi vhodnou platformou pro webové aplikace. Firma Evans ale také zjistila, že více než 87 procent vývojářů hodlá přesunout do cloudu jen polovinu či méně svých prostředků. Podle Evansu bude převládat hybridní model cloud computingu, který nabízí bránu do cloudu, ale nesvěřuje mu všechny prostředky. V tomto prostředí se IT subjekty nemusí vzdát úplné kontroly a zabezpečení ve prospěch vnějšího dodavatele.

Osvojení cloud computingu
Mnoho vývojářů, kteří přešli na CC, je spokojených. „Spousta výhod skutečně souvisí s TCO (celkové náklady na vlastnictví) a s relativní jednoduchostí,“ tvrdí David Hatter, prezident společnosti Libertas Technologies. „Jsem spokojen, když nemusím nic dělat se stovkami desktopů, pokud chci provést upgrade softwaru,“ pochvaluje si.

Firma Libertas založila své podnikání na využití webu a mobilních aplikací. „V tuto chvíli je na cloud computingu založeno prakticky všechno, co děláme. Nepoužíváme vůbec žádné řešení s využitím modelu klient-server,“ popisuje Hatter. Libertas využívala služby Amazon Web Services a pro technologii .Net použila platformu Windows Azure.

Dennis Salguero, programátor v prostředí .Net oblíbenost CC potvrzuje. „Najednou dostanete přístup ke všem dostupným prostředkům i k výpočetnímu výkonu s relativně rozumnými náklady,“ vypočítává výhody. Ben Smith, vývojář a vlastník společnosti WBP Systems, zmiňuje ekonomické výhody cloud computingu pro malé firmy: „Důvodem, proč cloud funguje, je jeho škálovatelnost. IT systémy mohou být replikovány na obrovské množství počítačů,“ vysvětluje Smith, který vytvořil cloudové aplikace Heap CRM a Torch Project Management.

Heap konkuruje Salesforce.com, což je také aplikace založená na modelu cloud computingu. „Cloud posiluje konkurenceschopnost aplikace Heap a umožňuje lepší škálovatelnost,“ dodává Smith a dodává, že vyvinul cloudové aplikace pomocí PHP a JavaScriptu, přičemž  zjistil, že při vývoji pro cloud nevidí rozdíl, co se týče použitého jazyka. „Z hlediska vývojáře neexistují žádné konkrétní výhody. Vše se týká ekonomičnosti,“ upozorňuje.

Souhlasí s ním i Cameron Pope, další vývojář, který vyvinul aplikace běžící v cloudech Amazon a Rackspace. „Řekl bych, že CC je z hlediska programovacího jazyka neutrální.“ Pope, který uvedl na trh aplikace pro převod videa jako možná svůj největší cloudový experiment, popisuje výhody vývoje pro CC následovně: „Nejvýznamnější věcí, kterou mám na vývoji aplikací pro cloud rád, je to, že je svým způsobem velmi osvobozující.“ Když dříve chtěli vývojáři zprovoznit svou aplikaci on-line, museli najít někoho pro hosting serveru, zajistit konfiguraci fyzické infrastruktury a podepsat smlouvu. Nyní existuje mnoho poskytovatelů hostingu pro cloud computing, který nabízí další servery na požádání. A platíte jen za používanou kapacitu,“ vysvětluje Pope.

Ve firmě DataArt, která je oursourcingovým poskytovatelem, chystají hybridní model vývoje aplikací zahrnující jak model cloud computingu, tak částečně i interní řešení. Tato společnost však pro své zákazníky zatím nevyvinula žádné cloudové aplikace. Jeden z jejích klientů požaduje systém zdravotních záznamů využívající CC. „Mají záměr vytvořit vše od základu a chtějí pro vývoj použít platformu Azure,“ tvrdí Roman Černyšev, viceprezident technických řešení firmy DataArt. „Náš klient chce začít na platformě Azure a poté svou aplikaci přesunout k sobě a provozovat ji interně, protože by prý mohlo být levnější provozovat vlastní datové centrum pro tisíce zákazníků,“ popisuje Černyšev.

Jen malé změny

„Při vývoji cloudových aplikací existují určité rozdíly, jako například potřeba odlaďování ve zkušebním prostředí,“ uvádí Černyšev. „Trochu se to liší, ale nemohu říci, zda je to obtížnější, nebo snadnější. Je to prostě jiný způsob tvorby aplikací,“ upozorňuje. Pope také vidí jen malý rozdíl: „Řekl bych, že pro webové vývojáře se z programátorského hlediska vývoj aplikace pro cloud computing příliš neodlišuje od vývoje aplikace pro řekněme jiný typ serverového prostředí.“

Migrace na jiný cloud

Ačkoli vývojářské metody nejsou příliš ovlivněny přechodem do prostředí cloudu, existují významné dopady způsobené rozdíly v jednotlivých platformách CC.

Například firma Domina Technology Solutions používá v cloudových projektech pro trh pojišťovnictví platformy Amazon Web Services, dále Google App Engine a také Force.com od Salesforce.com. „Vyvíjíme na platformě Force.com, protože je z hlediska víceuživatelských schopností a také ceny napřed před ostatními,“ tvrdí Ray Hudaihed, technologický ředitel společnosti Domina. Ta používá službu Amazonu pro ukládání dat a App Engine k výpočetním procesům.

Migrace mezi cloudy však zůstává problematická. „K velkému počtu přechodů nedochází, protože jakmile máte vše nastaveno pro konkrétní prostředí, může být změna velmi strastiplná,“ říká Pope. „V době, kdy přemýšlíte o změně, už obvykle máte vzájemně propojené servery a museli byste přesunout veškerá data, překonfigurovat všechny své servery a také přepsat skripty tak, aby migraci řídily a monitorovaly,“ dodává Pope.

Tato bolestná problematika přechodů je důvodem, proč internetový průkopník Vinton Cerf požaduje pro přesun dat mezi cloudy existenci standardů. Pope však upozorňuje, že v současném „mezičase“ zde existují řešení některých poskytovatelů, které migraci usnadňují. Pope uvádí, že citlivá data představují v cloudu problémy. „Máte-li skutečně kritické informace, budete je možná chtít hostovat někde, kam budete moci zajít na kontrolu,“ vysvětluje Pope. „Největší odpor vůči veřejnému cloud computingu je obecně tvořen faktem, že musíte důvěřovat někomu cizímu, kdo má zajistit, že nedojde ke ztrátě vašich dat,“ dodává Hatter z firmy Libertas.

I přes zmiňované problémy je jasné, že veřejný cloud computing je pro vývojáře stále užitečnějším řešením, umožňujícím umístění alespoň některých jejich aplikací.