Microsoft on julkaissut uuden, parannetun mallin Azure Functions -sovellusten ajamiseen Azure Container Apps -ympäristössä.
Uusi Functions V2 -malli perustuu moderniin Microsoft.App Resource Provideriin (RP) ja korvaa aiemman V1-mallin (Microsoft.Web RP).
Tämä muutos yksinkertaistaa hallintaa, lisää ominaisuuksia ja mahdollistaa täysin natiivin Container Apps -kokemuksen Functions-sovelluksille.
⚙️ Mitä Azure Functions Container Apps -mallit ovat
Azure Functions on palvelumalli, jossa kehittäjä voi ajaa serverittömiä funktioita skaalautuvassa ympäristössä ilman infrastruktuurin hallintaa.
Azure Container Apps puolestaan tarjoaa konttipohjaisen, skaalautuvan ja joustavan ajoympäristön.
Näiden yhdistelmä – Functions on Container Apps – tuo yhteen serverittömän kehitysmallin ja konttien hallinnan joustavuuden.
Microsoft tukee tällä hetkellä kahta lähestymistapaa:
Malli | Resource Provider | Tila | Suositus |
---|---|---|---|
Functions V1 | Microsoft.Web RP (perinteinen malli) | Legacy | Ei suositeltu |
Functions V2 | Microsoft.App RP (uusi malli) | Aktiivinen | Suositeltu |
🧱 V1-mallin rajoitukset
Vanha Functions V1 -malli käyttää ns. välillistä proxy-resurssia (Function App + Container App). Tämä tekee hallinnasta monimutkaista ja rajoittaa toiminnallisuuksia.
Keskeiset rajoitteet:
🔧 Rajoitettu diagnostiikka ja virheenkorjaus
- Ei suoraa pääsyä konttiin
- Ei reaaliaikaista lokien seurantaa
- Konsolin ja Live Log -toiminnot rajoitettu
- Diagnostiikka vain Log Analyticsin ja Application Insightsin kautta
🖥️ Rajoitettu portaalikokemus
- Ei tukea moniversioinnille (multi-revision)
- Ei Easy Auth -tukea
- Ei terveysprobeja tai mukautettuja domaineja
🔄 Dapr-yhteensopivuusongelmat
- Ongelmat .NET Isolated Functions -projekteissa riippuvuuksien hallinnan vuoksi
- Rakennusprosessien yhteensopivuushaasteita
Näiden rajoitusten vuoksi Microsoft suosittelee siirtymistä V2-malliin mahdollisimman pian.
🚀 Functions V2 – uusi ja suositeltu malli
Uusi Functions V2 perustuu Microsoft.App RP -malliin ja ottaa käyttöön Azure Container Appsin natiivin toimintaympäristön ilman välillistä Function App -proxyä.
Tämä tarkoittaa:
- Yksinkertaisempi resurssihallinta (vain yksi resurssi)
- Parempi skaalautuvuus ja valvonta
- Kaikki Container Apps -ominaisuudet käytettävissä suoraan
🔹 Keskeiset V2-ominaisuudet
Ominaisuus | Kuvaus |
---|---|
Multi-revision & Traffic Split | Mahdollisuus hallita useita versioita ja jakaa liikennettä niiden välillä |
Easy Auth | Sisäänrakennettu todennus ja valtuutus |
Private Endpoints | Turvallinen pääsy vain valtuutetusta verkosta |
Health Probes | Terveystarkistukset automaattiseen skaalaamiseen |
Metrics & Alerts | Laajennettu valvonta ja hälytykset |
Custom Domains & SSL | Mukautetut domainit ja hallitut varmenteet |
Scale Settings | Polling- ja Cooldown-intervallit |
Secrets & Sidecar Containers | Suora tuki Container Appsin salaisuuksille ja rinnakkaiskonteille |
CI/CD Integration | Azure Pipelines ja GitHub Actions -tuki |
Yhteenveto:
V2 tarjoaa täyden Container Apps -kokemuksen — ilman V1:n rajoituksia.
⚠️ Legacy-skenaario: suora konttikuvan käyttöönotto ilman FunctionApp-tyyppiä
Joissain organisaatioissa Function-kuvia on otettu käyttöön “tavallisina Container Appeina” ilman --kind=functionapp
-asetusta.
Vaikka tämä mahdollistaa natiivien Container Apps -ominaisuuksien käytön, se ei ole tuettu malli.
Rajoitukset:
- Ei automaattista skaalautumista
- Ei pääsyä uusiin V2-toimintoihin (kuten Function Keys tai Invocation Count)
- Ei virallista tukea
Suositus: siirry Functions V2 -malliin mahdollisimman pian.
🧭 Siirtymäohje: Functions V1 → V2
1. Valmistelu
- Varmista, että nykyinen sovelluksesi on V1 (Microsoft.Web RP)
- Tunnista käytetty konttikuva
- Tallenna ympäristömuuttujat, salaisuudet ja verkkoasetukset
- Tarkista Container App -ympäristön quota (CPU, RAM, instanssit)
2. Luo uusi V2-sovellus
- Luo uusi Container App käyttäen asetusta
--kind=functionapp
- Voit käyttää samaa konttikuvaa – ei vaadi koodimuutoksia
- Lisää aiemmat asetukset ja salaisuudet uuteen sovellukseen
3. Testaus
- Vahvista, että kaikki triggerit (HTTP, Event Hub, Service Bus jne.) toimivat oikein
- Testaa tietokanta- ja tallennusyhteydet
4. DNS ja domainit
- Huomioi, että V2-sovelluksella on eri oletus-URL
- Päivitä mahdolliset mukautetut domainit ja SSL-varmenteet
5. Käyttöönotto (Cutover)
- Ohjaa tuotantoliikenne uuteen sovellukseen
- Seuraa suorituskykyä ja virhelokeja
- Tiedota sidosryhmiä muutoksesta
6. Siivous
- Poista vanha V1-sovellus käytöstä
- Päivitä dokumentaatio ja DevOps-putket
✅ Yhteenveto
Azure Functions V2 on Azure Container Apps edustaa modernia ja täysiveristä mallia serverittömien sovellusten ajamiseen konttiympäristössä.
Se tarjoaa:
- yksinkertaisemman hallinnan,
- paremmat CI/CD- ja valvontatyökalut,
- ja täyden tuen Azure Container Appsin ominaisuuksille.
👉 Jos käytät vielä Functions V1 -mallia, nyt on oikea aika suunnitella siirtymä.
Microsoftin tavoitteena on siirtää kaikki Functions Container Apps -käyttöönotot V2-malliin vuoden 2026 aikana.