Delen via


Toepassingsontwerp van duurzame workloads in Azure

Bij het bouwen van nieuwe of het bijwerken van bestaande toepassingen is het van cruciaal belang om te overwegen hoe de oplossing van invloed is op het klimaat en of er manieren zijn om te verbeteren en te optimaliseren. Meer informatie over overwegingen en aanbevelingen voor het optimaliseren van uw code en toepassingen voor een duurzamer toepassingsontwerp.

Belangrijk

Dit artikel maakt deel uit van de reeks azure Well-Architected duurzame workloads . Als u niet bekend bent met deze reeks, raden we u aan te beginnen met wat is een duurzame workload?

Code-efficiëntie

De vraag naar toepassingen kan variëren en het is essentieel om manieren te overwegen om het gebruik te stabiliseren om over- of onderbenutting van resources te voorkomen, wat kan leiden tot onnodige energielekkages.

Verplaats monolieten naar een microservicearchitectuur evalueren

Monolithische toepassingen schalen meestal als een eenheid, waardoor er weinig ruimte overblijft om alleen de afzonderlijke onderdelen te schalen die deze mogelijk nodig hebben.

Green Software Foundation-uitlijning: Energie-efficiëntie, Hardware-efficiëntie

Aanbeveling:

  • Evalueer de richtlijnen voor de microservicearchitectuur .
  • Een microservicearchitectuur maakt het mogelijk om alleen de benodigde onderdelen tijdens piekbelasting te schalen; ervoor zorgen dat niet-actieve onderdelen omlaag of ingeschaald worden. Bovendien kan het de overhead en resources verminderen die nodig zijn voor het implementeren van monolithische toepassingen.
  • Houd rekening met deze afweging: terwijl u de vereiste rekenresources vermindert, kunt u de hoeveelheid verkeer op het netwerk verhogen en kan de complexiteit van de toepassing aanzienlijk toenemen.
  • Houd rekening met deze andere afweging: overstappen op microservices kan leiden tot extra implementatieoverhead met talloze overeenkomsten in implementatiepijplijnen. Overweeg zorgvuldig de vereiste implementatieresources voor monolithische versus microservicearchitecturen.
  • Lees ook meer over het containeriseren van monolithische toepassingen.

API-efficiëntie verbeteren

Veel moderne cloudtoepassingen zijn ontworpen om veel berichten asynchroon tussen services en onderdelen uit te voeren. Houd rekening met de indeling die wordt gebruikt voor het coderen van de nettoladinggegevens. Hoeveel informatie heeft uw toepassing nodig om te communiceren en is er ruimte om de drukte te verminderen?

Uitlijning van Green Software Foundation: Energie-efficiëntie

Aanbeveling:

Compatibiliteit van achterwaartse software garanderen om ervoor te zorgen dat deze werkt op verouderde hardware

Overweeg hoe toepassingen informatie weergeven. Moet de toepassing alles in de hoogste kwaliteit leveren, wat resulteert in een hogere bandbreedte en verwerking? Is er ruimte voor het verminderen van de kwaliteit van onderdelen in de gebruikersinterface om duurzaamheidsdoelstellingen beter te kunnen dienen?

Green Software Foundation-uitlijning: Hardware-efficiëntie

Aanbeveling:

  • Ondersteuning voor meer consumentenapparaten van eindgebruikers, zoals oudere browsers en besturingssystemen. Deze achterwaartse compatibiliteit verbetert de hardware-efficiëntie door bestaande hardware opnieuw te gebruiken in plaats van een hardware-upgrade te vereisen om de oplossing te laten werken.
  • Houd rekening met deze afweging: als de meest recente software-updates aanzienlijke prestatieverbeteringen hebben, is het gebruik van oudere softwareversies mogelijk niet efficiënter.

Maak gebruik van cloudeigen ontwerppatronen

Informatie over cloudeigen ontwerppatronen is handig voor het bouwen van toepassingen, ongeacht of ze worden gehost in Azure of elders worden uitgevoerd. Het optimaliseren van de prestaties en kosten van uw cloudtoepassing vermindert ook het resourcegebruik, vandaar de koolstofuitstoot.

Green Software Foundation-uitlijning: Energie-efficiëntie, Hardware-efficiëntie

Aanbeveling:

Overweeg het gebruik van circuitonderbrekerpatronen

Overweeg om te evalueren en te voorkomen dat toepassingen bewerkingen uitvoeren die waarschijnlijk mislukken. Herhaalde fouten kunnen leiden tot overhead en onnodige verwerking die u kunt voorkomen met de juiste ontwerppatronen.

Uitlijning van Green Software Foundation: Energie-efficiëntie

Aanbeveling:

Code optimaliseren voor efficiënt resourcegebruik

Toepassingen die worden geïmplementeerd met inefficiënte code, kunnen een inherente impact hebben op de duurzaamheid.

Green Software Foundation-uitlijning: Energie-efficiëntie, Hardware-efficiëntie

Aanbeveling:

  • Verminder de CPU-cycli en het aantal resources dat u nodig hebt voor uw toepassing.
  • Gebruik geoptimaliseerde en efficiënte algoritmen en ontwerppatronen.
  • Houd rekening met het principe Niet herhalen (DRY).

Optimaliseren voor asynchrone toegangspatronen

De vraag naar toepassingen kan variëren en het is essentieel om manieren te overwegen om het gebruik te stabiliseren om over- of onderbenutting van resources te voorkomen, wat kan leiden tot onnodige energielekkages.

Uitlijning van Green Software Foundation: Energie-efficiëntie

Aanbeveling:

  • Wachtrij- en bufferaanvragen die niet direct hoeven te worden verwerkt, worden vervolgens in batch verwerkt. Als u uw toepassingen op deze manier ontwerpt, wordt een stabiel gebruik bereikt en wordt het verbruik afgevlakt om piekige aanvragen te voorkomen.
  • Meer informatie over optimaliseren voor asynchrone toegangspatronen.

Rendering aan serverzijde versus clientzijde evalueren

Bepaal of aan de server- of clientzijde moet worden weergegeven bij het bouwen van toepassingen met een gebruikersinterface.

Green Software Foundation-uitlijning: Energie-efficiëntie, Hardware-efficiëntie

Aanbeveling:

  • Houd rekening met de volgende voordelen van rendering aan de serverzijde:

    • Wanneer de stroom van de server afkomstig is van minder vervuilende alternatieven dan de landinstelling van de client.
    • Wanneer de hardware op de server betere verwerkings-energieverhoudingen heeft.
    • Kan gecentraliseerde caching gebruiken om meerdere onnodige renders te verminderen.
    • Het verminderen van het aantal retouren van browser naar server kan met name belangrijk zijn wanneer het apparaat van de client een koppeling met verlies heeft.
    • Wanneer de clientapparaten ouder zijn en tragere CPU's hebben. Gebruikers hoeven hun apparaten niet te upgraden om een moderne browser te ondersteunen.
  • Houd rekening met de volgende voordelen van rendering aan de clientzijde:

    • Wanneer de apparaten van de eindgebruiker geschikter zijn, wordt de verantwoordelijkheid voor rendering naar de clients gepusht.
    • Het is efficiënter om alleen weer te geven wat nodig is en zoals gevraagd, in plaats van alles ten minste één keer weer te geven.
    • Er is geen server nodig, omdat u kunt vertrouwen op statische opslag.
    • Browsercaching wordt gebruikt op de clients.

Houd rekening met UX-ontwerp voor duurzaamheid

Overweeg hoe het UX-ontwerp van een workload van invloed is op duurzaamheid en bepaal welke opties er zijn voor het verbeteren van de energie-efficiëntie en het verminderen van onnodige netwerkbelasting, gegevensverwerking en rekenresources.

Uitlijning van Green Software Foundation: Energie-efficiëntie

Aanbeveling:

  • Overweeg het aantal onderdelen te verminderen dat op pagina's moet worden geladen en weergegeven.
  • Bepaal of de toepassing afbeeldingen en video's met een lagere resolutie kan weergeven.
    • Geef geen afbeeldingen op volledige grootte weer als miniaturen waar de browser het formaat wijzigt.
    • Als u afbeeldingen op volledige grootte gebruikt als miniaturen of het formaat van afbeeldingen wijzigt, worden er meer gegevens, onnodig netwerkverkeer en extra CPU-gebruik aan de clientzijde overgedragen als gevolg van het wijzigen van de grootte en pre-rendering van afbeeldingen.
  • Als u ervoor zorgt dat er geen ongebruikte pagina's zijn, wordt het UX-ontwerp geminimaliseerd.
  • Zoek- en vindbaarheid overwegen. Door het gemakkelijker te maken voor gebruikers om te vinden wat ze zoeken, kan de hoeveelheid opgeslagen en opgehaalde gegevens worden verlaagd.
  • Overweeg een lichtere gebruikersinterface te bieden, minder resources te gebruiken en met een lagere impact op duurzaamheid, en gebruikers een weloverwogen keuze te bieden.
  • Bespaar energie door uw apps en websites in de donkere modus aan te bieden, met donkere achtergronden.
  • Kies waar mogelijk voor het gebruik van systeemlettertypen om te voorkomen dat clients extra lettertypen moeten downloaden, wat meer netwerkbelasting veroorzaakt.

Verouderde code bijwerken

Overweeg verouderde code te upgraden of af te schaft als deze niet wordt uitgevoerd in de moderne cloudinfrastructuur of met de nieuwste updates.

Green Software Foundation-uitlijning: Hardware-efficiëntie

Aanbeveling:

  • Identificeer inefficiënte verouderde code die geschikt is voor modernisering.
  • Controleer of er opties zijn om over te schakelen naar serverloos of een van de geoptimaliseerde PaaS-opties.
  • Houd rekening met deze afweging: het bijwerken van oude code die uiteindelijk wordt afgeschaft, kan waardevolle tijd in beslag nemen.

Volgende stap

Bekijk de ontwerpoverwegingen voor het toepassingsplatform.