Často riešite, kde by ste si mohli vytvoriť open sourceové prostredie a zdieľať ho s kolegami z tímu alebo sprístupniť aplikáciu priamo zákazníkom?
Microsoft Azure je platforma pre služby typu „cloud computing“, ktorý slúži ako prostredie pre vývoj, hosťovanie a správu služieb na platforme Microsoft Azure. Systém Microsoft Azure poskytuje vývojárom a IT odborníkom na vyžiadanie výpočtovú a úložnú kapacitu, ktorá umožňuje hosťovať, škálovať a spravovať webové aplikácie na Internete prostredníctvom dátových centier spoločnosti Microsoft. Microsoft Azure je flexibilná platforma môžete ju využívať z akejkoľvek platformy a v rámci IaaS (Infraštruktúra ako služba, čiže v praxi vytváranie virtuálnej infraštruktúry) môžete vytvárať virtuálne stroje aj s operačnými systémami Linux.
Azure cloud podporuje veľký a rastúci počet open-source aplikácií, frameworkov a jazykov. Vývojári majú takto voľbu používať nástroje, ktoré najlepšie vyhovujú ich skúsenostiam, zručnostiam a požiadavkám na aplikácie. Vývojári v .NET, Java, PHP, Node.js, a Python môžu využívať dostupné SDK so všetkými výhodami Azure služieb.
Vedeli ste, že Azure cloud podporuje Open Source Softvér? |
||
Linux servery bežia výhodne v Azure cloude viac… |
Azure cloud natívne podporuje Ruby na Linuxe viac… |
Azure cloud podporuje PHP a MySQL na Linuxe viac… |
Azure cloud podporuje natívne Python na Linuxe viac… |
Azure cloud natívne podporuje Node.js viac… |
Azure cloud natívne podporuje MongoDB na Linuxe viac… |
Azure cloud natívne podporuje MySQL na Linuxe viac… |
A veľa ďalších … |
IaaS
Model poskytovania Infraštruktúra ako služba (IaaS) predpokladá poskytovanie virtualizovanej infraštruktúry, najčastejšie virtuálnych serverov. Zákazníci sa zbavia starostí a investičných nákladov súvisiacich s nákupom a prevádzkou serverov, úložísk, alebo sieťovej infraštruktúry. Kupujú si ich ako službu. O všetky problémy súvisiace s prevádzkou hardvérovej infraštruktúry sa pri tomto modeli stará poskytovateľ. Model IaaS je výhodný napríklad pre firmy, ktoré majú nakúpené softvérové licencie, ale nechcú viazať kapacity na hardvér.
Väčšina služieb renomovaných poskytovateľov je orientovaných smerom k potrebám tradičných IT operácií, s dôrazom na riadenie, správu a zabezpečenie, a schopnosť spúšťať nové aplikácie a štandardné pracovné úlohy. Niektoré služby sú naopak šité na mieru vývojárom. Poskytovateľom cloudu pre veľké firmy sa vyplatí vytvárať pre každého zákazníka konfiguráciu služieb podľa jeho predstáv a požiadaviek. Takáto filozofia „na mieru“ šitých riešení sa však pre startupy, drobných podnikateľov, či študentov aplikovať nedá, každý má individuálne požiadavky.
Principiálna schéma možností vytvárania virtuálnych serverov v službe Microsoft Azure Virtual Machines
Možnosť vytvoriť virtuálny stroj na vyžiadanie, či už zo štandardného obrazu alebo z vašich inštalačných médií môže byť veľmi užitočné, navyše pri hodinovej tarifikácii aj rentabilné. Môžete vytvoriť taký počet virtuálnych serverov, koľko potrebujete a len na nevyhnutne potrebnú dobu. V porovnaní s klasickými servermi odpadá doručovanie, vybaľovanie, či konfigurácia
Virtuálne stroje na platforme Microsoft Azure majú perzistentné, teda trvalé úložisko, dajú sa rýchlo vytvoriť pomocou galérie predkonfigurovaných obrazov operačných systémov. V galérii Microsoft Azure je bohatá ponuka konfigurácií virtuálnych serverov nielen s operačným systémom Microsoft Server 2012 ale aj serverové platformy na báze Linuxu (SUSE, Ubuntu)
Scenáre použitia virtuálnych serverov
Služba IaaS na platforme Microsoft Azure je vhodná pre väčšinu klasických scenárov virtualizácie, no situovanie virtuálnych obrazov do cloudu poskytuje nové netušené možnosti. Zákazník ich môže využiť pre rôzne jednorazové akcie, nielen typické ako napríklad pre účely marketingových kampaní ale aj pre netradičné, pre ktoré si zákazník vytvorí z virtuálnych počítačov takzvaný grid pre paralelné riešenie výpočtovo náročných úloh, napríklad dešifrovanie a podobne. Infraštruktúre pre jednorazové akcie niekedy hovoríme aj „stratová infraštruktúru“,, nakoľko po ukončení úlohy je možné celú IT infraštruktúru jednoducho, doslova na niekoľko kliknutí myšou zrušiť.
Na porovnanie, predstavte si scenár výpočtovo náročného jednorazového projektu. Pri klasickom riešení je potrebné špecifikovať požadovanú, fyzickú hardvérovú infraštruktúru, objednať (a pochopiteľne zaplatiť). Potom treba čakať na jej dodanie, následne všetko vybaliť, nainštalovať, nakonfigurovať… čiže dostávame sa na úroveň týždňov až mesiacov. Hlavnou výhodou využívania verejných cloudových služieb je agilnosť, potrebná kapacita je k dispozícii takmer okamžite, typicky sa jedná o minúty až hodiny. Ďalšou výhodou je robustnosť, nakoľko o chod a zálohovanie infraštruktúry sa stará poskytovateľ služby.
Virtuálne servery v cloude sa dajú efektívne využiť nielen pre typické cloudhostingové scenáre, predpokladajúce vysoké nároky na výpočtový výkon, či prácu s veľkými objemami údajov, ale aj pre projekty u ktorých sa predpokladá rýchly rast, prípadne projekty, ktorých nároky na IT kapacity sa dajú ťažko odhadnúť, nakoľko škálovanie virtuálnej infraštruktúry je oveľa jednoduchšie a v konečnom dôsledku aj lacnejšie ako u hardvéru. Cloudhosting je veľmi výhodný aj pre projekty s nárazovou návštevnosťou, napríklad weby jednorazových podujatí.
Zosumarizované a podčiarknuté – ako využijete virtuálne servery vo Microsoft Azure závisí len a len od vás, od vašich potrieb a požiadaviek. IaaS poskytuje flexibilne meniteľnú výpočtovú kapacitu v cloude. Poskytuje vám úplnú kontrolu nad výpočtovými zdrojmi, eliminuje investičné náklady a skracuje čas potrebný na nábeh biznisu. Platíte len za kapacitu, ktorú skutočne využívate.
Mobilné služby
Mobilné služby sa využívajú pre špecifický okruh často sa opakujúcich úloh v mobilných aplikáciách, typicky pre ukladanie údajov, autentifikáciu, posielanie notifikácií a podobne. Použitím mobilnej služby si uľahčíte a zrýchlite vývoj, nakoľko funkcionalitu, ktorú presuniete na mobilnú službu by ste museli prácne vytvárať a prevádzkovať ju vo vlastnom, alebo prenajatom serverovom prostredí.
Používanie mobilných služieb vám umožní rýchlo a jednoducho pridať plnohodnotný backend k mobilným aplikáciám pre zariadenia s operačným systémom iOS, Android, Windows, Windows Phone, HTML alebo pre cross-platformové Xamarin, Sencha, alebo PhoneGap aplikácie.
Mobilnú službu vytvoríte rýchlo, doslova na niekoľko kliknutí. Mobilné služby môžu využívať aplikácie pre najpoužívanejšie tabletové a mobilné platformy Windows 8 a 8.1, Windows Phone, iOS a Android. Prevádzka mobilnej službu je lacná, na báze mesačných poplatkov. Nároky na správu sú prakticky nulové, nakoľko je prevádzkovaná v cloudovom prostredí platformy Microsoft Azure, takže neriešite prevádzkové aspekty ako sú zálohovanie, monitorovanie, obnova a podobne.
Na strane servera (backend) je možné vytvárať mobilne služby buď v programovacom jazyku JavaScript (pre node.js backend), alebo v .NETe (pre Web API backend).
Posielanie notifikácií pre Android aplikácie
Aby mohlo fungovať posielanie správ cez cloudové služby, musíte nielen vytvoriť aplikáciu, ktorá pracuje s GCM, ale implementovať aj službu na strane servera, ktorá bude údaje ukladať, spracovávať, preposielať a podobne.
Na strane servera sa implementácia skladá z 2 častí:
Google-provided GCM Connection Server, ktorý prijíma správy z aplikačného servera tretej strany a poslať ich do Android aplikácií, ktoré majú povolené GCM. Pre pripojenie týchto serverov Google podporuje rozhrania HTTP a CCS (XMPP).
Aplikačný server tretej strany, ktorý je potrebné implementovať. Táto serverová aplikácia odošle údaje Android aplikácii prostredníctvom GCM.
Architektúra GCM
Aby ste mohli vytvoriť Android aplikáciu, ktorá pracuje s cloudovými notifikáciami, potrebujete aplikačný server tretej strany, prípadne cloudovú platformu, kde beží aplikácia na pozadí, ktorá poskytuje údaje pre mobilné aplikácie a táto aplikácia potrebuje posielať notifikácie do všetkých pripojených aplikácií, prípadne do aplikácie konkrétneho používateľa. Ideálnou voľbou je služba Azure Notification Hubs, ktorá je súčasťou cloudovej platformy Microsoft Azure.
Využitie Azure Mobile Services pre Android aplikácie
Mobilné služby umožňujú aplikáciám ukladať údaje v cloudovej službe. Takto je možné napríklad implementovať už spomínaný rebríček top skóre najúspešnejších hráčov. Pomocou notifikácie dokážete hráčovi poslať oznam, že dosiahol absolútne najvyššie skóre v danej hre, no ešte nemáte implementované ukladanie údajov na strane servera.
Aby sa nemiešali platformy, odporúčam pripojenie Android aplikácie k Microsoft Azure Mobile Services.. Výhodou Azure Mobile Services je, že hneď po vytvorení mobilnej službe v cloude si môžete stiahnuť hotový projekt ukážkovej aplikácie pre všetky najpoužívanejšie mobilné platformy vrátane Androidu.
Postup automatického vygenerovania projektu Android aplikácie.