Hoe u DevOps kunt werken zonder de ecologische voetafdruk te vergroten
- November 30, 2021
- 0
DevOps gaat over het continu compileren, produceren en implementeren van artefacten, maar er wordt weinig nagedacht over de impact van de praktijk op de ecologische voetafdruk van uw bedrijf.
Denk aan de cyclus: wanneer een codeur een wijziging aanbrengt, wordt deze ingediend bij een software-repository. Dat start een automatisch proces waarbij de wijziging door compilers wordt geleid en aan andere modules wordt gekoppeld en vervolgens wordt getest. Als het alle tests doorstaat, wordt de wijziging geïmplementeerd in productie. Dat kost veel resources.
In een traditionele codeeromgeving duurde het drie maanden tot een jaar voordat de wijzigingen werden doorgevoerd. In het DevOps-model zoekt een codeur de code op, corrigeert de fout en is een half uur later in productie. Sommige organisaties beweren elke vijf minuten wijzigingen in productie door te geven. Maar wat is de impact van die processen op de ecologische voetafdruk van uw organisatie?
Net als de rest van de bedrijfswereld moeten IT-organisaties nadenken over hoe ze hun algehele CO2-voetafdruk kunnen verkleinen. De overstap naar een SaaS-leveringsmodel is een voorbeeld van iets dat de voetafdruk van uw organisatie verkleint, terwijl het ook de kostenvoordelen van optimalisatie oplevert.
Maar u moet ook overwegen de reken-, opslag- en netwerkbronnen die nodig zijn om een release te produceren tot een minimum te beperken door een focus op efficiëntie te bevorderen en geen middelen te verspillen. Het goede nieuws dat u met een beetje planning alle voordelen van DevOps kunt behalen zonder uw ecologische voetafdruk te vergroten, en dat u iets heeft om over op te scheppen voor het bedrijf.
Dit is wat u moet doen om uw DevOps-teams op weg te helpen:
Verminder het aantal runs
Dit is het probleem met het doen van meer runs: een typische overgang van een klassieke code-build-testpraktijk met in totaal 100 coders, testers, planners, enz., naar een agile/DevOps CI/CD-automatiseringspipeline zal resulteren in een zevenvoudige toename gemiddeld in het verbruik van computerbronnen.
Waarom? Want anders dan in een traditionele codeeromgeving met één enkele hoofdbouw- en testomgeving, voert elke ontwikkelaar in een CI/CD-configuratie de pipeline twee keer per dag uit, en duurt één run doorgaans een uur. Dus als je een spelfout wilt corrigeren, moet je nog steeds een volledige compilatie uitvoeren om de wijziging door te voeren tot adoptie.
Gelukkig is er een eenvoudige manier om dit te omzeilen. Stel dat u een klein project heeft waar 50 mensen aan meewerken. Je kunt het instellen, wachten tot iedereen de nodige wijzigingen in de code aanbrengt en ‘s nachts op ‘publiceer dit’ in de pipeline drukken. Dat reduceert de gebruikelijke 200 runs tot één.
En eerlijk gezegd, dat is niet lang wachten. Het zet je aan het denken over hoe de DevOps-praktijk je ertoe aanzet constant de pipeline te laten draaien wanneer je als team updates aanbrengt, onmiddellijke feedback krijgt, verdere wijzigingen aanbrengt, enzovoort.
Toegegeven, als u de pipeline niet onmiddellijk uitvoert, vertraagt u het weten van eventuele fouten en krijgt u niet onmiddellijk feedback. En ja, de efficiëntie van programmeurs neemt toe als ze elke keer dat ze een kleine wijziging aanbrengen op de knop drukken. Maar het zou goed zijn om dat niet te doen en de wijzigingen alleen door te voeren als je behoorlijk wat werk te doen hebt.
Gelukkig zijn er veel dingen die u kunt doen om die impact te verminderen en ervoor te zorgen dat mensen zich bewust zijn van de kosten van wat ze doen. U moet trouwens weten dat uw energieverbruik toeneemt naarmate u veel van dit werk naar de public cloud verplaatst. U hoort misschien niet direct over de gevolgen van de CO2-voetafdruk, maar plotseling worden de kosten van het runnen van een server reëel.
Verminder uw energieverbruik in de openbare cloud
Hoewel het gebruik van een openbare cloud het probleem kan vergroten, kan het ook een deel van de oplossing zijn om uw ecologische voetafdruk te verkleinen. Wanneer u workloads naar de openbare cloud migreert, heeft u toegang tot onbeperkte computerbronnen en neemt uw servergebruik de neiging toe te groeien, waardoor uw energieverbruik en ecologische voetafdruk toenemen.
Omdat de cloud per verbruikte eenheid werkt en er nog steeds een rekening moet worden betaald, zou dat een wake-up call moeten zijn voor uw teams om te heroverwegen hoe vaak ze de pipeline gebruiken. DevOps-teams hebben een directe prikkel om het verbruik te verminderen, omdat het hun organisatie geld bespaart.
Optimaliseer uw pipeline
Het tweede dat u kunt doen, is optimaliseren wat u in uw pipeline doet. Het is gemakkelijk en daarom verleidelijk om de pipeline al het werk te laten doen, alles te combineren en alle tests uit te voeren die u hebt gedefinieerd. De meeste build-systemen zijn slim in het compileren van modules alleen voor dingen die zijn veranderd, maar je kunt deze technieken ook toepassen op het testgedeelte van de pipeline.
Slimme testsystemen hebben algoritmen die kunnen achterhalen wat er getest moet worden als je van module wisselt. Er kunnen honderden modules zijn die deel uitmaken van een project en er kunnen veel tests worden uitgevoerd, maar je hoeft eigenlijk alleen iets te testen waarin je een wijziging hebt aangebracht. Dus door meer intelligentie in de DevOps-pipeline te introduceren, kunt u geld besparen en het energieverbruik verminderen.
Als u enkele van deze principes toepast, ziet u mogelijk een reductie tot slechts twee keer de toename van computerbronnen, van wel zeven keer. Maar DevOps-teams hebben doorgaans een doorvoer die minstens twee keer zo groot is als die van een klassiek team, dus over het algemeen blijft uw verbruik per geproduceerde eenheid werk ongewijzigd, zelfs als de snelheid van uw organisatie is verbeterd.
Denk win-win
DevOps-praktijken kunnen uw ecologische voetafdruk vergroten en het klimaat negatief beïnvloeden, maar er is veel dat u kunt doen om dit te verminderen en uw CO2-voetafdruk onder controle te houden terwijl u toch een hogere productiviteit bereikt. Door deze principes toe te passen, krijgt uw DevOps-team meer flexibiliteit bij de implementatie. Overweeg dus om uw pipeline te optimaliseren en te automatiseren met het oog op energieverbruik.