Navigáció kihagyása

Mi az a tároló?

Az alkalmazások szabványosított, hordozható csomagolása

A tárolók ismertetése

Ahogy a szállítási iparágak fizikai tárolókkal különítenek el különböző szállítmányokat egymástól – például a hajókon és vonatokon –, a szoftverfejlesztési technológiák is egyre szélesebb körben alkalmazzák az úgynevezett tárolókra bontási megközelítést.

Egy standard szoftvercsomag – más néven tároló – egy alkalmazás kódját egyesíti a kapcsolódó konfigurációs fájlokkal, kódtárakkal és az alkalmazás futtatásához szükséges függőségekkel. Így a fejlesztők és az informatikai szakemberek gördülékenyen helyezhetnek üzembe alkalmazásokat különböző környezetekben.

A tárolók fontossága

A probléma, hogy egy alkalmazás nem működik, ha egy környezetből egy másikba helyezik, egyidős magával a szoftverfejlesztéssel. Az ilyen problémák általában a rendszerek kódtárkövetelményeinek és egyéb függőségeinek különböző konfigurációi miatt jelentkeznek.

A tárolók ezt a problémát úgy kezelik, hogy egyszerű, nem módosítható infrastruktúrát biztosítanak az alkalmazások csomagolásához és üzembe helyezéséhez. Egy alkalmazás vagy szolgáltatás, annak függőségei és a hozzá tartozó konfiguráció egybe van csomagolva egyetlen tárolóképként. A tárolóba csomagolt alkalmazás egyetlen egységként tesztelhető, és tárolólemezkép-példányként helyezhető üzembe a gazdagép operációs rendszerén.

Így a tárolók lehetővé teszik a fejlesztők és az informatikai szakemberek számára, hogy kevés vagy akár nulla módosítással helyezzenek üzembe alkalmazásokat különböző környezetekben.

További információ a tárolók működéséről és szépségeiről.

Rövid videó megtekintése

A tárolók és a virtuális gépek összevetése

Amikor az emberek a virtualizációra gondolnak, erről gyakran a virtuális gépek (VM-ek) jutnak eszükbe. Valójában azonban a virtualizáció többféle megoldást is jelenthet, és a tárolók használata is a virtualizáció egy formája. Mi a különbség a virtuális gépek és a tárolók között?

A virtuális gépek lényegében a gépek alapjául szolgáló hardvereket virtualizálják, hogy az operációs rendszerek több példánya is futtatható legyen az adott hardveren. Minden virtuális gép egy operációs rendszert futtat, és a hardvert jelképező virtualizált erőforrásokhoz fér hozzá.

A virtuális gépek számos előnnyel rendelkeznek. Ezek közé tartozik a különböző operációs rendszerek ugyanazon a kiszolgálón való futtatásának, a fizikai erőforrások hatékonyabb és költséghatékony kihasználásának, valamint a kiszolgálók gyorsabb üzembe helyezésének a lehetősége. Emellett azonban minden virtuális gép tartalmazza az operációs rendszerek rendszerképét, könyvtárait, alkalmazásait és egyebeket, így meglehetősen nagy méretűek lehetnek.

A tároló virtualizálja az alapul szolgáló operációs rendszert, így a tárolóba csomagolt alkalmazás úgy észleli, hogy az operációs rendszer – beleértve a CPU-t, a memóriát, a tárterületet és a hálózati kapcsolatokat – mind a rendelkezésére áll. Mivel az alapul szolgáló operációs rendszer és az infrastruktúra eltérései el vannak különítve, amíg az alaprendszerkép változatlan, a tároló bárhol üzembe helyezhető és futtatható. A fejlesztők számára ez hihetetlenül vonzó.

Mivel a tárolók közösen használják a gazdagép operációs rendszerét, nem szükséges rendszerindítást végezniük vagy kódtárakat betölteniük. Ez lehetővé teszi, hogy a tárolók sokkal hatékonyabbak legyenek alacsony erőforrásigény mellett. A tárolóba csomagolt alkalmazások másodpercek alatt elindíthatók, és az alkalmazás sokkal több példánya futtatható ugyanazon a gépen a virtuális gépes megoldáshoz képest. A megosztott operációs rendszer előnye, hogy a karbantartás – például a javítások és a frissítések – alacsonyabb erőforrásigényt jelent.

Bár a tárolók hordozhatók, csak a csomagoláskor meghatározott operációs rendszeren futtathatók. A Linux-tárolók például nem futtathatók Windows rendszeren, és fordítva.

Miért érdemes a tárolókat választani

Rugalmasság

Amikor a fejlesztők az alkalmazásaikat létrehozzák és tárolóba csomagolják, majd átadják azokat az informatikai csapatnak, hogy szabványosított platformon futtassák, ezzel csökkentik az alkalmazások üzembe helyezésének munkaigényét, valamint leegyszerűsítik a teljes fejlesztési és tesztelési ciklust. Ez a fejlesztési és üzemeltetési csapatok közötti együttműködést és hatékonyságot is növeli, így az alkalmazások gyorsabban kiadhatók.

Hordozhatóság

A tárolók szabványos formátumot biztosítanak a kívánt alkalmazás futtatásához szükséges összes összetevő becsomagolásához és tárolásához. Ez megoldja a „de az én gépemen működik” gyakran visszatérő problémáját, és lehetővé teszi az operációs rendszerek és a felhők közötti hordozhatóságot. Bárhol és bármikor helyeznek üzembe egy tárolót, az egy konzisztens környezetben fog futni, amely változatlan lesz az egyes üzembe helyezésekben. Ezáltal azonos formátumot használhatnak a fejlesztői számítógéptől az éles környezetig.

Gyorsa méretezhetőség

Mivel a tárolók nem rendelkeznek a virtuális gépek szokásos erőforrásigényével, beleértve a különálló operációsrendszer-példányokat, így ugyanazon az infrastruktúrán több tároló is használható. A tárolók egyszerű jellege azt jelenti, hogy gyorsan elindíthatók és leállíthatók, így az aktuális igényeknek megfelelően akár felfelé, akár lefelé gyorsan méretezhetőek.

Használati példák

Natív felhőalkalmazások

A natív felhőalapú alkalmazások a tárolók segítségével érnek el közös működési modellt a különböző – például a nyilvános, a privát és a hibrid – környezetekben. A tárolók alacsony erőforrásigénye és nagy sűrűsége lehetővé teszi, hogy ugyanazon a virtuális gépen többet is üzemeltethessenek, valamint ezeknek a tulajdonságoknak köszönhetően a tárolók ideálisak a natív felhőalapú alkalmazások szolgáltatásához.

Átemelés

Egy szervezet számára jelentős előnyökkel járhat a felhőbe való migrálás, de előfordulhat, hogy nem szeretnék újraírni egy meglévő alkalmazásukat. Tárolók használatával a kód módosítása nélkül is migrálhatja az alkalmazásokat a felhőbe.

Batch

A kötegelt feldolgozás olyan tevékenységeket jelöl, amelyeket emberi beavatkozás nélkül, vagy az elérhető erőforrásokat felhasználva lehet elvégezni. Ilyenek például a jelentésgenerálás, a képek átméretezése, és a fájlkonvertálás egyik formátumból a másikba. A tárolók segítségével a kötegelt feladatok egyszerűen futtathatók anélkül, hogy a környezetet és a függőségeket kezelni kellene. Az olyan dinamikus számítási lehetőségekkel, mint például az Azure Container Instances (ACI), hatékonyan töltheti be és dolgozhatja fel a forrásadatokat, majd mentheti azokat egy tartós tárba, például Azure Blob Storage-tárolóba. A statikusan kiépített virtuális gépek helyett egy ilyen megoldás másodpercalapú számlázással történő ötvözésével jelentős mértékű költségmegtakarítást érhet el.

Gépi tanulás

A gépi tanulás algoritmusok segítségével elemzi az adatokat, és az adatokban található minták alapján előrejelzéseket készít. A tárolók a gépi tanulási alkalmazásokat önállóvá és bármilyen környezetben könnyen méretezhetővé tehetik.

Több mint tárolás

A tárolók előnyeinek maximális kihasználása érdekében érdemes lehet olyan teljes körű megoldásokat is kipróbálni, mint a tárolókra optimalizált eszközök és szolgáltatások, amelyek segítenek a rugalmasság, a biztonság és a méretezhetőség megvalósításában.

Adat-előkészítés

A tárolók ipari méretekben való futtatásához az elosztott, tárolóalapú alkalmazások vezénylése és kezelése szükséges egy olyan vezénylési platformon keresztül, mint például a Kubernetes.

Biztonság

A tárolók többrétegű megközelítést igényelnek a tárolólemezképtől a fürtelkülönítésig. Ezeket a védőkorlátokat a CI/CD-folyamatokkal a legmegfelelőbb konfigurálni.

Kiszolgáló nélküli tárolók

A tárolókkal szükség szerint tovább növelheti a rugalmasságot. A kiszolgáló nélküli tárolótechnológiák használatával könnyedén futtathat tárolókat a kiszolgálók, illetve a Kubernetes-fürtök adatlöketeinek kezelése nélkül, ha a forgalom időszakonként ugrásszerűen megnő.

Fejlesztés és üzemeltetés

A tárolók lehetővé teszik a fejlesztők számára a szoftverek és a függőségek megosztását a különböző informatikai és működési környezetekben. Ezeket DevOps-eljárásokkal kombinálva hatékonyan gyorsíthat a kódkiadáson és lerövidítheti a szoftverfejlesztési ciklusokat.

Mi készen állunk, ha Ön is – az Azure-ban ingyenesen kipróbálhatja a tárolókat és a Kubernetes-t