Fenntartható számítási feladatok alkalmazástervezése az Azure-ban
Új alkalmazások létrehozásakor vagy meglévő alkalmazások frissítésekor rendkívül fontos figyelembe venni, hogy a megoldás milyen hatással lesz az éghajlatra, és van-e mód a javítására és optimalizálására. Megismerheti azokat a szempontokat és javaslatokat, amelyek a kód és az alkalmazások fenntarthatóbb alkalmazástervezéshez való optimalizálására használhatók.
Fontos
Ez a cikk az Azure Well-Architected fenntartható számítási feladatok sorozatának része. Ha nem ismeri ezt a sorozatot, javasoljuk, hogy kezdje a fenntartható számítási feladatokkal?
Kódhatékonyság
Az alkalmazások iránti igények eltérőek lehetnek, és fontos megfontolni a kihasználtság stabilizálásának módját, hogy megelőzzük az erőforrások túlzott vagy alacsony kihasználtságát, ami szükségtelen energiakiömlésekhez vezethet.
Monolitok mikroszolgáltatási architektúrába való áthelyezésének kiértékelése
A monolitikus alkalmazások általában egységként méretezhetők, így kevés hely marad arra, hogy csak azokat az összetevőket skálázza, amelyekre szükség lehet.
Green Software Foundation igazítása: Energiahatékonyság, hardverhatékonyság
Javaslat:
- Értékelje ki a mikroszolgáltatás-architektúra útmutatóját.
- A mikroszolgáltatási architektúra csak a szükséges összetevők skálázását teszi lehetővé a csúcsterhelés során; annak biztosítása, hogy a tétlen összetevők le- vagy leskálázhatók legyenek. Emellett csökkentheti a monolitikus alkalmazások üzembe helyezéséhez szükséges többletterhelést és erőforrásokat.
- Fontolja meg ezt a kompromisszumot: A szükséges számítási erőforrások csökkentése mellett növelheti a hálózaton lévő forgalom mennyiségét, és az alkalmazás összetettsége jelentősen megnőhet.
- Vegyük ezt a másik kompromisszumot: A mikroszolgáltatásokra való áttérés további üzembe helyezési többletterhelést eredményezhet, és számos hasonlóságot okozhat az üzembehelyezési folyamatokban. Alaposan gondolja át a monolitikus és a mikroszolgáltatás-architektúrákhoz szükséges üzembehelyezési erőforrásokat.
- Emellett a monolitikus alkalmazások tárolóba helyezéséről is olvashat.
Az API hatékonyságának javítása
Számos modern felhőalkalmazás úgy lett kialakítva, hogy aszinkron módon sok üzenetet bonyolítson le a szolgáltatások és összetevők között. Fontolja meg a hasznos adatok kódolásához használt formátumot. Mennyi információt kell az alkalmazásnak kommunikálnia, és van-e hely a csevegés csökkentésére?
Green Software Foundation igazítása: Energiahatékonyság
Javaslat:
- Ismerje meg a csevegéses I/O-szűrőt , hogy jobban megértse, hogyan befolyásolhatják a nagy számú kérések a teljesítményt és a válaszkészséget.
- Javítsa a megbízhatóságot és csökkentse a rendszerek szükségtelen terhelését. Speciális kérésszabályozás implementálása API Management.
- Minimalizálja az alkalmazás által a kérésekből visszaadott adatok mennyiségét az üzenetek szelektív és kódolásával. Lásd: Üzenetkódolási szempontok.
- Gyorsítótárazza a válaszokat, hogy ne dolgozza fel újra ugyanazt az információtípust a háttérrendszerből, hacsak nem szükséges. Lásd: Gyorsítótárazás az Azure API Management-ban.
A visszamenőleges szoftverkompatibilitás biztosítása az örökölt hardvereken való működés biztosításához
Gondolja át, hogy az alkalmazások hogyan renderelik az információkat. Az alkalmazásnak kritikusan kell kiszolgálnia mindent a legmagasabb minőségben, ami nagyobb sávszélességet és feldolgozást eredményez? Van-e lehetőség a felhasználói felületen található összetevők minőségének csökkentésére a fenntarthatósági célok jobb kiszolgálása érdekében?
Green Software Foundation igazítása: Hardverhatékonyság
Javaslat:
- Több végfelhasználói fogyasztói eszköz, például a régebbi böngészők és operációs rendszerek támogatása. Ez a visszamenőleges kompatibilitás növeli a hardver hatékonyságát azáltal, hogy a megoldás működéséhez hardverfrissítés helyett újrahasználja a meglévő hardvereket.
- Fontolja meg ezt a kompromisszumot: Ha a legújabb szoftverfrissítések jelentős teljesítménybeli javulást eredményeznek, előfordulhat, hogy a régebbi szoftververziók használata nem lesz hatékonyabb.
Natív felhőbeli tervezési minták használata
A natív felhőbeli tervezési minták megismerése hasznos lehet alkalmazások létrehozásához, függetlenül attól, hogy azOkat az Azure-ban üzemeltetik vagy máshol futtatják. A felhőalkalmazás teljesítményének és költségének optimalizálása csökkenti az erőforrás-kihasználtságot, így a károsanyag-kibocsátást is.
Green Software Foundation igazítása: Energiahatékonyság, hardverhatékonyság
Javaslat:
- Natív felhőbeli tervezési minták használata alkalmazások írásakor vagy frissítésekor.
Fontolja meg az áramkör-megszakító minták használatát
Fontolja meg annak kiértékelését és megakadályozását, hogy az alkalmazások olyan műveleteket hajtsanak végre, amelyek valószínűleg sikertelenek lesznek. Az ismétlődő hibák többletterheléshez és szükségtelen feldolgozáshoz vezethetnek, amelyeket a megfelelő tervezési minták használatával elkerülhet.
Green Software Foundation igazítása: Energiahatékonyság
Javaslat:
- Az áramkör-megszakítók proxyként működhetnek a sikertelen műveletekhez, és figyelniük kell a legutóbbi hibák számát, és ezen információk alapján kell eldönteniük, hogy folytatják-e a műveletet.
- Tanulmányozza az áramkör-megszakító mintáját, majd gondolja át, hogyan valósíthatja meg az áramkör-megszakító mintákat az alkalmazásokban.
- Fontolja meg a hibák monitorozását és a riasztások beállítását az Azure Monitor használatával.
Kód optimalizálása a hatékony erőforrás-használat érdekében
A nem hatékony kóddal üzembe helyezett alkalmazások eredendően hatással lehetnek a fenntarthatóságra.
Green Software Foundation igazítása: Energiahatékonyság, hardverhatékonyság
Javaslat:
- Csökkentse a CPU-ciklusokat és az alkalmazáshoz szükséges erőforrások számát.
- Használjon optimalizált és hatékony algoritmusokat és tervezési mintákat.
- Vegye figyelembe a Ne ismételje meg önmagát (DRY) elvet.
Optimalizálás aszinkron hozzáférési mintákhoz
Az alkalmazások iránti igények eltérőek lehetnek, és fontos megfontolni a kihasználtság stabilizálásának módját, hogy megelőzzük az erőforrások túlzott vagy alacsony kihasználtságát, ami szükségtelen energiakiömlésekhez vezethet.
Green Software Foundation igazítása: Energiahatékonyság
Javaslat:
- Az azonnali feldolgozást nem igénylő üzenetsor- és pufferkérések, majd kötegelt feldolgozás. Az alkalmazások ily módon történő megtervezése segít a stabil kihasználtság elérésében, és segít a fogyasztás elsimításában a gyakori kérések elkerülése érdekében.
- További információ az aszinkron hozzáférési minták optimalizálásáról.
Kiszolgálóoldali és ügyféloldali megjelenítés kiértékelése
Határozza meg, hogy a megjelenítés kiszolgálóoldalon vagy ügyféloldalon történjen-e, amikor felhasználói felülettel rendelkező alkalmazásokat hoz létre.
Green Software Foundation igazítása: Energiahatékonyság, hardverhatékonyság
Javaslat:
Vegye figyelembe a kiszolgálóoldali megjelenítés alábbi előnyeit:
- Ha a kiszolgáló teljesítménye az ügyfél területi beállításánál kevésbé szennyező alternatívákból származik.
- Ha a kiszolgáló hardvere jobb feldolgozási-energia arányokkal rendelkezik.
- Központosított gyorsítótárazással csökkentheti a szükségtelen renderelések számát.
- A böngészőről a kiszolgálóra irányuló adatváltások számának csökkentése különösen fontos lehet, ha az ügyfél eszközén veszteséges hivatkozás található.
- Ha az ügyféleszközök régebbiek, és lassabb processzorokkal rendelkeznek. A felhasználóknak nem kell frissíteniük az eszközeiket a modern böngészők támogatásához.
Vegye figyelembe az ügyféloldali megjelenítés alábbi előnyeit:
- Ha a végfelhasználói eszközök megfelelőbbek, a renderelés felelősségét az ügyfelekre kell terhelni.
- Hatékonyabb, ha csak a szükséges és a kért elemeket rendereli, nem pedig mindent legalább egyszer.
- Nincs szükség kiszolgálóra, mivel statikus tárolóra támaszkodhat.
- A böngésző gyorsítótárazását az ügyfelek használják.
Legyen tisztában a UX fenntarthatósági tervezésével
Gondolja át, hogyan befolyásolja a számítási feladatok felhasználói felületének kialakítása a fenntarthatóságot, és határozza meg, hogy milyen lehetőségek állnak rendelkezésre az energiahatékonyság javítására és a szükségtelen hálózati terhelés, az adatfeldolgozás és a számítási erőforrások csökkentésére.
Green Software Foundation igazítása: Energiahatékonyság
Javaslat:
- Érdemes lehet csökkenteni az oldalakra betöltendő és renderelendő összetevők számát.
- Határozza meg, hogy az alkalmazás képes-e kisebb felbontású képeket és videókat renderelni.
- Ne renderelje a teljes méretű képeket miniatűrként, ahol a böngésző átméretezi az átméretezést.
- A teljes méretű képek miniatűrként vagy átméretezett képekként való használata több adatot, szükségtelen hálózati forgalmat és további ügyféloldali CPU-használatot fog átvinni a kép átméretezése és előzetes renderelése miatt.
- Ha nincs használaton kívüli oldal, az minimalizálja a felhasználói felület kialakítását.
- Fontolja meg a keresést és a kereshetőséget. Ha a felhasználók könnyebben megtalálják, amit keresnek, azzal csökkenthetik a tárolt és lekért adatok mennyiségét.
- Fontolja meg egy könnyebb felhasználói felület biztosítását, kevesebb erőforrást használjon, és kisebb hatással legyen a fenntarthatóságra, és tájékozott választást biztosítson a felhasználóknak.
- Az alkalmazások és webhelyek sötét módban, sötét háttérrel való felkínálásával energiát takaríthat meg.
- Ha lehetséges, használja a rendszer betűtípusait, hogy ne kényszerítse az ügyfeleket további betűtípusok letöltésére, ami nagyobb hálózati terhelést okoz.
Régi kód frissítése
Érdemes lehet frissíteni vagy elavultnak tekinteni az örökölt kódot, ha az nem modern felhőinfrastruktúrán vagy a legújabb frissítésekkel fut.
Green Software Foundation igazítása: Hardverhatékonyság
Javaslat:
- A modernizáláshoz megfelelő nem hatékony örökölt kód azonosítása.
- Ellenőrizze, hogy vannak-e kiszolgáló nélküli vagy optimalizált PaaS-beállítások.
- Fontolja meg ezt a kompromisszumot: A régi kód elavultként való frissítése értékes időt vehet igénybe.
Következő lépés
Tekintse át az alkalmazásplatform tervezési szempontjait.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: