Javaslatok az összetevők költségeinek optimalizálására
Az Azure Well-Architected Framework költségoptimalizálási ellenőrzőlistájára vonatkozó javaslat:
CO:07 | Az összetevők költségeinek optimalizálása. Rendszeresen távolítsa el vagy optimalizálja az örökölt, szükségtelen és kihasználatlan számítási feladatok összetevőit, beleértve az alkalmazásfunkciókat, a platformfunkciókat és az erőforrásokat. |
---|
Ez az útmutató a számítási feladatok összetevőinek költségeinek optimalizálására vonatkozó javaslatokat ismerteti. Az összetevők költségeinek optimalizálása a számítási feladat egyes elemeinek költséghatékonyságának értékelésére és javítására vonatkozik. Hangsúlyozza az elavult, szükségtelen vagy ritkán használt összetevők, például az alkalmazásfunkciók, a platformfunkciók és az erőforrások folyamatos felülvizsgálatát és lehetséges eltávolítását vagy javítását. Emellett a vészhelyreállítási környezetek költségoptimalizálását és a nem optimális összetevők bevezetésének elkerülését is ismerteti. Az ebben a cikkben található útmutató olyan meglévő számítási feladatokra vonatkozik, amelyek nincsenek a tervezési fázisban. A rendszeres összetevők optimalizálásának mellőzése megnövelt költségekhez, erőforrás-pazarláshoz és nem hatékony számítási feladatokhoz vezethet, amelyek időt és pénzt is elszívnak.
Meghatározások
Időszak | Definíció |
---|---|
Alkalmazásfunkció | Az alkalmazásszoftveren belüli különálló képesség, amely lehetővé teszi a felhasználók számára adott feladatok elvégzését vagy adott információk elérését. |
Platformfunkció | Egy platform által biztosított adott funkció vagy képesség. A platformtól függően változhat, de általában a platformfunkciók úgy vannak kialakítva, hogy javítsák a felhasználói élményt, javítsák a termelékenységet, vagy lehetővé tegyék az adott feladatokat vagy műveleteket. |
Erőforrás | Egyetlen entitás vagy összetevő, amelyet egy felhőszolgáltatón belül hozhat létre, konfigurálhat és használhat. |
Főbb tervezési stratégiák
A számítási feladatok összetevőinek optimalizálása a számítási feladatok különböző elemeinek finomításáról szól, beleértve az alkalmazásfunkciókat, a platformképességeket és az erőforrásokat. A cél annak biztosítása, hogy a számítási feladat hatékonyan és költséghatékonyan használja az összes összetevőt. A stratégiák közé tartozik az olyan összetevők eltávolítása, módosítása és elkerülése, amelyek miatt a szükségesnél többet költhet. Az összetevők költségoptimalizálási folyamata biztosítja, hogy erőforrásokat rendeljen azokhoz a funkciókhoz és összetevőkhöz, amelyek a legnagyobb értéket adják, elkerülve a szükségtelen kiadásokat.
Alkalmazásfunkciók optimalizálása
Az alkalmazásfunkciók optimalizálása az alkalmazásfunkciók értéken alapuló eltávolításának, újbóli bevezetésének vagy bevételszerzésének folyamata. Biztosítja, hogy az erőforrásokat olyan alkalmazásfunkciókhoz rendelje, amelyek a legnagyobb értéket biztosítják az ügyfelek számára. Az alkalmazásfunkciók optimalizálása segít elkerülni az olyan funkciókba való befektetést, amelyek hozzájárulnak a műszaki adóssághoz, vagy nem adnak elegendő megtérülést a befektetéshez.
Alkalmazásfunkció értékének kiértékelése
Egy szolgáltatás értékének meghatározásához vegye figyelembe a teljes alkalmazásra és az ügyfelek számára biztosított értékre gyakorolt hatását. Néhány megfontolandó tényező:
Ügyféligények: Annak felmérése, hogy a funkció mennyire felel meg az ügyfelek igényeinek és elvárásainak. Az ügyfelek visszajelzései, felmérései és használati adatai értékesek lehetnek az észlelt érték megértésében.
Üzleti célok: Annak értékelése, hogy a funkció hogyan igazodik az üzlet stratégiai célkitűzéseihez. Gondolja át, hogy a funkciók hogyan támogatják a bevétel-termelést, az ügyfelek elégedettségét vagy a versenyelőnyt.
A felhasználói élményre gyakorolt hatás: Annak meghatározása, hogy a funkció milyen hatással van a felhasználói élmény fokozására, valamint a használhatóság vagy a termelékenység javítására.
Differenciálás: Annak felmérése, hogy a funkció egyedi értékesítési pontot vagy versenyelőnyt biztosít-e más piaci alkalmazásokhoz képest.
Alkalmazásfunkció költségeinek kiértékelése
Alapvető fontosságú, hogy tisztában legyen az egyes funkciókkal járó költségekkel a hatékony erőforrás-kiosztás és -optimalizálás érdekében. A költségek kiértékelésekor vegye figyelembe a különböző szempontokat, például:
Fejlesztési munka: Felmérheti a funkció vagy a környező funkciók fejlesztéséhez és fenntartásához szükséges időt, erőforrásokat és szakértelmet. Az alulhasznált funkciók gyakran a technikai adósság fő forrásává válnak.
Karbantartás és támogatás: Fontolja meg a funkció fenntartásával és támogatásával kapcsolatos folyamatos költségeket, beleértve a hibajavításokat, a biztonsági frissítéseket és a hibaelhárítást.
Infrastruktúra és erőforrás-kihasználtság: Értékelje a funkció infrastruktúra-követelményekre gyakorolt hatását, beleértve a kiszolgálói erőforrásokat, a tárolást és a sávszélességet.
Integráció összetettsége: A funkció más rendszerekkel vagy külső szolgáltatásokkal való integrálásának összetettségének és költségeinek felmérése.
Teljesítménnyel kapcsolatos szempontok: Értékelje a funkciónak az alkalmazás teljesítményére gyakorolt hatását, beleértve a méretezhetőséget, a válaszidőt és az erőforrás-használatot.
Az alkalmazásfunkció értékének áttekintése az érdekelt felekkel
Tekintse át az alkalmazásfunkciók értékét az érdekelt felekkel a kulcsfontosságú munkatársak, például a termékmenedzserek, a szoftverfejlesztők és az üzleti elemzők bevonásával, hogy értékelje az üzleti célkitűzések egyes funkcióinak értékét. Ez az együttműködés elengedhetetlen a költségoptimalizáláshoz, mivel betekintést nyújt a karbantartási erőfeszítésekbe, és azonosítja azokat a funkciókat, amelyek akadályozhatják a termelékenységet, vagy csökkentik az új, értékes funkciók fejlesztését. A fejlesztői csapat fontos információkat adhat arról, hogy mennyi munka szükséges bizonyos funkciók fenntartásához. Bátorítsa őket, hogy beszéljenek azokról a funkciókról, amelyek nagyobb bajt jelenthetnek, mint amennyit érdemes, különösen akkor, ha ezek a funkciók elvonják a csapatot az újak létrehozásáról.
A funkció jövőjének meghatározása
Az elemzés és az értékelés alapján határozza meg az alkalmazás funkcióinak jövőjét. Távolítson el, invesztítsen újra vagy pénzt olyan alkalmazásfunkciókból, amelyek nem nyújtanak megtérülést a befektetésnek:
Eltávolítás: Fontolja meg egy alkalmazásfunkció tervezett élettartamának végét az adatok alapján. A funkcióeltávolítás okai közé tartozhat az alacsony ügyféligény, a magas karbantartási költségek, az összetettség vagy a redundancia, amelyet nem érdemes kijavítani. Hozzon létre egy tervet az eltávolításhoz, amely magában foglalhatja a kód újrabontását, a függőségek frissítését vagy a felhasználói felület átrendezését.
Kockázat: Véletlenül eltávolíthatja azokat a funkciókat, amelyek bizonyos felhasználók vagy forgatókönyvek szempontjából kritikus fontosságúak, és negatívan befolyásolhatják az alkalmazás teljesítményét, műveleteit és biztonságát.
Újrabefektetés: Előfordulhat, hogy egyes alkalmazásfunkciók nem adnak elegendő értéket a jelenlegi állapotukhoz, de ha újra beveszi őket, értéket adhatnak hozzá. Az újrabefektetés az alkalmazásfunkció újradolgozását vagy előléptetését jelenti. Rangsorolja az azonosított fejlesztéseket értékük és megvalósíthatóságuk alapján. Határozza meg a módosítások végrehajtásához szükséges ütemtervet és ütemtervet. Vegye figyelembe az olyan tényezőket, mint a fejlesztési erőforrások, a függőségek és az alkalmazásra gyakorolt lehetséges hatás.
Bevételszerzés: Bevételszerzési lehetőséggé alakíthatja az alkalmazás funkcióit. A funkciók néha értéket biztosítanak a felhasználóknak, de nem érik meg a jelenlegi befektetést. Megismerheti ezeknek a funkcióknak a bevételszerzési lehetőségeit, például külön fizetős bővítményként kínálhatja őket, vagy licencelheti őket más vállalatoknak.
Számítási feladatok erőforrásainak optimalizálása
A számítási feladatok erőforrásainak optimalizálása magában foglalja a nem használt erőforrások eltávolítását és a számítási feladathoz szükséges kihasználatlan erőforrások optimalizálását. Ez az erőfeszítés pénzt takaríthat meg, elkerülheti a pazarlást, és gondoskodhat arról, hogy a számítási feladat csak azokat az erőforrásokat használja, amelyek értéket adnak hozzá.
Távolítsa el a nem használt számítási feladatok erőforrásait. A nem használt erőforrások olyan szolgáltatások, amelyeket a számítási feladatok vagy a műveleti folyamatok nem használnak. Ezek az erőforrások hosszú távon tétlenek, árvaak vagy elfelejtettek lehetnek. Ezek nem nyújtanak megtérülést a befektetés, és el kell távolítani őket. A nem használt erőforrások gyakori okai a következők:
- Riasztások.
- Bemutató buildek.
- Környezet leszerelése.
- Funkció leszerelése.
- IP-címek.
- Hálózati tűzfalak.
- A koncepció igazolása.
- Pillanatképek.
- Storage fiókok.
- Ideiglenes tesztelési környezetek.
- Ideiglenes osztályozási környezetek.
A számítási feladatokban nem használt erőforrások eltávolításához vegye figyelembe az alábbi lépéseket:
Leltár készítése: Végezzen részletes leltárt a számítási feladat összes erőforrásáról a különböző környezetekben.
Árva erőforrások keresése: Az erőforrások árvává válhatnak, ha már nincs rájuk szükség, vagy ha a szülőerőforrásokat eltávolítják. Eltávolíthat például egy virtuális gépet, de a társított tárfiókja nem lesz eltávolítva. Tekintse át a számítási feladatot a szükségtelen vagy árva erőforrások azonosításához.
Üresjárati összetevők eltávolítása: Általában egy üzembe helyezett erőforráshoz tartozó költség van hozzárendelve. Még akkor is, ha az erőforrás lehetővé teszi a leállítást vagy az újraelosztást, előfordulhat, hogy továbbra is fizetnie kell az erőforrásért. Fontolja meg az üresjárati erőforrások eltávolítását. Ha szüksége van az adatokra, először biztonsági másolatot készít az adatokról, majd távolítsa el az erőforrást. Jobb, ha újra üzembe helyezi az erőforrást, és visszaállítja az adatokat, mintha lehetővé tenné, hogy az erőforrás tétlen maradjon.
Optimalizálja a kihasználatlan erőforrásokat. A kihasználatlan erőforrások pazarlást jelentenek, mivel a nem teljes mértékben kihasznált erőforrás-kapacitásért fizet. Azonosítsa és optimalizálja ezeket az erőforrásokat a költségek csökkentése és az erőforrások hatékonyabb lefoglalása érdekében. A kihasználatlan erőforrások költségeinek kiértékeléséhez és optimalizálásához kövesse az alábbi lépéseket:
Erőforrások monitorozása: Eszközökkel monitorozza, hogy mennyi processzort, memóriát és tárterületet használ ténylegesen. Válassza ki az igényeinek leginkább megfelelő csomagot ezen információk alapján.
Kihasználtság elemzése: Az adatok alapján megtudhatja, hogy mely erőforrásokat nem használja. Figyelje meg azokat az erőforrásokat, amelyek kihasználtsága az idő függvényében alacsony, vagy a foglalt és a lassú idő között nagy különbségek vannak a használatban.
Jobb méretezés: Ellenőrizze, hogy túl sok erőforrás van-e lefoglalva a nem használt funkciókhoz. Ha igen, állítsa be a méretet, hogy jobban megfeleljen a ténylegesen szükségesnek.
Automatikus skálázás: Automatikus skálázással módosíthatja a használt erőforrásokat a foglaltság alapján. Ügyeljen arra, hogy maximális méretezési korlátot állítson be, hogy elkerülje a költséges és szükségtelen hirtelen kiugró értékeket.
Miután elvégezte ezeket a módosításokat, tesztelje, hogy minden a kívánt módon működik-e. Folyamatosan monitorozza az erőforrás-kihasználtságot, és módosítsa az erőforrás-kiosztást, ahogy a számítási feladatok igényei idővel változnak. Rendszeresen tekintse át és optimalizálja az erőforrás-kihasználtságot a költséghatékonyság és a teljesítményoptimalizálás fenntartása érdekében.
Vészhelyreállítási erőforrások optimalizálása. A vészhelyreállítási környezetek optimalizálása a vészhelyreállításhoz lefoglalt erőforrások hatékony felhasználásának biztosításáról szól. Az alulhasználat gyakori forrása a meleg (aktív-passzív) vészhelyreállítási stratégia. Egy meleg vészhelyreállítási stratégiában az egyik környezet megkapja az összes terhelést, míg a másik környezet tétlen, amíg nincs vészhelyzet. A vészhelyreállítási környezet optimalizálásához fontolja meg, hogy a gyakori (aktív-aktív), a hideg (aktív-kikapcsolt) vagy az aktív újratelepítési megközelítés hogyan segíthet elkerülni a kihasználatlan erőforrásokat. Az alábbi három vészhelyreállítási módszer áttekintése:
Gyakori elérésű tervek: Az elsődleges és a másodlagos környezet egyaránt egyszerre szolgálja ki a forgalmat. A számítási feladat kiegyensúlyozza a terheléseket a környezetek között, és valós időben reagálhat a követelményekre. A terhelés két aktív környezet közötti elosztásával olcsóbb erőforrásokat használhat, csökkentheti az egypontos szűk keresztmetszeteket, és a kapacitásokat a lehető legteljesebb mértékben kihasználhatja. Ez alacsonyabb költségeket eredményezhet az erőforrás-kiesés vagy az üresjárat szempontjából. A gyakori megközelítés több befektetést igényelhet a szinkronizálásba és a két környezet közötti paritás fenntartásába.
Hideg tervek: A hideg vészhelyreállítási modell egy készenléti környezetet foglal magában, amely alvó állapotban marad, amíg egy katasztrófa nem váltja ki a feladatátvétel szükségességét. Mivel a készenléti környezet nem működik aktívan, a számítási, tárolási és hálózati műveletek költségei minimálisra csökkennek. A költségek a biztonsági másolatok, virtuálisgép-rendszerképek vagy sablonok tárolásával kapcsolatosak. A hideg modell feladatátvétele hosszabb időt vehet igénybe, mert az erőforrásokat be kell indítani, és előfordulhat, hogy vissza kell állítani az adatokat. Mielőtt véglegesíteni szeretné ezt a megközelítést, győződjön meg arról, hogy a helyreállítási idő megfelel a vállalat helyreállítási időkorlátjának (RTO).
Aktív újratelepítés: Ez a stratégia az infrastruktúrát használja kódként. Feladatátvételi esemény bekövetkezésekor üzembe helyezi a másodlagos környezetet előre definiált sablonok és szkriptek használatával. Ha nincs előre üzembehelyezett számítási erőforrás a vészhelyreállítási környezetben, megtakaríthatja az inaktív erőforrások fenntartásával járó költségeket. Feladatátvételi forgatókönyvben csak a tényleges üzembe helyezés során merülnek fel költségek. A hideg megközelítéshez hasonlóan ez a modell hosszabb helyreállítási időt is eredményezhet, különösen akkor, ha az infrastruktúra összetettsége magas. Tesztelje és mérje meg a helyreállítási időt, hogy megfeleljen a helyreállítási idő célkitűzésének.
Platformfunkciók optimalizálása
A platformfunkciók optimalizálása magában foglalja a platformfunkciók, például a teljesítményszintek és a konfigurációs beállítások eltávolítását vagy frissítését a költségek optimalizálása érdekében. Segít összehangolni a kiadásokat a számítási feladat követelményeivel, és elkerüli a szükségtelen funkciók szükségtelen költségeit. Íme néhány tipp a platformfunkciók költségeinek optimalizálásához:
Ismerje meg a megvásárolt dolgok képességeit: Az optimalizálás előtt egyértelmű leltárra van szüksége a felhőplatformokon elérhető szolgáltatásokról és azok funkcióiról. Ismerje meg a számítási feladatban lévő platformok és szolgáltatások funkcióit és funkcióit. Vegye figyelembe a kiválasztott szintet és az egyes szintek által kínált funkciókat. Ha például nincs szükség automatikus skálázásra vagy speciális hálózatkezelésre, elegendő lehet egy alacsonyabb szintű csomag.
A nem használt funkciók letiltása: A pénzbe kerülő platformfunkciók azonosítása és letiltása. Előfordulhat, hogy szükségtelen tárolási pillanatképekkel, nem használt lemezekkel, redundáns biztonsági funkciókkal vagy kihasználatlan hálózatkezelési képességekkel rendelkezik.
Használja a megfelelő verziókat: A szolgáltatás újabb verziói hasonló teljesítményt nyújthatnak ugyanahhoz az árhoz. Egy újabb hardverrel rendelkező virtuális gép például gyakran ugyanazt a teljesítményt nyújtja kevesebb pénzért.
Használja a megfelelő konfigurációkat: Előfordulhat, hogy a szükségesnél több rendelkezésre állásért vagy teljesítményért kell fizetnie. A rendelkezésre állás vagy a teljesítmény garantálása, hogy a számítási feladatnak nincs szüksége.
Szükségtelen automatizálás kiküszöbölése: Értékelje ki az automatizálási folyamatokat, és szüntesse meg a nem használt automatizálásokat, amelyek többletköltséget vonhatnak maga után.
Eszközredundancia megszüntetése: Megszabadulni a szükségtelen eszközöktől, vagy azoktól az eszközöktől, amelyek ugyanazt a funkciót biztosítják. Értékelje ki a potenciális redundanciát a szoftverfejlesztéshez, a kódíráshoz, a biztonsághoz és a monitorozáshoz használt eszközökben. Ha például a GitHub Actions használatával hozza létre a szoftverét, nem kell másik szoftvert készítő eszközt vásárolnia. Mielőtt megvásárolja a funkciókat vagy eszközöket, ellenőrizze, hogy van-e már olyan eszköz a számítási feladatban, amely képes elvégezni a feladatot. Kiküszöbölheti az eszközredundanciát, hogy elkerülje az elpazarolt pénzt, és a lehető legtöbbet hozhassa ki a meglévőkből.
Legyen metodikus az optimalizálási erőfeszítésekben
A nem optimális összetevők megakadályozása az összetevők nélkülözhetetlenségének és optimalizálásának proaktív biztosításáról szól a hozzáadás vagy módosítás előtt. A legjobb módja annak, hogy megszabaduljon a hulladéktól, ha először is elkerüli. Használjon olyan stratégiákat, amelyek megakadályozzák a szükségtelen kiadásokat azáltal, hogy a gyökérszintű hatékonysági problémákat kezelik, így biztosítják, hogy a számítási feladatok költséghatékonyan fussanak a kezdettől fogva. A hulladék megelőzéséhez vegye figyelembe az alábbi stratégiákat:
A megoldások módosítása előtt keresse meg a kiváltó okot: Mielőtt kijavítana egy problémát, győződjön meg arról, hogy valójában mi okozza azt. Ha például a webhely lassú, ne váltson azonnal új rendszerre. Először is, derítsd ki, miért lassú. Előfordulhat, hogy az igazi probléma valami más, például a hibás adatbázis-lekérdezések. Javítsa ki az igazi problémát, hogy időt és pénzt takarítson meg.
Metaadatok alkalmazása: Metaadatok alkalmazása az erőforrások rendszerezéséhez és nyomon követéséhez. Metaadatokkal kategorizálhatja és csoportosíthatja az erőforrásokat, így könnyebben nyomon követheti, törölheti és elkerülheti az árva erőforrásokat. Konzisztens metaadat-stratégia létrehozása az erőforrások között. Fontolja meg a tulajdonosok hozzáadását, a várható erőforrás-időtartamot (például
sunset-30d
), vagy más címkéket.Nem megfelelő módosítások dokumentálása: Dokumentálja az infrastruktúrában vagy a számítási feladat normál vezérlési folyamatán kívül végrehajtott összes módosítást a váratlan költségek csökkentése érdekében. Például növelheti az erőforrások skálázási (fel- vagy kimenő) kapacitását, hogy megfeleljen egy rövid távú igénynek, vagy egy probléma osztályozását, de elfelejti visszaskálázni. Készítsen listát a nem megfelelő módosításokról, és emlékeztetőként használva állítsa vissza a módosításokat, ha már nincs rájuk szükség.
Legyen egyszerű: Egyszerűsítse az infrastruktúrát, és minimalizálja a bonyolultságot a költségek csökkentése érdekében. Csak a követelményeknek megfelelő erőforrásokat és szolgáltatásokat használja.
Az Azure megkönnyítése
Az alkalmazásfunkciók optimalizálása: Az Azure Monitor és az Application Insights segítségével figyelheti az alkalmazás használatát, és azonosíthatja a használatban lévő vagy nem használt területeket. Az összegyűjtött megállapítások alapján megalapozott döntéseket hozhat a nem használt vagy kihasználatlan funkciók eltávolításáról vagy optimalizálásáról.
Számítási feladatok erőforrásainak és platformfunkcióinak optimalizálása: Az Azure Advisor költségjavaslatokkal segíti a nem használt erőforrások azonosítását és megszüntetését. Az Advisor segítségével elemezheti az erőforrás-használatot, és javaslatokat kaphat az erőforrások eltávolítására vagy leskálázására. Az Azure Advisor költségoptimalizálási munkafüzete központosított központként szolgál a leggyakrabban használt eszközök némelyikéhez, amelyek segíthetnek a kihasználtsági és hatékonysági célok elérésében. Számos javaslatot kínál, beleértve az Azure Advisor költségjavaslatait is. Emellett segít azonosítani az inaktív erőforrásokat, és kezelni a nem megfelelően felszabadított virtuális gépeket.
Az Azure Monitor támogatja a munkafüzeteket. Az Azure Monitor-munkafüzetekkel megkereshet vagy létrehozhat egy olyan munkafüzetet, amely árva erőforrásokat keres és jelent egy meghatározott hatókörben. Az Azure Automation használatával leálltathatja a virtuális gépeket inaktivitási időszakokban. Az erőforrás-leállítások az üresjárati erőforrások használatának minimalizálásával segítenek csökkenteni a költségeket.
Az Azure automatikus skálázási funkciójával előre meghatározott feltételek alapján automatikusan skálázhatja az alkalmazást, így nem kell túlméreteznie a kapacitást. Az automatikus skálázás segíthet az erőforrások hatékony és költséghatékony lefoglalásában.
Tervezési szempontból az Azure terheléselosztói eloszthatják a terheléseket a rendelkezésre állási zónák és régiók között. Ezek a terheléselosztók segíthetnek megszüntetni az inaktív erőforrásokat, például vészhelyreállítási megközelítésekben.
Kapcsolódó hivatkozások
- Javaslatok a folyamatos teljesítményoptimalizáláshoz
- Megbízhatósági célok meghatározására vonatkozó javaslatok
- Javaslatok magas rendelkezésre állású többrégiós tervezéshez
- Javaslatok a skálázás és particionálás optimalizálására
- Javaslatok a költségkorlátok beállításához
Költségoptimalizálási ellenőrzőlista
Tekintse meg a javaslatok teljes készletét.