Blog
Nachhaltiges Software-Engineering durch die Linse der Umwelt

Wussten Sie, dass nachhaltige Softwareentwicklung ein Thema ist, das wir häufig diskutieren und mit dem wir uns beschäftigen? Unsere Gespräche drehen sich jedoch überwiegend um die wirtschaftliche Dimension, wie z.B. die Optimierung der Kosten beim Cloud Computing, oder die technische Dimension, insbesondere wenn es um die Wartbarkeit des Codes geht. Aber wussten Sie, dass nachhaltige Softwareentwicklung fünf verschiedene Dimensionen umfasst?
[caption id="attachment_69713" align="alignnone" width="1024"]
Quelle: https://se.ewi.tudelft.nl/research-lines/sustainable-se/[/caption]
Die übrigen drei Dimensionen sind die individuelle, die soziale und die ökologische. In diesem Artikel werden wir uns auf die letzte Dimension konzentrieren und untersuchen, wie wir durch Software-Engineering eine grünere Umwelt fördern können, um den Weg für "GreenOps" (ja, noch ein "Ops"-Begriff!) zu ebnen. Und das Beste daran? Es ist gar nicht so beängstigend, wie es scheint!
Nachhaltiges Software-Engineering mit ökologischer Dimension?
Wenn wir uns mit nachhaltiger Softwareentwicklung im Umweltkontext befassen, untersuchen wir im Wesentlichen die Auswirkungen der Software auf die Umwelt. Diese Auswirkungen können erheblich sein. Wussten Sie zum Beispiel, dass betriebliche Software zu erheblichen 2-3% der weltweiten CO2-Emissionen beiträgt (techmonitor.ai/focus/tech-industry-carbon-emissions-progress)? Um es in die richtige Perspektive zu rücken: Dieser Anteil an den Emissionen entspricht dem der Luftfahrtindustrie (www.iea.org/energy-system/transport/aviation). Wenn wir uns also mit nachhaltigem Software-Engineering unter Berücksichtigung von Umweltaspekten befassen, geht es in erster Linie um die Reduzierung der CO2-Emissionen. Dies können wir zum Beispiel erreichen, indem wir die Hardware-Nutzung optimieren, um den Elektroschrott zu minimieren, oder indem wir die Energieeffizienz unserer Software verbessern. Dies sind die wichtigsten Bereiche, die wir in diesem Artikel untersuchen werden. Die gute Nachricht ist, dass wir nicht ganz bei Null anfangen müssen.
Die Green Software Foundation und das Well-Architected Framework von Microsoft
Die Green Software Foundation (GSF) ist eine gemeinnützige Organisation, die sich für die Verringerung der Umweltauswirkungen von Software einsetzt. Sie erfüllt diese Aufgabe, indem sie einen Rahmen für grünes Software-Engineering bereitstellt.
Dieser Rahmen beruht auf sechs Grundprinzipien:
- Kohlenstoff-Effizienz: Streben Sie danach, so wenig Kohlenstoff wie möglich auszustoßen.
- Energie-Effizienz: Bemühen Sie sich, so wenig Energie wie nötig zu verbrauchen.
- Kohlenstoff-Bewusstsein: Passen Sie den Betrieb an die Sauberkeit des Stroms an; tun Sie mehr, wenn er sauberer ist und weniger, wenn er schmutziger ist.
- Hardware-Effizienz: Minimieren Sie den in der Hardware-Nutzung enthaltenen Kohlenstoff.
- Messung: Verstehen Sie, dass Sie das, was Sie nicht messen können, auch nicht verbessern können.
- Klima-Engagement: Gewinnen Sie ein tiefes Verständnis für die genauen Mechanismen der Kohlenstoffreduzierung.
Darüber hinaus hat GSF sorgfältig Cloud-agnostische Muster dokumentiert, die mit jedem Prinzip übereinstimmen. Diese Prinzipien und Muster wurden in Praktiken integriert, die innerhalb der Azure-Cloud-Infrastruktur von Microsoft leicht angewendet werden können, indem sie dem Well-Architected Framework folgen. Dieses umfassende Framework umreißt Best Practices für die Entwicklung von Cloud-nativen Anwendungen und enthält einen ganzen Abschnitt, der sich mit nachhaltigen Arbeitslasten befasst. Im weiteren Verlauf dieses Artikels werden wir uns mit diesen Prinzipien, Mustern und Praktiken auf Azure beschäftigen. Lassen Sie uns ohne weitere Verzögerung mit der Erkundung des ersten Grundsatzes, eines dazugehörigen Musters und einer konkreten Implementierung auf der Azure-Plattform beginnen.
Kohlenstoff-Effizienz
Die CO2-Effizienz bezieht sich auf die Effizienz eines Prozesses, eines Produkts oder einer Organisation bei der Minimierung von CO2-Emissionen und der gleichzeitigen Erreichung ihrer Ziele. Dies ist ein grundlegendes Prinzip im Rahmen von Initiativen zur ökologischen Nachhaltigkeit und zur Bekämpfung des Klimawandels. Das zentrale Konzept dreht sich um die Minimierung des Kohlenstoff-Fußabdrucks, der mit jeder Arbeitseinheit verbunden ist, so weit wie möglich.
Muster: Daten Lebenszyklus Management
Ein effektives Muster, das Sie anstreben sollten, um CO2-Effizienz zu erreichen, ist die Verwaltung des Lebenszyklus von Daten. Das Datenlebenszyklusmanagement umfasst den umfassenden Prozess der Überwachung von Daten von ihrer Entstehung bis zu ihrer Löschung. Dazu gehört eine sorgfältige Prüfung der Art und Weise, wie die Daten gespeichert, verarbeitet und analysiert werden. Das Hauptziel des Datenlebenszyklusmanagements besteht darin, die effiziente und effektive Nutzung von Daten zu gewährleisten und gleichzeitig ihren ökologischen Fußabdruck zu minimieren, insbesondere im Rahmen dieses Artikels. Diese Betonung einer effizienten Datenverwaltung rührt von der Erkenntnis her, dass sowohl die Verarbeitung als auch die Speicherung von Daten Energie verbrauchen und somit zu den Kohlenstoffemissionen beitragen.
Praxis: Azure Speicher Lebenszyklus Management
Die Azure Storage-Lebenszyklusverwaltung bietet eine regelbasierte Richtlinie, mit der Sie Blob-Daten verwalten können, indem Sie sie in die entsprechenden Zugriffsebenen überführen oder Daten auslaufen lassen, wenn sie das Ende ihres Lebenszyklus erreichen. Mit dieser Lebenszyklus-Verwaltungsrichtlinie können Sie:
- Überführen Sie Blobs aus kühlen oder kalten oder archivierten Speicherebenen schnell in heißen Speicher, wenn auf sie zugegriffen wird, und optimieren Sie so die Leistung.
- Verschieben Sie aktuelle Versionen eines Blobs, frühere Versionen oder Blob-Snapshots in eine kühlere Speicherebene, wenn auf diese Objekte über einen bestimmten Zeitraum nicht zugegriffen wurde oder sie nicht verändert wurden, um die Kosten zu optimieren.
- Löschen Sie automatisch aktuelle Versionen eines Blobs, frühere Versionen oder Blob-Snapshots, wenn sie das Ende ihres jeweiligen Lebenszyklus erreicht haben.
- Legen Sie die oben genannten Regeln fest, die täglich auf der Ebene des Speicherkontos ausgeführt werden.
- Wenden Sie Regeln anhand von Kriterien wie Namenspräfixen oder Blob-Index-Tags selektiv auf Container oder eine Untergruppe von Blobs an.
Lebenszyklusmanagement-Richtlinien können automatisiert werden. Hier ist ein Beispiel dafür, wie Sie dies in Terraform erreichen können.
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.0"
}
}
}
provider "azurerm" {
features {}
}
resource "random_id" "id" {
byte_length = 8
}
resource "azurerm_resource_group" "sustainability-example" {
name = "rg-${random_id.id.hex}"
location = "West Europe"
}
resource "azurerm_storage_account" "sustainability-example" {
name = "sa${random_id.id.hex}"
resource_group_name = azurerm_resource_group.sustainability-example.name
location = azurerm_resource_group.sustainability-example.location
account_tier = "Standard"
account_replication_type = "LRS"
account_kind = "BlobStorage"
}
resource "azurerm_storage_container" "sustainability-example" {
name = "examplecontainer"
storage_account_name = azurerm_storage_account.sustainability-example.name
container_access_type = "private"
}
resource "azurerm_storage_management_policy" "sustainability-example" {
storage_account_id = azurerm_storage_account.sustainability-example.id
rule {
name = "MoveToCoolStorage"
enabled = true
filters {
prefix_match = [azurerm_storage_account.sustainability-example.name]
blob_types = ["blockBlob"]
}
actions {
base_blob {
tier_to_cool_after_days_since_modification_greater_than = 2
}
snapshot {
delete_after_days_since_creation_greater_than = 2
}
}
}
}
Dieses Beispiel enthält alle wichtigen Komponenten, um Ihr Projekt zu starten. Es beginnt mit der Erstellung einer Ressourcengruppe mit einer zufälligen Nummer, wobei die Terraform-Ressource BlobStorage eingerichtet. Innerhalb dieses Speicherkontos wird ein Container erstellt.
Das entscheidende Segment dieser Einrichtung liegt am Ende, wo wir die Terraform-Ressource azurerm_storage_management_policy nutzen, um eine Richtlinie für die Verwaltung des Lebenszyklus für das zuvor erstellte Speicherkonto zu definieren. Diese Richtlinie enthält eine Regel, die eine Aktion auslöst, mit der der Blob auf die "coole" Zugriffsebene übertragen wird, wenn er 2 Tage lang nicht verändert wird. Die Regel hat den treffenden Namen
Diese umfassende Konfiguration bildet die Grundlage für eine effiziente Datenverwaltung in Ihrer Azure-Umgebung.
Energie-Effizienz
Das Prinzip der Energieeffizienz beruht auf dem Konzept, dass wir unseren Energieverbrauch einschränken können, indem wir die minimale Menge an Energie einsetzen, die erforderlich ist, um gleichwertige oder bessere Ergebnisse zu erzielen. Folglich trägt dieser Ansatz dazu bei, unseren CO2-Fußabdruck zu verkleinern, da der Energieverbrauch ein zuverlässiger Indikator für die CO2-Emissionen ist.
Muster: Energieproportionales Rechnen
Energieproportionales Computing ist ein Muster, das darauf abzielt, den Energieverbrauch in Computersystemen zu reduzieren, indem sichergestellt wird, dass der Energieverbrauch des Systems proportional zur Arbeitslast ist.
Praxis: Azure Container Apps Jobs
Energieproportionales Computing ist möglich, indem Sie Azure Container Apps Jobs nutzen, mit denen Sie containerisierte Aufgaben für eine bestimmte Dauer ausführen können, bevor sie beendet werden. Diese Jobs können für verschiedene Aufgaben eingesetzt werden, z.B. Datenverarbeitung, maschinelles Lernen oder jedes Szenario, das eine Verarbeitung auf Abruf erfordert. Jede Job-Ausführung bearbeitet in der Regel eine einzelne Arbeitseinheit.
Die Ausführung von Aufträgen kann manuell gestartet werden, einem vordefinierten Zeitplan folgen oder als Reaktion auf bestimmte Ereignisse ausgelöst werden. Diese Aufträge umfassen verschiedene Aufgaben, wie z.B. Batch-Prozesse auf Abruf und geplante Aktivitäten. Wenn die Arbeitslast des Systems gering ist, sollte es nur wenig Energie verbrauchen, und wenn die Arbeitslast zunimmt, sollte der Energieverbrauch proportional ansteigen. Diese Skalierbarkeit des Energieverbrauchs, die sich an den Schwankungen der Arbeitslast orientiert, ist ein Beispiel für ein energieeffizientes System.
Kohlenstoff-Bewusstsein
Das Prinzip des Kohlenstoffbewusstseins dreht sich um das Konzept, dass wir unsere Kohlenstoffemissionen verringern und zur Bekämpfung des Klimawandels beitragen können, indem wir unseren Energieverbrauch mit der Verfügbarkeit sauberer Energiequellen in Einklang bringen. Im Wesentlichen bedeutet dies, dass wir in Zeiten, in denen erneuerbare Energiequellen wie Wind und Sonne den höchsten Stromertrag liefern, mehr Energie verbrauchen, während wir in Zeiten, in denen fossile Brennstoffe die Hauptenergiequelle sind, Energie einsparen.
Muster: Prozess, wenn die Kohlenstoffintensität niedrig ist
Die Kohlenstoffintensität ist ein Maß für die Menge an Kohlendioxid (CO2), die pro erzeugter Energieeinheit ausgestoßen wird. Dieses Muster sieht vor, dass Rechenlasten so geplant werden, dass sie zu Zeiten laufen, in denen die Kohlenstoffintensität des Energienetzes niedrig ist. Die Kohlenstoffintensität des Energienetzes variiert in Abhängigkeit von Faktoren wie Tageszeit, Wetterbedingungen und Energiebedarf.
Praxis: Verwenden Sie Carbon Aware SDK CLI in Ihrer Pipeline, um in Regionen mit geringer Kohlenstoffintensität zu verteilen
Das Carbon Aware SDK CLI ist ein wertvolles Tool, das Entwicklern dabei hilft, ihre Anwendungen in Regionen mit geringer Kohlenstoffintensität einzusetzen. Seine Funktionalität beruht auf der Analyse der Kohlenstoffintensität in verschiedenen Regionen und ermöglicht die Bereitstellung von Anwendungen in der Region mit der geringsten Kohlenstoffintensität. Dieser strategische Ansatz trägt wesentlich dazu bei, den mit der Anwendung verbundenen Kohlenstoff-Fußabdruck zu minimieren.
Es ist jedoch wichtig, sich darüber im Klaren zu sein, dass diese Lösung nicht für jeden Workload geeignet ist. Möglicherweise gibt es Unternehmensrichtlinien, die die Bereitstellung in bestimmten Regionen verbieten und damit die Anwendbarkeit dieser Lösung einschränken. Betrachten Sie zur Veranschaulichung ein Szenario, in dem Sie Template Specs bereitstellen und automatisierte Tests innerhalb Ihrer Azure-Pipeline durchführen. In solchen Fällen kann das Carbon Aware SDK eingesetzt werden, um sicherzustellen, dass die Testvorlagen in Regionen bereitgestellt werden, die sich durch eine geringe Kohlenstoffintensität auszeichnen, was den Zielen der Nachhaltigkeit entspricht.
Hardware-Effizienz
Das Prinzip der Hardware-Effizienz dreht sich um die Reduzierung des gebundenen Kohlenstoffs sowohl bei der Herstellung als auch bei der Nutzung von Hardware. Der Verbrauch von Servern, Netzwerkkabeln und anderen Komponenten im Zusammenhang mit Cloud-basierten Diensten trägt erheblich zum gebundenen Kohlenstoff bei. Nachhaltiges Software-Engineering in Cloud-Umgebungen kann eine entscheidende Rolle dabei spielen, Unternehmen bei der Verringerung ihres CO2-Fußabdrucks zu unterstützen, indem die Hardware-Nutzung so optimiert wird, dass der gebundene Kohlenstoff so weit wie möglich reduziert wird.
Muster: Verwenden Sie wenn möglich Spot-Instanzen
Spot-Instances sind eine Funktion, die von Cloud Computing-Anbietern wie Amazon Web Services (AWS) und Google Cloud Platform (GCP) angeboten wird und es Benutzern ermöglicht, überschüssige Rechenkapazität zu nutzen. In der Regel werden diese Instanzen aufgrund ihrer Verfügbarkeit und ihrer Preise, die je nach Nachfrage variieren können, als "Spot"-Instanzen bezeichnet. Das Ergebnis sind erhebliche Kosteneinsparungen, insbesondere bei Arbeitslasten, die keinen strengen Zeitvorgaben unterliegen und Unterbrechungen verkraften können. Dieser Ansatz verbessert auch die Auslastung der Hardwareressourcen und führt zu einer Verringerung des Kohlendioxidausstoßes, was sich gut mit den in diesem Artikel behandelten Themen deckt.
Praxis: Spot Containers auf Azure
Azure Container Instances (ACI) Spot Container bieten die Möglichkeit, unterbrechbare Arbeitslasten in einem containerisierten Format auszuführen und dabei ungenutzte Azure-Kapazität zu nutzen. Sie kombinieren die Einfachheit von ACI mit der Kosteneffizienz von Spot VMs, was besonders bemerkenswert ist, da sie im Vergleich zu regulären ACI-Containern kostengünstiger sind. Azure Container Instances Spot Container bieten Unterstützung für Linux- und Windows-Container und gewährleisten damit Flexibilität in verschiedenen Betriebssystemumgebungen. Es ist wichtig zu wissen, dass Sie im Gegensatz zu Spot VMs für diese Container keine Räumungsarten oder -richtlinien auswählen können. Im Falle einer Verdrängung werden die Containergruppen, die die Arbeitslasten beherbergen, automatisch neu gestartet, ohne dass ein manuelles Eingreifen erforderlich ist. Es ist jedoch wichtig zu wissen, dass Spot-Container nicht für alle Arten von Arbeitslasten geeignet sind, da sie jederzeit unterbrochen werden können. Daher ist es ratsam, Ihre Anwendungen so zu gestalten, dass sie mit Unterbrechungen gut umgehen können. Nehmen wir als Beispiel ein Szenario, in dem:
Sie haben einen Warteschlangenspeicher, der Nachrichten enthält, und eine Function App, die durch den Warteschlangenspeicher ausgelöst wird. Die Function App führt verschiedene Verarbeitungsaufgaben aus, wie z.B. das Speichern eines Blob in einem Blob Storage, bevor sie ihre Ausführung durch Bestätigen der Nachricht in der Warteschlange abschließt. Wenn der Spot-Container entfernt wird, bevor die Function App die Verarbeitung abschließen kann, wird die Nachricht nicht bestätigt und verbleibt in der Warteschlange. Dies veranschaulicht, wie unterbrechbare Workloads strukturiert werden können.
Messung
Dieser Grundsatz unterstreicht die Bedeutung der Erfassung und Analyse von Daten zum Energieverbrauch, zur Nutzung der Infrastruktur und zu Leistungskennzahlen. Auf diese Weise können Unternehmen Bereiche ermitteln, in denen sie sowohl ihre Software als auch ihre Infrastruktur optimieren können, um die Auswirkungen auf die Umwelt zu verringern.
Muster: Verfolgung von Kohlenstoffemissionen
Durch die aktive Verfolgung der Kohlenstoffemissionen können Softwareentwickler bestimmte Bereiche identifizieren, in denen die Emissionen verringert werden können, und dann Schritte unternehmen, um ihren ökologischen Fußabdruck zu verkleinern. Zu den wichtigsten Komponenten dieses Prozesses gehören die Festlegung einer Basislinie, die Messung von Emissionen, die Analyse der daraus resultierenden Daten und die Erstellung von Berichten, die über umsetzbare Maßnahmen informieren.
Praxis: Dashboard für Emissionsauswirkungen auf Azure
Das Emissions Impact Dashboard, ein von Microsoft Azure bereitgestelltes Tool, erleichtert die Überwachung und Analyse der mit der Nutzung von Azure-Diensten verbundenen Kohlenstoffemissionen. Dieses Dashboard bietet eine umfassende Reihe von Metriken und Visualisierungen, die dabei helfen, den mit der Nutzung der Dienste verbundenen CO2-Fußabdruck zu verstehen und Möglichkeiten zur Emissionsreduzierung zu identifizieren. Ein Ausschnitt aus dem Dashboard ist unten abgebildet:
In diesem Bereich des Dashboards können die Nutzer die Daten zu den Kohlenstoffemissionen ihrer gesamten Nutzung einsehen und erhalten so Einblicke in die Kohlenstoffintensität jedes Abonnements. Diese ersten Daten können als Ausgangspunkt für die Identifizierung von Bereichen dienen, in denen Optimierungsmaßnahmen ergriffen werden können.
Klima-Engagement
Im Kontext der nachhaltigen Entwicklung erfordert das Engagement für den Klimaschutz, dass sich Unternehmen proaktiv um die Verringerung ihres CO2-Fußabdrucks bemühen. Dieses Engagement kann die Festlegung von Zielen zur Verringerung des Kohlenstoffausstoßes, die Einführung energieeffizienter Technologien und Verfahren sowie Investitionen in erneuerbare Energiequellen umfassen. Im Zusammenhang mit Cloud Computing ist das Engagement für den Klimaschutz von großer Bedeutung für eine nachhaltige Softwareentwicklung. Durch ein umfassendes Verständnis der genauen Mechanismen, die hinter der Kohlenstoffreduzierung stehen, können Unternehmen effektiv die vorteilhaftesten Strategien zur Minimierung ihres Kohlenstoff-Fußabdrucks in Bezug auf die Nutzung von Cloud-Diensten bestimmen.
Muster: Policies definieren
Richtlinien sind eine Reihe von Regeln, die das Verhalten eines Systems bestimmen. Sie sind hilfreich bei der Durchsetzung von Sicherheits-, Compliance- und anderen Anforderungen. Im Bereich des nachhaltigen Software-Engineerings können Richtlinien genutzt werden, um das gewünschte Verhalten eines Systems in Bezug auf Kohlenstoffemissionen zu beschreiben.
Praxis: Azure Politik
Ein praktischer Ansatz besteht darin, eine Azure-Richtlinieninitiative mit dem Schwerpunkt "Nachhaltigkeit" einzurichten. Diese Initiative kann verschiedene Richtlinien umfassen, wie das folgende Beispiel mit Terraform zeigt:
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.0"
}
}
}
provider "azurerm" {
features {}
}
resource "azurerm_policy_definition" "energy_efficient_vm_sizes" {
name = "energy-efficient-vm-sizes"
policy_type = "Custom"
mode = "Indexed"
display_name = "Energy Efficient VM Sizes"
metadata = jsonencode({
version = "1.0.0"
category = "Sustainability"
})
policy_rule = <<POLICY_RULE
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
},
{
"not": {
"field": "Microsoft.Compute/virtualMachines/sku.name",
"in": ["Standard_B1ls", "Standard_B1s", "Standard_B1ms", "Standard_B2s", "Standard_B2ms"]
}
}
]
},
"then": {
"effect": "deny"
}
}
POLICY_RULE
}
resource "azurerm_policy_definition" "renewable_energy_regions" {
name = "renewable-energy-regions"
policy_type = "Custom"
mode = "Indexed"
display_name = "Renewable Energy Regions"
metadata = jsonencode({
version = "1.0.0"
category = "Sustainability"
})
policy_rule = <<POLICY_RULE
{
"if": {
"allOf": [
{
"field": "location",
"notIn": ["westeurope", "uksouth", "northeurope", "eastus", "westus2", "canadacentral"]
},
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachines"
}
]
},
"then": {
"effect": "deny"
}
}
POLICY_RULE
}
resource "azurerm_policy_set_definition" "sustainable_initiative" {
name = "sustainable-initiative"
policy_type = "Custom"
display_name = "Sustainable Initiative"
metadata = jsonencode({
version = "1.0.0"
category = "Sustainability"
})
policy_definition_reference {
policy_definition_id = azurerm_policy_definition.energy_efficient_vm_sizes.id
reference_id = "energy-efficient-vm-sizes"
}
policy_definition_reference {
policy_definition_id = azurerm_policy_definition.renewable_energy_regions.id
reference_id = "renewable-energy-regions"
}
}
Diese Initiative schafft eine Politik, die sicherstellt, dass VMs nur in Regionen mit einem höheren Anteil an erneuerbaren Energiequellen eingesetzt werden, wie z.B. in Nordeuropa. Weitere Informationen zu diesem Ansatz finden Sie auf der Website Electricity Maps, wo Sie die Daten zur Kohlenstoffintensität einsehen können. Die zweite Azure-Richtlinie beschränkt die Erstellung von VMs auf die B-Serie, die für ihre Burstable Performance und energieeffiziente CPU-Skalierung bekannt ist.
Fazit
Die Corporate Sustainability Reporting Directive (CSRD) ist eine neue EU-Richtlinie, die von der Europäischen Union verabschiedet wurde. Im Zusammenhang mit nachhaltigem Software-Engineering schreibt die CSRD vor, dass Unternehmen über ihre Bemühungen zur Verringerung ihrer Umweltauswirkungen und zur Förderung der Nachhaltigkeit berichten. Dazu gehören Initiativen im Zusammenhang mit der Nutzung erneuerbarer Energien, energieeffizienter Hard- und Software und Praktiken, die auf die Kreislaufwirtschaft ausgerichtet sind. Solche Berichterstattungsmaßnahmen zielen darauf ab, die Transparenz und Rechenschaftspflicht der Unternehmen zu verbessern und gleichzeitig die Einführung nachhaltigerer Praktiken zu fördern. Für börsennotierte Unternehmen ist die Einhaltung dieser Vorschriften ab 2024 verpflichtend, und es wird erwartet, dass andere Unternehmen später nachziehen werden. Meine Kollegen und ich freuen uns darauf, Unternehmen bei der Einführung einer nachhaltigen Softwareentwicklung zu unterstützen. Bleiben Sie dran für weitere Wissenssessions und Blogs zu diesem Thema und entdecken Sie die Möglichkeiten, sich schon morgen mit leicht zu erreichenden Nachhaltigkeitszielen zu befassen!
Verfasst von

Danny van der Kraan
As a Green Software practitioner, I'm dedicated to harnessing the power of code to benefit both our digital landscape and the environment. With a deep passion for software engineering, I specialize in crafting robust distributed systems, encompassing microservices, Domain-Driven Design (DDD), messaging, event sourcing, CQRS, and serverless technologies. Recently, I've delved into AI and Data, continually expanding my skill set. My mission is to assist my clients in adopting sustainable best practices on the Azure cloud, creating a win-win situation for businesses and the planet. Follow my journey and stay updated on my progress at dannyvanderkraan.com.
Unsere Ideen
Weitere Blogs
Contact



