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ť.
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íkazomaz webapp upautomaticky vylúčený z nasadenia. Môžete tiež vytvoriť súbor.webappignoreso 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 uppouž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