Villámgyors konténerek Azure Container Instance-al
- Erőforrás típus: PaaS
- Felhő szolgáltató: Microsoft Azure
- Angol név: Azure Container Instance
- Magyar név: Azure Container Instance
- Rövidített név (ha van ilyen): ACI
Itt a blogon sok konténer megoldásról és Docker megoldásról olvashattál már. Ez nem véletlen, hiszen ez a technológia rengeteg lehetőséget rejt, amelyek mind személyes, mind üzleti oldalon. A mikroszolgáltatásokat talán nem kell bemutatni, amely szintén a mai modern informatika egyik alap pillére. Gondolhatunk azonnal a Kubernetes-re, mert az a legnagyobb és legismertebb ezen a területen, de nem mindig van szükség ekkora komplexitásra, ha csupán egy-egy gyors alkalmazást szeretnénk futtatni. És itt jön képbe a mai cikkünk témája.
Az Azure Container Instance (ACI) egy felhőalapú szolgáltatás, amely lehetővé teszi, hogy konténereket futtassunk anélkül, hogy teljes környezetet – például virtuális gépet vagy Kubernetes-fürtöt – kellene telepítenünk és kezelnünk. Ideális választás lehet azok számára, akik egyszerűen, gyorsan és átmenetileg szeretnének konténeres alkalmazásokat futtatni.
Mi is az Azure Container Instance?
Az ACI a Microsoft Azure egyik platformszolgáltatása (PaaS), amely konténerizált alkalmazások futtatására alkalmas. Használata során nem kell foglalkoznunk az infrastruktúra kezelésével, csak megadjuk a konténerkép nevét (pl. egy Docker image), a kívánt erőforrásokat (CPU, memória), és az Azure elindítja számunkra a konténert.
Az Azure Container Instance támogatja a publikus Docker képeket a Docker Hub-ról és a Microsoft saját registry-jéből (pl. mcr.microsoft.com). Emellett használhatunk privát registry-ből (például Azure Container Registry vagy más hitelesített tároló) származó image-eket is, ha megadjuk a hozzáférési adatokat. Az kép forrását egyszerűen megadhatjuk az ACI létrehozásakor.
Előnyök és lehetőségek
- Egyszerűség és gyorsaság
Az ACI lehetővé teszi konténerek futtatását perceken belül. Nincs szükség cluster-re, orchestrator-ra vagy hosszadalmas konfigurálásra. - Rugalmasság
Csak az erőforrások után fizetünk, amit ténylegesen használunk. Az ACI támogatja a Linux és Windows konténereket is. - Integráció
Könnyedén kombinálható más Azure szolgáltatásokkal, például Azure Logic Apps, Functions, vagy akár Azure Virtual Network (VNET) integrációval is elérhetővé tehetjük belső rendszerekből. - Automatikus skálázás helyett egyszerű példányindítás
Az ACI nem kínál automatikus horizontális skálázást, de nagyon jól használható, ha fix (előre megadott) példányszámmal vagy rövid élettartamú konténerekkel dolgozunk.
Korlátai
- Nem alkalmas komplex, skálázható mikroszolgáltatás-architektúrák futtatására
- Nincs beépített támogatás replikák, autoscaling vagy rollout stratégiák kezelésére
- A konténerek állapota nem menedzselhető úgy, mint Kubernetes esetén (nincs önjavítás, nincs deployment stratégia)
Egyszerű összehasonlítás a Kubernetes-szel
Tulajdonság | Azure Container Instance | Azure Kubernetes Service (AKS) |
---|---|---|
Telepítési idő | percek | órák, akár komplex beállítások |
Skálázás | manuális | automatikus, fejlett vezérlés |
Infrastrukturális háttér | rejtett, Azure kezeli | felhasználó menedzseli részben |
Tanulási görbe | alacsony | meredekebb |
Üzemeltetés | minimális | összetett |
Mikor érdemes használni az Azure Container Instance-ot
Az ACI kiváló választás, ha:
- Egy egyszerű REST API-t vagy mikroalkalmazást szeretnénk gyorsan kipróbálni
- Egyszeri vagy időszakos batch-feladatokat szeretnénk futtatni (pl. képfeldolgozás, adatkonvertálás)
- CI/CD pipeline során szeretnénk ideiglenes build vagy teszt környezetet indítani
- Kevés erőforrásigényű feladatokat szeretnénk futtatni felügyelet nélkül
Konkrét példa felhasználásra
Tegyük fel, hogy egy webalkalmazásban a felhasználók képeket töltenek fel, amelyeket különféle szűrőkkel kell feldolgozni. A képfeldolgozást egy konténerbe csomagolt Python script végzi, amelyet minden alkalommal újraindítunk, amikor egy új képet kapunk. Ilyen esetben ACI tökéletes, hiszen nem kell állandóan futtatnunk a feldolgozót, csak akkor, amikor valóban szükség van rá. Ráadásul mivel az erőforrásigény kicsi és futási idő rövid, költséghatékony is.
Próbáld ki Te is: saját konténer futtatása 5 perc alatt
- Lépj be az Azure Portalra
- A Market Place-en (Piactér), keresd meg a Container Instances szolgáltatást
- Kattints a Létrehozás gombra
- Töltsd ki az űrlapot:
- Erőforráscsoport: válassz vagy hozz létre egyet
- Tároló neve: pl. szialaci
- Régió: válassz egy hozzád közelit, pl. Sweden Central
- Kép forrása: Egyéb regisztrációs adatbázis
- Lemezkép típusa: Nyílvános
- Lemezkép:
mcr.microsoft.com/azuredocs/aci-helloworld
- Operációs rendszer típusa: Linux
- Hálózatkezelés fülön:
- Hálózatkezelési típus: Nyílvános
- Állítsd be a DNS-névcímke mezőt, pl. szia-laci
- Ellenőrizd, hogy Public IP van kiválasztva
- Kattints a Felülvizsgálat + létrehozás, majd Létrehozás gombra
Pár perc múlva az ACI példány elkészül. Az elérési URL-t megkapod, például így nézhet ki: http://szia-laci.e5gsghbgaygzabaw.swedencentral.azurecontainer.io
Nyisd meg ezt az URL-t a böngésződben, és máris látni fogod a konténer által szolgáltatott weboldalt.

Összegzés
Az Azure Container Instance egy könnyen használható, gyors megoldás konténerek futtatására. Ideális kisebb feladatokhoz, teszteléshez, fejlesztéshez vagy időszakos folyamatokhoz. Ha azonban komplexebb architektúrában gondolkodunk, ahol skálázás, önjavítás, rollout kezelés is fontos, akkor érdemes a Kubernetes irányába tovább lépni.
Ez a technológia tökéletes belépő lehet azoknak, akik most ismerkednek a konténerekkel vagy éppen az Azure környezetet szeretnék kihasználni egyszerűbb alkalmazásokhoz. A portálos példa segít abban, hogy akár technikai háttértudás nélkül is sikerélményt szerezzünk az első konténerindítással.