Úvod do Azure Cloud

Klaudové služby

Prenájom softvérových a hardvérových prostriedkov.

Celkové náklady na vlastnenie infraštruktúry

  • hardware: cena servra a serverovne
  • personálne náklady: plat administrátora a developera
  • pohyblivé náklady: náklady na energie, náklady na údržbu

Nie je potrebný software

  • inštalácia a konfigurácia je oveľa jednoduchšia.
  • zálohy a redundancia sú automatické.
  • skrátenie času na uvedenie na trh.
  • "prenájom" know-how - hotových služieb, nižšie personálne výdavky
  • vyššia bezpečnosť

Nie sú potrebné servre

  • optimalizácia fixných nákladov.
  • flexibilita - rýchly štart služby
  • nie je potrebná údržba

Nevýhody klaudových služieb

  • komplikované sledovanie a optimalizácia poplatkov.
  • prepojenie s existujúcou infraštruktúrou.
  • "uzavretie" na konkrétne služby konkrétneho poskytovateľa.
  • Strata časti kontroly nad dátami.
  • potreba zaškoleného personálu.
  • komplikované prispôsobneie na špecifické požiadavky.

Čo je lepšie?

  • Verejný klaud: Vaša "zátaž" beží spoločne s inými v cudzom datacentre.
  • Privátny klaud: Vaše aplikácie bežia osamotené vo vlastnom alebo prenajatom datacentre.
  • Hybridný klaud: Vaša infraštruktúra je manažovaná rovnako ako verejný klaud pomocou nástrojov od poskytovateľa klaudových služieb.

Rozdelenie klaudových služieb

Anything As a Service, Pay as You Go

  • Infraštruktúra - IASS
  • Platforma - PASS
  • Aplikácie - SASS

https://docs.microsoft.com/en-us/learn/azure-fundamentals/intro-to-azure-fundamentals/media/iaas-paas-saas-expanded.png

IASS - Infrastructure as a service

Virtualizácia hardvérovej a sieťovej infraštruktúry

  • Prenájom virtuálnych servrov a sietí
  • prenájom diskov a blokových zariadení
  • load balancer

PAAS - Platform as a service

Prenájom služieb "klaudového" operačného systému:

  • Docker, Docker Compose
  • Kubernetes
  • Heroku

SAAS - Software as a service

Hotové aplikácie alebo komponenty:

  • container registry
  • databáza
  • systémy strojového učenia
  • strojový preklad, vyhľadávací stroj

Serverless

V "serverless" službách nemusíme riešiť prideľovanie konkrétnych zdrojov (diskov alebo výpočtových uzlov).

With serverless applications, the cloud service provider automatically provisions, scales, and manages the infrastructure required to run the code. Serverless architectures are highly scalable and event-driven. They use resources only when a specific function or trigger occurs.

Poskytovatelia klaudových služieb

Trhový podiel

  • Azure 21%
  • Google 8%
  • Amazon 32%

Menší hráči 39%:

  • Heroku
  • IBM Cloud
  • Alibaba Cloud
  • DigitalOcean

Čo je to Azure Cloud?

  • Prepojené verejné služby dátových centier Microsoftu.
  • Ovládanie pomocu webového rozhrania alebo príkazového riadku.
  • Možnosť pristupovať pomocou študentského účtu.

Najdôležitejšie služby

Storage (Úložisko)

File (súborový systém), Disk (blokové zariadenie), Blob (Objekt)

Špeciálne úložiská: DataLake (analytická databáza), Archive (archivácia), HPC Cache (vyrovnávacia pamäť)

Virtual Machines

Virtuálny stroj

  • Linux (CentOS, RHEL, Suse, Debian, Ubuntu)
  • Windows (Server)
  • Vlastný obraz

Web Apps

  • Web aplikácia bez kontajnera
    • Java, Node.js, PHP, Python, .NET, Ruby
  • Web aplikácia s kontajnerom
    • ľubovoľné závislosti
  • Napojenie na storage (adresár /home alebo iný)
  • Automatické zostavenie a nasadenie (CI/CD continous integration and deploymnet), Prepojenie s GitHub

Database

SQL

  • SQL Server
  • Azure SQL
  • Postgres, Mysql-MariaDB

NoSQL

  • CosmosDB (MongoBD, Cassandra compatible)
  • Redis, Cassandra,

LoadBalancer

  • Zverejnenie služby
  • Zabezpečenie vysokej dostupnosti
  • HTTPS termination

ACR Container Registry

Register obrazov kontajnera

Pre použitie v App Services a AKS

AKS Kubernetes Service

Kubernetes klaster

  • Vytvorenie klastra na požiadanie
  • Automatické škálovanie
  • CI/CD
  • Využitie na strojové učenie
  • Podpora hybridných klaudov - manažment viacerých klastrov z jedného miesta.

Prenájom Azure služby

Account : prihlásenie a identita

Subscription : predplatné, účtovná jednotka

Organizácia a konfigurácia služieb

ResourceGroup : skupina zdrojov v rámci predplatného

Resource : konkrétny zdroj za ktorý platíme

resourceManagerTemplate : súbor ktorý definuje použitie jedného alebo viacerých zdrojov.

SKU: Kvalita služby

Vieme si vybrať akú "kvalitnú" službu potrebujeme:

  • Basic alebo Premium
  • rýchlosť, redundancia, zálohovanie, stabilita, latencia

SKU

: Stock Keeping Unit

Výber lokácie

Je rozdiel kde fyzicky beží služba:

  • latencia
  • jurisdikcia

Region : kde sa nachádza datacentrum

Datacenter : konkrétne datacentrum

Manažment klaudových služieb

Azure portal : Webové rozhranie pre manažment klaudových služieb

Azure Command Line : az riadkové rozhranie pre manažment klaudových služieb. Umožnuje vytváranie skriptov.

Manažment klaudových služieb

+--------------+ +---------------+
| Provider API |-| Cloud Service |
+--------------+ +---------------+
            |
        App protocol
            |
 +----------------------+
 | web or cmd client    |
 +----------------------+

Docker Volume Plugin/ Storage Driver

  • Poskytovatelia klaudových služieb používajú vlastné pluginy.
  • Súbory môžu byť uložené kdekoľvek inde.
  • Dáta sa v klaudových systémoch nachádzajú na inom mieste ako aplikácia a konfigurácia.
  • Uložisko vieme pripojiť ako blokové zariadenie, sieťový súborový systém alebo použiť osobitnú aplikáciu.
  • V Dockeri musíme namapovať zväzok alebo nakonfigurovať aplikáciu na prístup k dataáze alebo úložisku.
  • V Dockeri Súbory je potrebné manažovať osobitne.

Docker v klaude

  • Na virtuálnom stroji viete ľahko nainštalovať Docker a nasadiť viacero kontajnerov.
  • Azure App Service.
  • Amazon EC2 Container Service.
  • Google Cloud Run.

Ak chcem nasadiť Wordpress webovú stránku do produkcie, potrebujem:

  • Mysql alebo Postgresql databázu.
  • Apache Web server s mod_php a ďalšie potrebné PHP knižnice, napr. GD.
  • Adresár, kde dám PHP súbory.
  • Adresár, kde sa budú ukladať obrázky a súbory od používateľov.
  • HTTPS Certifikát, napr. Let's Encrypt.
  • Doménové meno.
  • Skript pre zálohovanie a obnovu certifikátu.

Software/Platform as a Service

Väčšinou sa finančne oplatí hotový WordPress hosting (Software as a Service). Niekedy ale SaS služba nie je dostupná.

Niekedy potrebujem:

  • Vlastné zdrojové kódy.
  • Vlastný kontajner so špecifickou verziou.
  • Splniť veľké bezpečnostné nároky.
  • Veľké škálovanie.

Compose and Docker @ Cloud

Ale inak sa na viackontajnerové aplikácie používa Kubernetes

Compose @ Cloud

Docker Context - nastavenie s ktorým vzdialeným Docker strojom komunikujeme

  • Potrebujeme verejne prístupný register obrazov
  • Zmeníme Docker context
  • Môžeme vykonávať docker príkazy bežným spôsobom a vykonajú sa na prenajatej infraštruktúre.

Existujú lepšie nástroje ako Compose....

Bibliografia

Reload?