Řada vývojářů má před cloudem možná větší respekt, než je potřeba. Cloud totiž ve skutečnosti není nový, je jen trochu jiný. V případě platformy Microsoftu navíc nabízí možnost využít tytéž nástroje a tytéž programátorské techniky jako vývoj pro vlastní infrastrukturu. Kromě toho však vývojářům nabízí možnost vydělat si prodejem vlastních řešení pro cloud anebo snadno a levně nabídnout své aplikace celému světu.
Stejné nástroje a jeden kód
Microsoft přistupoval k vývoji své cloudové platformy až nezvykle prozřetelně. Windows Azure nejsou totiž z pohledu vývojáře ničím jiným než mírně upravenými Windows Server 2008 R2. Microsoft Exchange Online zahrnutý v Office 365 je identickou kopií Exchange Serveru 2010. Lync Server Online je identickou kopií Lync Serveru. SharePoint Online, taktéž z Office 365, je jen odlehčenou verzí SharePointu, která ovšem podporuje stejné principy vývoje, kdy hlavní důraz je kladen na oblast bezpečnosti aplikací a dat. A konečně Microsoft Dynamics CRM Online není ničím jiným než téměř identickou kopií Microsoft Dynamics CRM 2011, která má pouze určitá omezení v počtu rozšíření ovlivňujících nároky na výpočetní výkon. Pro všechny tyto cloudové nástroje a platformy se tedy vyvíjí naprosto stejně jako pro jejich on-premise alternativy. Používá se totéž Visual Studio, tentýž .NET a tytéž knihovny. Jeden rozdíl tu ale přeci jen je.
Lokální úložiště ztratilo smysl
Tento rozdíl vyplývá z logiky, s jakou cloudová platforma Windows Azure přiděluje aplikacím fyzickou infrastrukturu. Windows Azure mnohem víc, než třeba klasické Hyper-V odděluje virtuální stroje od těch fyzických. Virtuální stroje jakoby „plavou“ nad fyzickou infrastrukturou a v okamžiku, kdy potřebují využít objednaný výkon na maximum, vezmou si jej ve fyzickém stroji, který jej zrovna nabízí. Díky tomu je také možné obratem vytvořit deset, sto nebo třeba tisíc dalších obdobných virtuálních strojů, které se s tím prvním okamžitě spojí do clusteru. To má však pro vývojáře jedno omezení – není možné už používat lokální úložiště, protože to na rozdíl třeba od virtualizované databáze už takto „neplave.“
Pokud si uložíte nějaká data na lokální disk, nemůžete se k nim pak vrátit, protože cloudová platforma nemá jak dohledat, kde ta data jsou. Lokální úložiště se tak používá pouze na dočasná data, u kterých existuje jednoznačná dočasná vazba mezi virtuálním strojem a fyzickou infrastrukturou. Co to znamená pro vývojáře v praxi? Všechny aplikace vyvinuté pro Windows Server 2008 R2 bez problémů fungují i ve Windows Azure, pokud nevyužívají lokální úložiště. Některé stávající aplikace je pro přechod do cloudu proto třeba dodatečně upravit a data ukládat do cloudových nerelačních nebo relačních úložišť. Tyto úpravy však nejsou nijak časově náročné. Kupříkladu když společnost Ness vyvinula svůj Portál výběrových řízení pro Windows Server 2008 a rozhodla se jej následně převést pod Windows Azure a začít nabízet po celém světě ve formě služby, zabraly jí úpravy jen několik málo hodin. Na druhou stranu aplikace vyvinuté přímo pro Windows Azure budou 1:1 okamžitě fungovat i na Windows Server 2008 R2, což je výhodné zejména při vývoji aplikací náročnějších na objemy přenášených dat, které si chcete otestovat na vlastním serveru.
V cloudu můžete i vydělávat
Možná si teď říkáte, proč začít vyvíjet pro cloud? Proč předělávat své stávající aplikace tak, aby namísto s lokálním úložištěm pracovali s databází. Důvodů je hned několik. Řada firem dnes začíná vyžadovat IT ve formě služby, a to i v aplikacích, které s IT zdánlivě nesouvisejí jako je třeba systém plně automatické výpůjčky jízdních kol pro města, který nabízí česká společnost Homeport po celé Evropě a pro který provozuje společnost The KITE páteřní informační systém právě v cloudu na Windows Azure. Cloud vám ale také umožní s minimálními náklady začít provozovat vlastní služby. Když společnost Cígler Software chtěla na trh uvést svůj www.idoklad.cz, vyšel ji cloud 10× levněji než využití vlastní infrastruktury. Cloud však nabízí i jiné možnosti výdělku. Pro Office 365 můžete vyvíjet a následně prodávat vlastní doplňky na Office 365 Marketplace. Pro Microsoft Dynamics CRM Online je zase možné nabízet již hotová vertikální řešení na Dynamics Marketplace. Uživatelé cloudových služeb Microsoftu přitom jen kliknou a vaší aplikaci mají k dispozici, aniž by to od vás vyžadovalo další úsilí a personální kapacity.
Cloud je budoucnost většiny vývojářů
Pokud bychom to tedy měli shrnout, tak cloud vám nabízí možnost levně, rychle a s menším rizikem uvádět nové online aplikace, navíc s tím, že mohou být dostupné rychle z celého světa. Cloud od Microsoftu vám dává možnost pro něj vyvinuté aplikace zpětně využívat i na on-premise řešeních a to bez nutnosti dalších úprav. Díky cloudu můžete do režimu služby převést i komplexní služby z úplně jiných odvětví jako je třeba půjčování kol. A v neposlední řadě cloud vám otevírá nové možnosti v oblasti prodeje vašich vlastních řešení pro produkty jako SharePoint, Dynamics CRM, Lync Server nebo Exchange Server.