Tavoitteena on luoda kukkadatalle tunnistusta tekevä nettisivu Azuren pilvipalveluun.
Arkkitehtuurikuva Azuren (kuvasta poiketen uudelleen koulutus käynnistyy kun kuvia on yli 5 kappaletta jonossa):
Azure CLI ja terraform tarvitaan!
az login #kirjautuminen azureen terminaalissa
az account show #tilin tiedot
docker-compose.yml Luo kontit:
- azurite (emuloi Azure Blob Storagea ja Azure Queue Storagea paikallisessa ympäristössä.)
- populate (lisää mallin ja data Blob Storageen)
- front (streamlit käyttöliittymä localhost:8000)
- back (ennustusta tekevä backend, fastapi dokumentaatio localhost:8888/docs)
- modeller (uudelleenkouluttaa mallin kun kuvia on tarpeeksi jonossa)
docker compose up -d
docker ps
docker compose logs -f
Käyttöliittymä löytyy osoitteesta localhost:8000
Valmistelut
Tarvitset tässäseuraavat asiat:
- Git asennettuna
- Visual Studio Code asennettuna
- Terraform asennettuna
- Azure CLI asennettuna
- Azure-tili ja Azure-tilauksen luotuna
- HashiCorp Terraform -lisäosa Visual Studio Codeen
Asenna paketit (terraform ja azure cli) käyttäen paketinhallintaa.
Paketinhallintaan on useita vaihtoehtoja:
Linuxilla kullakin distribuutiolla on oma paketinhallintansa ja lisäksi löytyy distribuutiovapaita kuten Snap.
Käytä esim. Scoopia, joka on Windowsille tarkoitettu paketinhallinta.
Asenna Scoop Powershell-komennoilla, jotka löytyvät sivustolta scoop.sh:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-ExpressionVoit sulkea PowerShellin ja siirtyä sinulle tutumpaan shelliin kuten Git Bash, mikäli haluat.
Asenna Terraform Scoopilla:
scoop install terraformAsenna Azure CLI Scoopilla:
scoop install azure-cliNavigoi selaimella osoitteeseen https://portal.azure.com ja kirjaudu Azureen.
Kirjaudu Azureen komennolla:
az loginTästä aukeaa selainikkuna, jossa kirjaudut Azureen. Kirjaudu sisään ja palaa takaisin shelliin.
Voit tarkistaa kirjautumisen komennolla:
az account show- Container Registryn pystytys:
cd infta/tf/container_registry
terraform init
terraform apply
tf/container_registry
- luo Azure recource groupin ja azure container registryn
- rg-emma-olearn-acr
- Imaget konttirekisteriin:
cd scripts/
./01_acr_login.sh # kirjaudu konttirekisteriin
./02_build_n_release.sh flowerui 1.0 #vie image ja versio
./02_build_n_release.sh flowerpredict 1.0
./02_build_n_release.sh modeller 1.0
- Palveluiden pystytys Azureen
cd infra/tf/services
terraform init
terraform apply
cd infra/tf/services/main.tf
- luo azure recourge group (resurssiryhmä)
- rg-emma-olearn
- luo storage account (Azure Storage tili)
- saemmaolearn
- luo storage container (Säiliö tiedostojen tallennusta varten)
- st-emma-olearn
- luo storage queue (Viestijono)
- sq-emma-olearn
- luo storage containeriin blobit tallennettavia tiedostoja varten (data ja mallit) (tallentaa tiedot säiliöön)
- st-emma-olearn -> "kansiot" models ja datasets
- luo azure container group (konttiryhmä,
docker pullkomennot otettu konttirekisterin imageista)- ci-emma-olearn
Azure Blob Storage on Microsoft Azure -pilvipalvelun tarjoama skaalautuva, kustannustehokas ja turvallinen palvelu, joka on suunniteltu erityisesti suurten tietomäärien tallentamiseen ja hallintaan. "Blob" on lyhenne sanoista Binary Large Object, ja se viittaa suuriin tiedostoihin tai binääritietoihin, kuten asiakirjoihin, kuviin, videoihin tai varmuuskopioihin.

