Naučíte sa:

  • Prihlásenie a práca s Azure Portálom
  • Práca s Azure CLI
  • Vytvorenie jednoduchej Flask aplikácie
  • Nasadenie Python Flask aplikácie bez kontajnera
  • Konfigurácia, monitorovanie a aktualizácia živej Azure Web App

Získajte prístup k "Azure Dev Tools for Teaching"

Pre vytvorenie účtu použite stránku Azure for Students.

Kliknite na zelené tlačidlo Start free a potom na Sign in.

Po výzve na prihlásenie sa prihláste podobne ako do MAISu. Použite prefix ad.tuke.sk:

ad.tuke.sk\ab123cd
HESLO

Systém od vás môže vyžadovať zadanie telefónneho čísla pre overenie pomocou SMS (MFA).

Po overení otvorte Azure Portal.

Skontrolujte Azure CLI

Spustite terminál WSL2 Ubuntu. Nainštalujte si najnovšiu verziu Azure CLI (vyžaduje Python 3).

Azure CLI by malo byť dostupné vo vašom prostredí:

az --version

Prihlásenie do Azure

Vytvorte spojenie s vaším účtom na Azure cloude. Prihlásenie a autentifikácia prebehne pomocou webového prehliadača:

az login

Ak z nejakého dôvodu grafický webový prehliadač nefunguje, použite

az login --use-device-code

Potom otvorte webový prehliadač a zadajte zobrazený kód zariadenia.

Skontrolujte, ktoré predplatné je aktívne:

az account show

Práca s Azure CLI

Azure CLI dokáže zastúpiť webové rozhranie. Hoci je príkazový riadok na prvý pohľad menej intuitívny, príkazy na nasadenie môžeme uložiť do súborov, archivovať, zdieľať a opakovať.

Za základný príkaz az nasleduje ďalší príkaz, ktorý má vlastné podpríkazy a argumenty.

Napríklad

az resource list

vypíše zoznam aktuálne nasadených zdrojov. Výstup bude vo formáte JSON. Tento formát je ľahko spracovateľný napr. v jazyku Python alebo pomocou nástroja jq.

Pomocou prepínača --help si ku každému príkazu zobrazíte nápovedu.

Oboznámte sa so službou Azure Web App Services

Pred použitím cloudovej služby by ste sa s ňou mali oboznámiť.

Azure Web App Services

Služba Azure Web App Services dokáže zjednodušiť nasadenie kódu do produkčného prostredia Azure a správu či škálovanie aplikácií bez toho, aby ste museli sami zostavovať obraz kontajnera Docker. Podľa zvoleného spôsobu nasadenia App Service aplikáciu zostaví a spustí za vás.

Vytvorenie Flask aplikácie

V tomto kroku vytvoríte lokálny repozitár so všetkými potrebnými súbormi pre lokálny vývoj.

Vytvorte projektový adresár:

mkdir flask-az-cli
cd flask-az-cli

Vytvorte virtuálne prostredie:

python -m venv venv

Aktivujte ho:

source venv/bin/activate

Nainštalujte Flask a Gunicorn:

pip install flask gunicorn

Vytvorte súbor app.py:

from flask import Flask
import os

app = Flask(__name__)

@app.route("/")
def home():
    return "Hello from Azure Web App!"

@app.route("/about")
def about():
    return "This is a Flask app deployed using Azure CLI."

if __name__ == "__main__":
    app.run(host="0.0.0.0")

Vytvorte requirements.txt:

pip freeze > requirements.txt

Poznámka: Adresár venv/ je príkazom az webapp up automaticky vylúčený z nasadenia. Môžete tiež vytvoriť súbor .webappignore so zoznamom ďalších ciest, ktoré chcete vylúčiť.

Overte, že súbor obsahuje aspoň (verzie sa môžu líšiť):

Flask==3.x.x
gunicorn==xx.x.x

Môžete to skontrolovať príkazom:

pip freeze | grep -iE "flask|gunicorn"

Otestujte lokálne:

python app.py

Otvorte http://127.0.0.1:5000 v prehliadači a overte, že aplikácia funguje. Potom server zastavte (CTRL+C) a pokračujte.

Nasadenie pomocou Azure CLI

V jednoduchých scenároch možno celú aplikáciu zverejniť jedným príkazom. V adresári projektu spustite:

az webapp up \
  --name <unikatne-meno-aplikacie> \
  --runtime "PYTHON:3.12" \
  --sku B1 \
  --location westeurope \
  --resource-group <skupina-zdrojov>

Nahraďte <unikatne-meno-aplikacie> globálne unikátnym menom (napr. flaskstudent12345) a <skupina-zdrojov> ľubovoľným názvom (napr. flask-rg).

Tento príkaz automaticky vykoná niekoľko krokov:

  • Vytvorí skupinu zdrojov (ak ešte neexistuje)
  • Vytvorí plán App Service
  • Vytvorí Web App
  • Nasadí váš kód ako ZIP balíček

Poznámka: Názov automaticky vytvorenej skupiny zdrojov bude zobrazený vo výstupe príkazu. Poznačte si ho — budete ho potrebovať v ďalších krokoch. Môžete ho tiež získať príkazom:

az webapp show --name <unikatne-meno-aplikacie> --query resourceGroup --output tsv

Nasadenie bude chvíľu trvať. Ak všetko prebehlo v poriadku, vaša aplikácia sa objaví na URL, ktoré jej pridelí Azure.

Otestujte aplikáciu

Otvorte v prehliadači:

https://<unikatne-meno-aplikacie>.azurewebsites.net

Mali by ste vidieť:

Hello from Azure Web App!

Vylepšite aplikáciu

Konfigurácia Gunicornu

Azure môže v produkcii používať WSGI server Gunicorn. Nastavte spúšťací príkaz:

az webapp config set \
  --name <unikatne-meno-aplikacie> \
  --resource-group <skupina-zdrojov> \
  --startup-file "gunicorn --bind=0.0.0.0 --timeout 600 app:app"

Názov skupiny zdrojov zistíte príkazom:

az webapp list --output table

Aktualizácia a opätovné nasadenie

Pri aktualizácii upravte app.py, napríklad:

@app.route("/")
def home():
    return "Updated version deployed without Git!"

Znovu nasaďte:

az webapp up

Poznámka: Pri opakovanom spustení az webapp up použije nastavenia uložené v .azure/config — nie sú potrebné žiadne ďalšie prepínače.

Nastavenie premenných prostredia

Pomocou Azure CLI nastavte premennú prostredia:

az webapp config appsettings set \
  --name <unikatne-meno-aplikacie> \
  --resource-group <skupina-zdrojov> \
  --settings GREETING="Hello from Azure Environment!"

Upravte funkciu home() v app.py:

return os.environ.get("GREETING", "Default message")

Znovu nasaďte a otestujte.

Povolenie logovania

az webapp log config \
  --name <unikatne-meno-aplikacie> \
  --resource-group <skupina-zdrojov> \
  --application-logging filesystem

Obnovte prehliadač a potom streamujte logy:

az webapp log tail \
  --name <unikatne-meno-aplikacie> \
  --resource-group <skupina-zdrojov>

Vyčistenie zdrojov

Na záver nezabudnite vyčistiť zdroje, aby ste nespotrebúvali kredity:

az group delete --name <skupina-zdrojov> --yes --no-wait

Materiály

Previous Post Next Post

Nasadenie Flask aplikácie do Azure Web App