Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Több tevékenység vagy művelet összesítése egy számítási egységbe. Ez a minta növelheti a számítási erőforrások kihasználtságát, és csökkentheti a felhőalapú alkalmazások számítási feldolgozásával kapcsolatos költségeket és felügyeleti többletterhelést.
Kontextus és probléma
A felhőalkalmazások gyakran különböző típusú műveleteket implementálnak. Kezdetben ezeket a műveleteket külön számítási egységekbe rendezheti, amelyek egyenként vannak üzemeltetve és üzembe helyezve. Üzembe helyezhet például külön Azure App Service-webalkalmazásokat vagy különálló virtuális gépeket. Ez a stratégia segíthet leegyszerűsíteni a megoldás logikai kialakítását, de ha nagy számú számítási egységet helyez üzembe ugyanazon alkalmazás részeként, ez az üzembe helyezés növelheti a futtatókörnyezet üzemeltetési költségeit, és összetettebbé teheti a rendszerfelügyeletet.
Az alábbi ábra egy több számítási egységet használó felhőalapú megoldás egyszerűsített szerkezetét mutatja be. Mindegyik számítási egység a saját virtuális környezetét futtatja. A megoldás minden függvényt külön feladatként implementál, amely a saját számítási egységében fut.
Diagram, amely egy nagy felhőalakzatú környezetet, öt különálló számítási egységgel a képen elosztva, mutat be. Minden tevékenység a saját számítási egységében található. A tevékenységek az "A" és az "E" tevékenység között vannak megjelölve. A tevékenységek nem csatlakoznak vagy átfedésben vannak. Az ábrán egy-az-egyhez kapcsolat látható az egyes számítási egységek és az ugyanazon a felhőben üzemeltetett megoldáson belüli tevékenységek között.
Minden számítási egység akkor is felszámolható erőforrásokat használ fel, ha üresjáratban vagy enyhén használják. Ez a megközelítés nem mindig a legköltségtakarékosabb megoldás.
Megoldás
A költségek csökkentése, a kihasználtság növelése, a kommunikációs sebesség javítása és a felügyelet csökkentése érdekében több feladatot vagy műveletet egyesíthet egyetlen számítási egységbe.
A tevékenységeket feltételek szerint csoportosíthatja a környezet jellemzői és a funkciókhoz kapcsolódó költségek alapján. Gyakori, hogy hasonló skálázhatósági, élettartam- és feldolgozási követelményekkel rendelkező feladatokat keres. Ha egységként szeretné skálázni a feladatokat, csoportosíthatja őket. Számos felhőkörnyezet rugalmasságot biztosít, így a számítási egység további példányait elindíthatja és leállíthatja a számítási feladattól függően. Az Azure például az App Service-hez és az Azure-beli virtuálisgép-méretezési csoportokhoz alkalmazható automatikus skálázást biztosít.
A méretezhetőség használatával azt is meghatározhatja, hogy mely műveleteket ne csoportosítsa. Vegye figyelembe a következő példafeladatokat:
- Az 1. feladat ritkán ismétlődő, időérzékeny üzenetek üzenetsorát kérdezi le.
- A 2. feladat a hálózati forgalom csúcsterheléseit kezeli.
A 2. feladat nagy számú számítási egység elindításához és leállításához rugalmasságot igényel. Ha ugyanazt a skálázási viselkedést alkalmazza az 1. feladatra, több tevékenység figyeli a ritkán használt üzeneteket ugyanazon az üzenetsoron, ami erőforrás-pazarlás.
Számos felhőkörnyezetben megadhatja a számítási egységek számára elérhető erőforrásokat, például a processzormagok számát, a memóriát és a lemezterületet. Ha több erőforrást ad meg, a megoldás általában drágább lesz. A költségmegtakarítás érdekében a költséges számítási egységnek foglaltnak kell maradnia, és kerülnie kell a hosszabb ideig tartó inaktivitást.
Ha a tevékenységek rövid idő alatt nagy processzorteljesítményt igényelnek, ezeket a feladatokat egyetlen számítási egységbe összesítheti, amely biztosítja a szükséges teljesítményt. Azonban egyensúlyoznia kell ezt azzal az igénnyel, hogy a drága erőforrások aktívan legyenek foglalkoztatva, szemben azzal az ütközéssel, ami a túlterheltség esetén fordulhat elő. A hosszú ideig futó, nagy számítási igényű tevékenységeknek például nem szabad ugyanazt a számítási egységet használniuk.
Problémák és szempontok
Vegye figyelembe a következő szempontokat, amikor úgy dönt, hogy hogyan valósítja meg ezt a mintát:
Méretezhetőség és rugalmasság: Számos felhőalapú megoldás implementálja a számítási egységek méretezhetőségét és rugalmasságát az egységek példányainak elindításával és leállításával. Ne csoportosítsa azokat a tevékenységeket, amelyek skálázhatósági követelményei ütköznek ugyanabban a számítási egységben.
Élettartam: A felhőinfrastruktúra rendszeresen újracseréli a számítási egységeket üzemeltető virtuális környezetet. Ha sok hosszú ideig futó feladat van egy számítási egységben, előfordulhat, hogy meg kell akadályoznia, hogy az egység újrainduljon, amíg ezek a tevékenységek be nem fejeződnek. Másik lehetőségként használjon ellenőrzőpontozási módszert, hogy a feladatok tisztán le tudjanak állni, és onnan folytathassák, ahol a számítási egység újraindulásakor megszakadtak.
Kiadási ütem: Ha egy feladat megvalósítása vagy konfigurálása gyakran változik, előfordulhat, hogy le kell állítania a frissített kódot üzemeltető számítási egységet, újra kell konfigurálnia és újra üzembe helyeznie az egységet, majd újra kell indítania. Ehhez a folyamathoz le kell állítania, újra kell üzembe helyeznie és újra kell indítania az összes többi feladatot ugyanazon a számítási egységen belül.
Biztonsági: Az ugyanabban a számítási egységben lévő tevékenységek azonos biztonsági környezettel rendelkezhetnek, és elérhetik ugyanazokat az erőforrásokat. Ehhez a beállításhoz magas szintű megbízhatóságra van szükség a tevékenységek között, és meg kell bizonyosodni arról, hogy az egyik tevékenység nem sérülhet meg vagy nem befolyásolhatja hátrányosan a másikat. Emellett, ha növeli a számítási egységben futtatott feladatok számát, az egység támadási felülete is nő. Minden tevékenység csak olyan biztonságos, mint a legtöbb biztonsági rést tartalmazó tevékenység.
Hibatűrés: Ha egy számítási egység egyik tevékenysége meghibásodik vagy rendellenesen viselkedik, az hatással lehet az ugyanabban az egységben lévő többi tevékenységre. Ha például egy tevékenység nem indul el megfelelően, az a számítási egység teljes indítási logikájának meghiúsulását okozhatja, és megakadályozhatja, hogy ugyanabban a leckében más tevékenységek fussanak.
Ütközés: Kerülje az erőforrásokért ugyanabban a számítási egységben versengő feladatok közötti ütközést. Az ugyanazon számítási egységen osztozó tevékenységeknek eltérő erőforrás-kihasználtsági jellemzőkkel kell rendelkeznie. Két nagy számítási igényű tevékenységnek például nem szabad ugyanabban a számítási egységben lennie, és két olyan tevékenységnek sem, amely nagy mennyiségű memóriát használ fel. A nagy számítási igényű feladatokat azonban kombinálhatja olyan feladatokkal, amelyek nagy mennyiségű memóriát igényelnek.
Megjegyzés:
Fontolja meg a számítási erőforrások összevonását csak olyan rendszerek esetében, amelyek elég hosszú ideig üzemelnek, hogy az operátorok és a fejlesztők monitorozzák a rendszert, és létrehozhassák a hőtérképet , amely azonosítja, hogy az egyes tevékenységek hogyan használják az erőforrásokat. Ez a térkép segít meghatározni, hogy mely tevékenységek alkalmasak a számítási erőforrások megosztására.
Összetettsége: Egyetlen számítási egység több feladata összetettebbé teszi az egység kódját, ami megnehezítheti a tesztelést, a hibakeresést és a karbantartást.
Stabil logikai architektúra: A kódot minden tevékenységben megtervezheti és implementálhatja, hogy ne kelljen módosítania, még akkor sem, ha a tevékenység által futtatott fizikai környezet módosul.
Egyéb stratégiák: A számítási erőforrások összevonása csak egy módszer a több tevékenység egyidejű futtatásával járó költségek csökkentésére. Csak gondos tervezéssel és monitorozással biztosítható, hogy hatékony megközelítés maradjon. Más stratégiák a munka jellegétől és a feladatok felhasználóinak tartózkodási helyeitől függően megfelelőbbek lehetnek.
Mikor érdemes ezt a mintát használni?
Használja ezt a mintát a következő esetekben:
- A tevékenységek nem költséghatékonyak, ha saját számítási egységekben futnak.
- Egy feladat gyakran tétlen.
- Költséges lenne egy feladatot egy dedikált egységben futtatni.
Ez a minta nem feltétlenül megfelelő, ha:
- A feladatok kritikus hibatűrő műveleteket hajtanak végre.
- A feladatok rendkívül bizalmas vagy privát adatokat dolgoznak fel, és saját biztonsági környezetet igényelnek.
- A feladatoknak külön számítási egységben kell futniuk a saját elkülönített környezetükben.
Munkaterhelés tervezése
Értékelje ki, hogyan használhatja a számítási erőforrások konszolidációs mintáját a számítási feladatok tervezésében az Azure Well-Architected-keretrendszer pilléreiben foglalt célok és alapelvek kezelésére. Az alábbi táblázat útmutatást nyújt arról, hogy ez a minta hogyan támogatja az egyes pillérek céljait.
| Alappillér | Hogyan támogatja ez a minta a pillércélokat? |
|---|---|
| A költségoptimalizálás a számítási feladatok megtérülésénekfenntartására és javítására összpontosít. | Ez a minta maximalizálja a számítási erőforrások kihasználtságát azáltal, hogy elkerüli a nem használt kiosztott kapacitást az összetevők vagy akár a teljes számítási feladatok összesítésével egy készletezett infrastruktúrán. - CO:14 Konszolidáció |
| Az operatív kiválóságszabványosított folyamatok és a csapat kohéziója révén segít a számítási feladatok minőségének biztosításában. | Az összevonás homogénebb számítási platformhoz vezethet, amely leegyszerűsítheti a felügyeletet és a megfigyelhetőséget, csökkentheti az üzemeltetési feladatok eltérő megközelítéseit, és csökkentheti a szükséges eszközök mennyiségét. - OE:07 Monitorozási rendszer - OE:10 Automation-tervezés |
| A teljesítményhatékonyság a skálázás, az adatok és a kód optimalizálásával segíti a számítási feladatok hatékony kielégítését . | Az összevonás maximalizálja a számítási erőforrások kihasználtságát a tartalék csomópontkapacitás használatával, és csökkenti a túlterjedést. Ezek az infrastruktúrák gyakran nagy, vertikálisan skálázott számítási példányokat használnak az erőforráskészletben. - PE:02 Kapacitástervezés - PE:03 Szolgáltatások kiválasztása |
Ha ez a minta kompromisszumokat vezet be egy pilléren belül, vegye figyelembe őket a többi pillér céljaival szemben.
Example
Ezt a mintát a számítási szolgáltatástól függően különböző módokon helyezheti üzembe. Például:
App Service és Azure Functions: Az üzemeltetési kiszolgáló infrastruktúráját képviselő megosztott App Service-csomagok üzembe helyezése. Beállíthatja, hogy egy vagy több alkalmazás ugyanazon számítási erőforrásokon vagy ugyanabban az App Service-csomagban fusson.
Azure Container Apps: Helyezzen üzembe tárolóalkalmazásokat ugyanazon megosztott környezetekben, különösen akkor, ha kapcsolódó szolgáltatásokat kell kezelnie, vagy különböző alkalmazásokat kell üzembe helyeznie ugyanazon a virtuális hálózaton.
Azure Kubernetes Service (AKS): Az AKS egy tárolóalapú üzemeltetési infrastruktúra, amelyben több alkalmazást vagy alkalmazásösszetevőt is beállíthat, hogy ugyanazon számítási erőforrásokon (csomópontokon) együtt fusson. A számítási erőforrásokat számítási követelmények, például processzor- vagy memóriaigények (csomópontkészletek) szerint csoportosíthatja.
Virtuális gépek: Helyezzen üzembe egyetlen virtuális gépet az összes bérlő számára, hogy a felügyeleti költségek meg legyenek osztva a bérlők között. A virtuálisgép-méretezési csoportok támogatják a virtuális gépek megosztott erőforrás-kezelését, terheléselosztását és horizontális skálázását.
Használatalapú számítás (kiszolgáló nélküli): Használjon teljes mértékben felügyelt, végrehajtásonkénti fizetéses számítási modelleket, amelyek nullára skálázhatók, például a Functions Consumption csomag és a Container Apps. Ezek a szolgáltatások több független számítási feladatot futtatnak a számítási erőforrások megosztott globális készletén. Ezek a platformok automatikusan lefoglalják és felszabadítják a számítást, hogy több alkalmazás is kihasználhassa a rugalmas skálázást és a költséghatékonyságot dedikált infrastruktúra nélkül.