Cloud computing - Microsoft Azure
Created by Bc. Lukáš Vokurka, DiS
Cloud computing
Cloud computing je doručování výpočetních služeb přes internet. Výpočetní služby zahrnují běžnou infrastrukturu IT, jako jsou virtuální počítače, úložiště, databáze, sítě, IoT a umělou inteligenci (AI). Vzhledem k tomu, že cloud computing používá k poskytování těchto služeb internet, nemusí být omezen fyzickou infrastrukturou stejným způsobem, jako tradiční datové centrum. To znamená, že pokud potřebujeme rychle zvýšit infrastrukturu IT, nemusíme čekat na vytvoření nového datacentra - cloud můžeme použít k rychlému rozšíření svých IT nároků. [1]
Definice cloudových modelů
Cloudové modely definují typ nasazení cloudových prostředků, kdy rozeznáváme tři cloudové modely: [1]
Privátní cloud
Privátní cloud je v některých ohledech přirozeným vývojem z podnikového datacentra. Jedná se o cloud, který používá jedna entita. Privátní cloud poskytuje mnohem větší kontrolu nad společností a jejím IT oddělením. Přináší ale také vyšší náklady a méně výhod nasazení veřejného cloudu. Nakonec může být privátní cloud hostovaný z datacentra webu organizace. Může se také hostovat ve vyhrazeném datacentru mimo pracoviště, případně i třetí stranou, která má vyhrazené datové centrum dané organizace. [1]
Veřejný cloud
Veřejným cloud je vytvořený, řízený a spravovaný externím poskytovatelem cloudu. S veřejným cloudem má každý, kdo chce koupit cloudové služby, přístup k jeho prostředkům a jejich používání. Obecná veřejná dostupnost je klíčovým rozdílem mezi privátními a veřejnými cloudy. [1]
Hybridní cloud
Hybridní cloud je výpočetní prostředí, které používá veřejné i privátní cloudy ve vzájemně propojeném prostředí. Hybridní cloudové prostředí se dá použít k tomu, aby se privátní cloud zvýšil kvůli dočasné poptávce nasazením prostředků veřejného cloudu. Hybridní cloud je možné použít k zajištění další vrstvy zabezpečení. Uživatelé si mohou například flexibilně zvolit, které služby se mají uchovávat ve veřejném cloudu a které se mají nasadit do infrastruktury privátního cloudu. [1]
Definice služeb cloud computingu
Typy cloud computingu jsou modely nasazení služeb, pomocí kterých si můžete zvolit úroveň kontroly nad informacemi a typy služeb, které potřebujeme poskytovat. Existují tři hlavní typy služeb cloud computingu, kterým se někdy říká „stack“ cloud computingu, protože jsou postaveny jedna na druhé. [2]
IaaS (Infrastructure as a Service)
Infrastruktura jako služba, která se používá pro internetový přístup k úložištím a výpočetnímu výkonu. IaaS je nejzákladnější kategorií typů cloud computingu, pomocí které si můžete pronajímat IT infrastrukturu, jako jsou servery a virtuální počítače, úložiště, sítě a operační systémy, od poskytovatele cloudu na bázi průběžných plateb. [2]
PaaS (Platform as a Service)
Platforma jako služba, která poskytuje vývojářům nástroje k sestavování a hostování webových aplikací. PaaS je navržena tak, aby uživatelům umožňovala přes internet přístup ke komponentám, které potřebují k rychlému vývoji a správě webových nebo mobilních aplikací, aniž by se museli starat o nastavení nebo správu základní infrastruktury serverů, úložišť, sítí a databází. [2]
SaaS (Software as a Service)
Software jako služba, která se používá pro webové aplikace. SaaS je metoda doručování softwarových aplikací přes internet, kde poskytovatelé cloudu hostují a spravují softwarové aplikace. Díky přistupování k aplikacím v cloudu snadno můžete mít stejné aplikace na všech svých zařízeních. [2]
Bezserverová architektura
Bezserverová architektura, která se překrývá s PaaS, se soustředí na vytváření aplikačních funkcí, aniž by bylo potřeba trávit čas nezbytnou průběžnou správou serverů a infrastruktury. Nastavení, plánování kapacity a správu serverů za vás zajišťuje poskytovatel cloudu. Bezserverové architektury jsou vysoce škálovatelné a řízené událostmi a využívají prostředky jenom tehdy, když dojde k použití konkrétní funkce nebo triggeru. [2]
Úvod k Microsoft Azure
Microsoft Azure je cloudová platforma společnosti Microsoft. Využívá se k vytváření, hostování a škálování webových aplikací prostřednictvím datových center Microsoftu. Windows Azure tak nabízí tzv. Microsoft Online Services - balík online aplikací fungujících jako služby bez instalace, které umožňují výměnu dat, sdílení, online komunikaci, atd., to vše založené na bázi cloudu. Všechny tyto nabízené aplikace a služby se rozdělují do tří obchodních značek: [3]
-
Windows Azure
-
SQL Azure
-
AppFabric
Microsoft Azure implementuje cloudové modely Platformy jako služba (PaaS) a Infrastruktury jako služba (IaaS). Lze využívat jak služby třetích stran, tak Microsoft služby jako model Software jako služba (SaaS). Funkčnost platformy Azure zajišťuje globální síť distribuovaných datových center Microsoft. Model poskytování infrastruktury IaaS umožňuje pronajímat zdroje, jako servery, datová úložiště a síťové zařízení. Správu celé infrastruktury provádí poskytovatel, spotřebitel spravuje pouze operační systém a nainstalované aplikace. Seznam služeb Azure má stovky položek a je průběžně rozšiřován. [3]
Pro VMs (virtual machines) jsou k dispozici obrazy následujících operačních systémů: Windows Server, CoreOS, Ubuntu Server, Red Hat, Clear Linux OS, Debian, SUSE Linux Enterprise Server, Oracle Linux. [3]
Téměř všechny služby Microsoft Azure mají rozhraní pro komunikaci API postavené na omezeních pro distribuované systémy REST, což umožňuje vývojářům používat cloudové služby z jakéhokoli operačního systému, zařízení a platformy. [3]
Kromě toho mohou uživatelé vytvářet a spravovat vlastní služby pomocí vizuálního webového rozhraní portálu Azure. Portál umožňuje konfigurovat služby, upravovat oprávnění, sledovat stav zdrojů a spravovat fakturaci. [3]
Podporované jazyky a vývojové platformy
Pro podporované programovací jazyky a vývojové platformy Microsoft poskytuje sady knihoven. V současné době jsou podporovány následující programovací jazyky a vývojové platformy: [3] [4]
-
.NET
-
JavaScript
-
Python
-
Go
-
Azure PowerShell
-
Azure CLI
Praktické ukázky
Přihlášení do Azure na webovém rozhraní
V rámci vypracování tohoto projektu jsem pro přihlášení do Microsoft Azure využil Azure for Students svůj školní účet na odkazu https://azure.microsoft.com/cs-cz/free/students/. Výhodou toho bylo, že při registraci jsem nemusel zadávat svoji kreditní kartu, ze které by se případně strhávaly poplatky za překročení využívání služeb Azure nebo při rozhodnutí, že si službu předplatím i do budoucna. A další výhodou bylo, že jsem dostal 100 USD na 12 měsíců, jako kredit, který můžu postupně utrácet za služby, které Azure nabízí.

Obrázek 1: Odkaz pro přihlášení do Azure for Students
Následně se bylo tedy nutné přihlásit na školní Microsoft účet. Po přihlášení jsem na školní e-mail obdržel potvrzení s odkazem do mého účtu Azure, přes který se můžu přihlásit.

Obrázek 2: Verifikace na školním e-mailu
Pokud toto proběhne správně, je Azure připraveno k používání. Samozřejmě tím, že tato verze je určená pro studenty, tak účet je limitován. Po úspěšné registraci a přihlášení jsem získal přístup ke službám Azure s limity určenými pro studenty, jako například vytváření virtuálních počítačů (Windows nebo Linux), spravovat SQL databáze a další služby.

Obrázek 3: Úvodní strana v Azure
Vytvoření VM (Virtual Machine)
Nyní jsem vytvořil prostřednictvím Azure virtuální stroj (VM). Velkou výhodou je rychlost vytvoření i samotného nasazení virtuálu v porovnání s ostatními metodami (Virtualbox).
Na domovské stránce jsem zvolil Virtuální počítače -> Vytvořit -> Virtuální počítač Azure. Nyní je nutno provést základní konfiguraci virtuálního počítače. Předplatné je pro mě Azure for Students, vytvořil jsem novou skupinu prostředků, kterou jsem pojmenoval “TestRG”. Dále název virtuálního počítače “TestLinux”, nyní bylo nutné se rozhodnou, ve kterém regionu vituální počítač poběží, kde je umístěné datacentrum. Vybral jsem “West Europe”, která nám je z nabízených možností nejblíže. Dále jsem musel změnit zónu dostupnosti na “Zónu 2” a operační systém na virtuálu jsem vybral “Ubuntu 22.04”. Velikost disku jsem zvolil “Standard_D2s_v3 - 2 vcpu, 8 GiB paměti” hlavně z důvodu nízké ceny a pro testovací účely tato volba dostačuje. Jako ověření pro přístup do virtuálu jsem zvolil jméno a heslo. Nakonec jsme nastavil protokol a port, přes který se do virtuálu připojím, zvolil jsem protkol SSH port 22. Po této konfiguraci jsem nechal virtuál vytvořit.

Obrázek 4: Vytvoření virtuální stroje

Obrázek 5: Nasazení virtuální stroje

Obrázek 6: Konfigurace virtuální stroje
Z obrázku 6 je pro mě nejdůležitější veřejná IP adresa, která mi byla přidělena 4.180.0.243. Pro připojení do vytvořeného virtuálního počítače jsem využil Putty a přes protokol SSH port 22 jsem se na virtuál připojil.

Obrázek 7: Připojení přes Putty do VM
Poté se přihlásím přes jméno a heslo, které jsem nastavil pro autentizaci.

Obrázek 8: OS Linux 22.04 CLI
K vytvořenému virtuálu lze potom přistupovat z domovské stránky Azure.

Obrázek 9: Domovská strana s vytvořeným VM
Web hosting
Nyní vytvořím webový server Nginx pomocí Microsoft Azure. Bylo nutné opět vytvořit VM, na kterém daný server poběží, takže postup byl téměř totožný, jako v kapitole pro vytvoření VM. S tím rozdílem, že jsem skupinu prostředků pojmenoval, jako “web-hosting1” a název PC, jako “web-server1” a příchozí porty jsem povolil všechny v nabídce SSH port 22, HTTP port 80, HTTPS port 443.
Po prvotní konfiguraci jsem tento VM vytvořil a spustil.

Obrázek 10: Nasazení virtuálního stroje (serveru)
V dalším kroku bylo nutné se do tohoto vytvořeného VM připojit přes Putty (SSH port 22). Na přidělenou veřejnou IP adresu 13.95.209.3. Následně se přihlásit přes nastavené jméno a heslo.
Po přihlášení jsem zadal tuto sekvenci příkazů pro update, upgrade a instalaci Nginx serveru.
sudo apt update
sudo apt upgrade
sudo apt install nginx -y
Případně pro kontrolu správnosti instalace Nginx a zobrazení verze.
nginx -v

Obrázek 11: Nginx verze
Po této instalaci je Nginx nainstalovaný a lze k němu přistoupit na webovém rozhraní po zadání veřejné IP adresy serveru.

Obrázek 12: Nginx na webovém rozhraní první server
V dalším kroku jsem chtěl otestovat ping mezi 2 virtuálními servery. Vytvořil jsem tedy další virtuální server Nginx stejným způsobem, jako “webserver1” a pojmenoval ho, jako “webserver2”. Po nasazení jsem dostal veřejnou IP adresu 40.68.127.184 a v Putty jsem zadal stejnou sekvenci příkazů pro instalaci Nginx.

Obrázek 13: Nginx na webovém rozhraní druhý server
Pokud mám oba servery vytvořené a spuštěné, ping stále nebude fungovat. Je to z toho důvodu, že se musím přidat pravidlo pro ICMP v rámci NSG (Network Security Group) na oba vytvořené servery.

Obrázek 14: Vytvoření ICMP pravidla na webserver1

Obrázek 15: Vytvoření ICMP pravidla na webserver2
Nasledně lze otestovat ping mezi oběma servery a ping je funkční.

Obrázek 16: Ping mezi servery
Záloha dat
Užitečným nástrojem je v Azure “Recovery Services Vault”, který slouží, jako bezpečné úložiště pro zálohování a obnovení dat.
Nejprve si vytvořím VM, na kterém chci data zálohovat. Případně vyberu existující VM. Tento postrup je popsán v předchozích kapitolách.
Po nasazení VM musím tomuto VM povolit zálohování a vytvořit pro něj trezor pro zálohování dat.

Obrázek 17: Záloha dat
Ve vytvořeném zálohovacím trezoru můžu poté sledovat prováděné akce, které jsou v záložce “Zálohovací úlohy”

Obrázek 18: Zálohovací úlohy
Reference
-
Co je cloud computing? Online. Microsoft. 2024. Dostupné z: https://azure.microsoft.com/cs-cz/resources/cloud-computing-dictionary/what-is-cloud-computing. [cit. 2024-10-16].
-
Jaké jsou různé typy služeb cloud computingu? Online. Microsoft. 2024. Dostupné z: https://azure.microsoft.com/cs-cz/resources/cloud-computing-dictionary/types-of-cloud-computing. [cit. 2024-10-16].
-
Microsoft Azure. Online. In: Wikipedia: the free encyclopedia. San Francisco (CA): Wikimedia Foundation, 2024. Dostupné z: https://cs.wikipedia.org/wiki/Microsoft_Azure. [cit. 2024-10-16].
-
Dokumentace pro vývojáře Azure. Online. Microsoft. 2024. Dostupné z: https://learn.microsoft.com/cs-cz/azure/developer/. [cit. 2024-10-16].