• No results found

Fungování webové aplikace

Tyto aplikace používají kombinaci skriptů umístěných na serveru (PHP a ASP). Pomocí nich ukládají a získávají informace a skripty na straně klienta (JavaScript a HTML) a zobrazují informace uživateli. Díky tomu mohou uživatelé používat online formuláře, nákupní košíky atd. Zaměstnanci společností mohou využívat webové aplikace k vytváření dokumentů, sdílení informací, spolupráci na projektech a přístupu k častým dokumentům nezávisle na místě nebo zařízení.

Webové aplikace jsou zpravidla vyvíjeny v jazyku, které dnešní prohlížeče podporují, jako je JavaScript nebo HTML. Jelikož tyto jazyky jsou závislé na prohlížeči, aby mohl daný skript spustit. Některé aplikace jsou dynamické a potřebují zpracování na straně serveru. Jiné jsou zcela statické a zpracování na serveru nevyžadují.

Webové aplikace potřebují ke svému běhu:

• Webový prohlížeč – zpracování požadavků klienta

• Aplikační server – provádění požadovaných úkonů

• Databázi – ukládání informací

3 Aplikační server provede požadovanou operaci – například zadání dotazu do databáze nebo zpracování dat – a vygeneruje výsledky požadovaných dat.

4 Aplikační server zašle výsledky webovému prohlížeči s vyžádanými informacemi nebo zpracovanými daty.

5 Webový server poskytne klientovi požadovanou informaci a zobrazí ji na obrazovce.

Příklady webových aplikací

Online formuláře, nákupní košíky, textové procesory, tabulky, úprava fotek a videí, převod formátů souborů, skenování souborů, e-mailové programy.

Výhody webových aplikací

• Webové aplikace běží na různých platformách bez ohledu na operační systém nebo zařízení, za předpokladu, že je k dispozici kompatibilní prohlížeč.

• Všichni uživatelé mají přístup ke stejné verzi aplikace, což odbourává problémy s kompatibilitou.

• Nejsou instalovány na pevném disku, tím pádem neubírají místo na disku.

• Snižují nelegální nakládání se softwarem na bázi měsíčních poplatků (SaaS)

• Snižují náklady podniku i konečného uživatele, jelikož je potřeba méně personálu na podporu a údržbu. (Ndegwa, 2016)

2.2.2 Clustering

Velké společnosti jsou často závislé na nepřetržité dostupnosti svých služeb. Vysoká dostupnost jednotlivých služeb pomáhá předcházet situacím s neúspěšnými transakcemi, chybovými hláškami a ztracenými položkami v nákupním košíku. Rozšíření dané aplikace na více serverů zabezpečí redundanci. Pokud jeden server selže, aplikace bude fungovat dál.

Jako příklad lze uvést databázový software, který se nainstaluje na několik serverů a v daném softwaru se nastaví cluster. V případě selhání jednoho serveru cluster automaticky přesměruje uživatele na jiný server se stejnou databází. Pro uživatele je tato změna nepostřehnutelná, avšak zaručuje neustálou dostupnost dané aplikace. (Jelastic, 2018)

Při velké zátěží je vhodné mít více serverů v clusteru. Nejen, že cluster přesměruje uživatele v případě výpadku jednoho serveru na jiný funkční server, ale určí nejvhodnější alternativní server i v závislosti na vytížení ostatních serverů. Toto vyvažování zátěže (anglicky load balancing) zlepšuje přenos zatížení mezi různé počítače, síťové linky, procesory, pevné disky a další zařízení. Důvodem je maximalizace objemu přenesených dat, zlepšení prostupnosti, minimalizování času odezvy a zabránění přetížení jednotlivých komponent.

Používání více komponent s vyvažováním zátěže může zvýšit spolehlivost a dostupnost.

(Iqbal, 1986)

Clustery se dělí na několik typů:

• Výpočetní cluster (anglicky High Performance Computing, zkráceně HPC) označuje propojení několika superpočítačů. Díky tomuto zapojení je možné dosáhnout vyššího výkonu s nižšími náklady, než jaké by zprostředkoval jeden samotný superpočítač. Jednotlivé počítače jsou obvykle propojeny pomocí lokální sítě nebo internetu.

• Úložný cluster (anglicky storage cluster nebo clustered storage) se jeví jako jeden úložný prostor, nicméně na pozadí je tvořen několika propojenými úložnými zařízeními. Toto zapojení umožňuje dosáhnout vyšší rychlosti přenosu dat a vyšší spolehlivosti. Tento typ clusteru se používá zejména na místech, kde je potřeba zamezit výpadkům jednotlivých uzlů a tam, kde jsou vysoké nároky na kapacitu úložiště, rychlost a spolehlivost.

• Cluster s vyvažováním zátěže (anglicky load balancing cluster) umožňuje použitím několika zařízení (nejčastěji webových serverů) rozložit zátěž a zvýšit tak dostupnost jednotlivých služeb. Tento typ clusteru byl detailněji popsán výše.

• Cluster s vysokou dostupností (anglicky high-availability cluster) úzce souvisí s clusterem s vyvažováním zátěže a poskytuje neustálou dostupnost jednotlivých služeb. Aby mohly být služby vždy dostupné, je nutné mít stejné služby nakonfigurované na více serverech a v případě výpadku jednoho serveru je uživatel automaticky přesměrován na jiný fungující server. (Svoboda, 2009)

2.2.3 Vzdálený přístup

Vzdálený přístup (nebo také vzdálená správa) označuje jakoukoliv metodu ovládání počítače ze vzdáleného umístění. Pro vzdálené připojení se na počítač nainstaluje software, pomocí nějž lze k počítači přistupovat. Využívání vzdáleného přístupu je čím dále častější a využívá se zejména v případech, kdy je pro uživatele obtížné nebo nepraktické být u počítače fyzicky přítomen. Pro využití vzdáleného přístupu je potřeba připojení k internetu a povolení k připojení od hostujícího počítače. Po připojení je možné na hostujícím počítači provádět úkony jako je vypínání nebo restartování počítače, využívání síťových zařízení, instalovat software nebo poskytnout vzdálenou pomoc. Některé verze operačního systému Windows mají v sobě již zabudovaný software pro vzdálenou správu, jejíž fungování je popsáno níže.

Terminálové služby

Terminálové služby se používaly hlavně v minulosti a umožňovaly vzdálené připojení několika terminálů k jednomu výkonnému počítači (anglicky mainframe). Uživatel se může připojit k terminálu a následně spouštět aplikace na hostujícím počítači, přistupovat k souborům, databázím a síťovým připojením. Každý terminál je nezávislý a hostující počítač spravuje konflikty mezi požadavky uživatelů na určitou službu.

Služby vzdálené plochy

Služby vzdálené plochy umožňují uživateli vzdáleně ovládat počítač nebo virtuální stroj přes internetové připojení. Uživatel se připojuje přes tenkého klienta na vzdálený počítač vybavený patřičným softwarem. Přes tento software se na klientský počítač přenáší pouze uživatelské prostředí. Všechny vstupy od uživatele jsou přeneseny na vzdálený server a tam dále zpracovány.

Rozdíl mezi Terminálovými službami a Službami vzdálené plochy spočívá v tom, že terminály poskytují pouze vstup a výstup pomocí klávesnice a myši. Služby vzdálené plochy na druhou stranu umožňují uživateli vzdálené připojení k uživatelskému prostředí včetně celého operačního systému.

Terminálový server

Terminálový server je součást Služeb vzdálené plochy a je spouštěn výhradně na serveru hostujícího počítače. Terminálový server slouží k autentizaci klientů a spravuje vzdálený přístup k aplikacím. Dále omezuje uživatele v přístupu k jednotlivým částem systému aplikace. Používá se především ve firmách pro náročnější aplikace. Je to především z důvodu zajištění bezpečnosti dat na serveru a odlehčení softwaru na koncovém zařízení.

Virtualizace

Virtualizace slouží k oddělení operačního systému od hardwaru. V případě, že je potřeba daný operační systém používat z jiného místa, je možné se k němu připojit bez nutnost nové instalace a migrace dat. Hardwarová virtualizace se dělí na software instalovaný klientem a tzv. hypervisory, které umožňují vzdálené připojení.

Klientem instalovaný virtualizační software

Na daný počítač se nejdřív nainstaluje operační systém a poté virtualizační software. Tento virtualizační software slouží k vytvoření instance virtuálního operačního systému nebo serveru. Všechny virtuální operační systémy nebo servery jsou nainstalovány na lokálním počítači. Díky virtualizačnímu softwaru je možné používat například operační systém Ubuntu uvnitř operačního systému Windows.

Hypervisory

Hypervisor je software, který se nainstaluje na počítač, na který je potřeba se vzdáleně připojit. Hypervisor se instaluje na hardware bez nainstalovaného operačního systému.

Na klientský počítač se nainstaluje Management Software, přes který se připojí ke vzdálenému počítači s nainstalovaným Hypervisorem.

Hostované instance

Hostované instance jsou webové služby, které umožňují pronajmutí zabezpečené, škálovatelné výpočetní kapacity v cloudu. Výhodou těchto služeb je, že si uživatel platí jen to, co potřebuje. Může si vybrat operační systém, velikost pevného disku a další. Je také možné do webové služby nahrát vlastní image operačního systému.

2.3 Způsoby platby

Za služby poskytované poskytovatelem cloudových služeb se dá platit mnoha různými způsoby. V závislosti na způsobech této platby se rozlišuje několik kategorií plateb:

• Podle času: cena závisí na tom, jak dlouho je daná služba využívána

• Podle objemu: cena závisí na objemu dané jednotky

• Tarif: fixní tarif na určený čas

• Podle priority: cena závisí na prioritě dané služby

• Podle vzdálenosti: cena závisí na vzdálenosti mezi službou a uživatelem

• Podle vytížení: platí se pouze za překročení limitu

• Podle seance: závislé na využití v dané seanci

• Podle obsahu: závislé na obsahu služby

• Podle umístění: závislé na místě, odkud se uživatel připojuje

• Podle typu služby: závislé na využití služby

• Zdarma: bez placení

2.3.1 Fixní platba

Poskytovatel služby stanoví cenu za využívání prostředků, které ale nemusí být dostatečné a vedou ke snižující se poptávce a snížení příjmů a zisku. Fixní platba zahrnuje mechanismy jako průběžná platba, předplatné a hybridní model.

Průběžná platba (anglicky pay-as-you-go): uživatelé platí pouze za to, co používají.

Zákazník platí za množství času nebo objem, který spotřebuje. Při tomto modelu jsou si uživatelé vědomi cen dané služby a používání prostředků.

Předplatné: uživatelé platí opakovaně, aby mohli přistupovat k online službě. Uživatel si zaplatí přednastavenou kombinaci služeb za danou cenu a delší časový úsek – nejčastěji měsíc nebo rok.

Hybridní model (průběžná platba a předplatné) je kombinací dvou předešlých modelů.

Uživatel si zaplatí daný objem služeb na dané časové období a v případě, že daný objem překročí, je mu účtováno průběžně.

2.3.2 Dynamická platba

Cena je vypočítána na základě platebního mechanismu, kdykoliv je požadavek. V některých případech je cena výpočetních prostředků určena na základě nabídky a poptávky.

V porovnání s fixní platbou, dynamická platba představuje lepší strategii platby a umožňuje lépe odhalit potřeby plátce a tím pádem zaručí vyšší zisky poskytovateli služby.

Platba v závislosti na odvětví

Zákazník platí v závislosti na aktuálním dění na jednotlivých trzích. Rozlišují se následující schémata:

• Smlouvání: Cena je odvozena na základě vyjednávání mezi jednotlivými stranami.

• Správa výnosů: Nejlepší způsob platby pro maximalizaci zisku je vypočítán na základě aktuálního modelu a předpovědi poptávky.

• Aukce: Vyjednávací mechanismus, který umožňuje oběma stranám komunikovat a dohodnout se na dané nabídce. Cena je nastavena a zákazníci přihazují dané částky.

• Dynamický trh: V tomto případě prodejci a kupující určí referenční cenu, ale nejsou schopni tuto cenu ovlivnit jako individuální prodejci. (Artan, 2016)

3 Modely cloud computingu

Modely cloud computingu se dělí na distribuční modely (anglicky service models) a modely nasazení (anglicky deployment models). Zatímco distribuční modely vypovídají o tom, jaké služby tyto modely poskytují, modely nasazení vyjadřují, jakým způsobem jsou služby poskytovány.

3.1 Distribuční modely

NIST rozlišuje tři základní distribuční modely: Infrastruktura jako služba (IaaS), Software jako služba (SaaS) a Platforma jako služba (PaaS). (Mell, 2011) Ačkoliv NIST zmiňuje pouze tyto tři základní modely, existují další a neustále se nové vyvíjí. Po vysvětlení základních modelů budou některé další zmíněny. Pro rozlišení tří základních modelů budou ke každému modelu přiřazovány tyto čtyři základní vrstvy (Blokland, 2013):

• Hardware – fyzické zařízení (servery, síťová zařízení, úložiště).

• Virtualizační prostředí – software, díky němuž je možné vytvořit několik odlišných prostředí v zavilosti na použitém hardwaru.

• Platforma – běhové prostředí, ve kterém je možné daný software spustit (.NET, PHP, Apache…).

• Aplikace – software pro zákazníka.

3.1.1 Infrastruktura jako služba (IaaS)

Infrastruktura (integrace) jako služba (anglicky Infrastructure as a Service, zkráceně IaaS) nebo někdy také Hardware jako služba (anglicky Hardware as a Service, zkráceně HaaS) je jeden ze základních modelů cloud computingu a bývá často označován jako nejméně rozvinutý. Infrastrukturou se u tohoto modelu rozumí hardware, který si zákazník pronajímá.

• Vlastní: aplikace, platforma

• Pronajímané: virtualizace, hardware

IaaS umožňuje zákazníkovi pronajmutí zdrojů, jako jsou například (Velte, 2010):

Všechny tyto zdroje je možné si pronajmout „jako službu“. Pronajmutí jako službu znamená, že poskytovatel těchto zdrojů zodpovídá za veškerou údržbu. Zákazníka nezajímá, co se stane, když selže pevný disk nebo vypadne elektřina. Zákazník obvykle také neví, kde se konkrétní hardware nachází a pouze jej vzdáleně využívá. U tohoto modelu je všechno nastaveno již od poskytovatele. Zákazník si pouze může vybrat, jaký operační systém se na daném serveru nachází a umístění serveru.

Výhodou tohoto modelu je, že zákazník si platí pouze to, co využívá. Pokud zákazník potřebuje více úložného prostoru, jednoduše si zažádá a je mu za poplatek navýšen. Nemůže se tedy stát, že by si zákazník platil víc, než nakolik službu skutečně využívá. Navíc je možné, aby k danému zařízení bylo připojeno více příjemců najednou.

IaaS se skládá z několika součástí (Velte, 2010):

• SLA smlouva – Tato dohoda mezi poskytovatelem služby a klientem garantuje určitou úroveň výkonu systému.

• Počítačový hardware – Komponenty, jejichž zdroje budou využívány a pronajímány. Poskytovatelé mají většinou daný hardware nastavený, aby bylo možné jednoduše upravovat množství poskytovaných služeb.

• Nastavení sítě – Hardware pro nastavení firewallu, routery, vyvažování zátěže atd.

• Internetové připojení – Nezbytná součást, která umožňuje zákazníkovi vzdálené připojení.

• Virtualizační prostředí – Umožňuje klientovi spustit virtuální stroj.

• Vyúčtování podle využití – Nastaveno podle toho, jaké množství služeb zákazník využívá.

3.1.2 Software jako služba (SaaS)

Software jako služba (anglicky Software as a Service, zkráceně SaaS) nebo Aplikace jako služba (anglicky Application as a Service, zkráceně AaaS) je druhý ze tří základních modelů cloud computingu a pravděpodobně nejvíce využívaný. Tento model spočívá v tom, že software je nainstalovaný na vzdáleném serveru a klient se na něj připojuje. K připojení slouží zpravidla webový prohlížeč nebo tenký klient.

• Vlastní: nic

• Pronajímané: aplikace, platforma, virtualizace, hardware

Pro poskytovatele softwaru je tento model výhodný, protože klient si službu pronajímá a platí zpravidla měsíční poplatky. Stejně jako v předchozím případě se zákazník nemusí starat o údržbu a v případě výpadku je na poskytovateli služby, aby funkčnost softwaru opravil.

Nevýhodou tohoto modelu oproti jednorázovému nákupu software je, že služba může z ničeho nic přestat fungovat. Software jednou nainstalovaný na počítač lokálně bude fungovat i v případě, že poskytovatel již nebude software aktualizovat. V případě, že z nějakého důvodu přestane služba poskytovaný poskytovatelem fungovat, hrozí riziko, že klient přijde o všechna svá data a ztratí přistup ke službě za kterou platí pravidelné poplatky.

Důležité tedy je, aby si zákazník vybíral z důvěryhodných poskytovatelů této služby a měl tedy jistotu, že o data, ani o přístup ke službě nepřijde. Pro využití této služby je nezbytné mít kvalitní internetové připojení s nízkou odezvou, jelikož je pravděpodobné, že ke službě se bude připojovat mnoho uživatelů.

Problémy také nastávají v případě, že se zákazník z ničeho nic rozhodne změnit svého poskytovatele SaaS. V případě softwaru nainstalovaném lokálně je zpravidla snadné přejít z jednoho poskytovatele na jiného. Většinou je možné svá data exportovat například do formátu .csv a ta poté importovat do nového softwaru. U SaaS řešení je migrace dat uživatele většinou problematická. Je to z důvodu, že poskytovatelé cloudových služeb nechtějí o zákazníky přijít, a tak neposkytují export dat nebo jej poskytují, ale v netradičních formátu, který není kompatibilní s jiným cloudovým řešením.

Existují mnoho typů softwaru, které mohou být realizovány pomocí SaaS řešení. Typicky se jedná o software, který provádí jednoduché úkony a nepotřebuje komunikovat s ostatními systémy. Jako příklad lze uvést (Velte, 2010):

• Správce souborů jednorázově. Poskytovatel služby je schopen nabídnout levnější, spolehlivější řešení, než jaké mohou nabídnout samotné společnosti. Další výhody jsou (Velte, 2010):

• Znalost přístupu na internet – Většina uživatelů této služby je obeznámena s přístupem na internetu a používání nějaké webové aplikace. Díky tomu je přechod na SaaS jednodušší.

• Menší počet zaměstnanců – Díky SaaS není potřeba platit tolik techniků, podpory, inženýrů. Poskytovatel SaaS je schopen obsloužit více klientů naráz a není potřeba platit náklady na dopravu techniků do firem apod.

• Přizpůsobení – SaaS aplikace jsou zpravidla mnohem lépe přizpůsobitelné než v případě lokálně instalovaných aplikací.

• Bezpečnost – S rozmachem bezpečnostních technologií, jako je SSL je možné bezpečné připojení odkudkoliv a odpadá nutnost používat technologie jako je VPN.

Nevýhody

Jak již bylo zmíněno, většina SaaS aplikací jsou spíše jednodušší řešení, která nepotřebují komunikovat s ostatními systémy. Organizace, které mají specifické požadavky a vyžadují komplexní řešení budou nuceny zůstat u řešení instalovaných lokálně.

3.1.3 Platforma jako služba (PaaS)

Platforma jako služba (Platform as a Service, zkráceně PaaS) je poslední ze základních modelů cloud computingu. Tento model je vhodný především pro vývojáře aplikací nebo webmastery.

• Vlastní: aplikace

• Pronajímané: platforma, virtualizace, hardware

Platformou se v nejjednodušším pojetí rozumí webhosting s nainstalovanými službami jako jsou například MySQL nebo PHP. Není to však jediný příklad a mezi další služby spadající pod PaaS patří (Velte, 2010):

Stejně jako u přechozích modelů je tu riziko, že poskytovatel této služby přestane fungovat a uživatel ztratí veškerá data a přístup ke službě.

Obrázek 3: Srovnání distribučních modelů cloud computingu