Zitat von BerndFfm |
Optimieren muss man nur die Datenbankzugriffe. Der Rest war immer schnell.
|
Naja, da will ich nun mal eine Bubblesicht vorwerfen :-)
Du baust halt eher isolierte Applikationen, die gefühlt keinen direkten Nutzen daraus schließen.
Da bist Du (als Einzelperson, wie auch ich) einfach ein vergleichbar kleines Licht, weil die Summe zählt.
So ähnlich wie "wenn jeder seine Standby Geräte ausschalten würde, könnten wir ein Kraftwerk ausschalten".
Zitat von BerndFfm |
Ich bezweifele dass die Entwicklung in die richtige Richtung geht.
|
Ich sehe, dass es in genau die richtige Richtung geht!
Hintergrund
.NET war früher mal eine Plattform, die vor allem monolithische Zielsysteme fokussiert hat; typisch die dicke Desktop-Anwendung und die dicke Single Server Anwendung.
Diese Zeiten haben sich massiv geändert.
Spätestens als Xamarin in die .NET Welt kam hatte man oft Performance Probleme: weil das Framework selbst vergleichweise unperformant war, und man daher Dinge selbst implementiert hatte, oder damit leben musste.
Performance hat nämlich zwei primäre Aspekte: Geschwindigkeit und Effizienz.
Und Effizienz ist im mobilen Sektor alles, was zählt: ineffiziente Anwendungen auf mobilen Plattformen bekommen den iOS / Android Hammer geschwungen, weil sie Akku ziehen.
Die Apps werden abgeschossen, die Apps erhalten Benutzerwarnungen und wurden oft daraufhin deinstalliert. Der Entwickler war - an manchen Ecken - gefangen in einer ineffizienten Welt.
Spätestens mit Flutter und React Native gab es dann nicht nur Effizienz-Nachteile für Xamarin, sondern auch immense Nachteile in der Art und Weise, wie man programmieren kann.
Xamarin ist daher - aktuell - auf dem Abstellgleis und verliert - durch .NET 5/6 zwar etwas gebremst - weiter ihre sehr geringen Marktanteile.
Weiter dann in der Web-Welt: während .NET immer aufgeblähter wurde, haben andere Technologien - allen voran NodeJS - in seinem schlanken und effizienten Wesen .NET an vielen Ecken den Rang abgelaufen; und das alles mit einer Single-Thread Umgebung.
Der Usage-Index auf StackOverflow (Menge an gestellter Fragen zu einer Technologie) ist von 11 % in 2009 auf 1% in 2015 abgestürzt; prozentual so sehr ist nichts anderes eingestürzt: ein klares Zeichen, dass .NET mehr als nur auf dem absteigenden Ast war.
.NET musste was tun, oder es war tot.
Durch den allgemeinen Thread Mobile First / Cloud First kam dann eben auch ASP.NET Core und danach .NET Core raus, was nicht nur eine viel bessere Grundarchitektur hatte, sondern auch extrem viel in Effizienz gebuttert wurde. Es war konkurrenzfähig als Plattform.
Der Lohn für diese Arbeit, für die Effizienz ist, dass .NET Core / .NET 5 + heute zu den performantesten und beliebtesten Plattformen gehört, die es gibt. Bewiesen wird das regelmäßig auf TechEmpower und den Developer Journeys.
Und was für Sekundärfolgen hat das?
Man braucht viel weniger Ressourcen, um identisches auf die Beine zu stellen -> Nachhaltigkeit.
Das sind in der Größenordnung Einsparungen im Millionen-Dollar-Bereich.
Durch die viel effizientere Grundimplementierung ergeben sich also Dinge wie:
- Viele Projekte, in allen Welten, sind dadurch erst finanziell umsetzbar durch den geringeren Ressourcen-Verbrauch
- Viele Projekte, in allen Welten, sind dadurch erst technisch umsetzbar durch den geringeren Ressourcen-Verbrauch
- Compute Based Billings (zB Cloud) werden dadurch viel billiger umsetzbar, bei einer höheren Skalierbarkeit
- Jede Software wird nachhaltiger, weil weniger Ressourcen und damit Strom / Hardware benötigt werden
Nachhaltigkeit
Um beim Thema Nachhaltigkeit zu bleiben: das ist sowohl real wie auch politisch mittlerweile im Fokus.
Microsoft hat das schon vor paar Jahren erkannt und will ab 2030 CO2-negativ sein und bis 2050 jeglich erzeugtes CO2 entfernen, das sie verursacht haben.
Zitat von https://news.microsoft.com/de-de/co2-negativ/ |
Während die Welt CO2-Neutralität erreichen muss, sollten diejenigen von uns, die schneller vorangehen können, dies auch tun. Deshalb kündigen wir heute ein ehrgeiziges Ziel und einen neuen Plan an, um Microsofts CO2-Fußabdruck zu reduzieren und letztendlich ganz zu beseitigen. Bis 2030 wird Microsoft CO2-negativ sein, also mehr Kohlendioxid aus der Atmosphäre entfernen, als wir verursachen. Bis 2050 werden wir den gesamten Kohlenstoff aus der Atmosphäre entfernen, den Microsoft seit seiner Gründung im Jahr 1975 entweder direkt oder durch seinen Stromverbrauch emittiert hat.
|
Sie investieren extrem in nachhaltige Projekte, extrem in erneuerbare Energien. Viele ihrer Azure Datacenter werden ausschließlich durch erneuerbare Energien betrieben.
Azure-Nachhaltigkeit: nachhaltige Technologie | Microsoft Azure
Viele Firmen werden dem nachziehen, und natürlich wird das auch den IT Betrieb treffen.
Aus meinem Umfeld - Maschinenbau, Industrie, Landwirtschaft - begegnen mir Zahlen um die 10-15% CO2-Einsparung trotz Wachstum bis 2030 - und das selbst bei Energie-fressenden Maschinenbauern wie Laser-Hersteller.
Und es gibt schon länger Projekte, die die Effizienz von Software in Unternehmen messen; und das wird auf die Software Entwickler der Zukunft und damit auf die Technologieauswahl Auswirkungen haben - auf manche weniger, auf manche mehr.
Microsoft hat dafür bereits einen CO2 Calculator; durchaus auch mit der Story, dass eine Cloud i.d.R. eben CO2-effizienter ist als ein Inhouse Datacenter, das die Möglichkeiten gar nicht haben haben kann.
https://azure.microsoft.com/de-de/blog/microsoft-sustainability-calculator-helps-enterprises-analyze-the-carbon-emissions-of-their-it-infrastructure/
Ich hab bei mir in der Firma Kollegen (zugegeben, ich bin bei einem von Grundauf sehr Engerie-Sektor-lastigem Beratungshaus), die nichts anderes machen als Unternehmen bei ihrem CO2 Footprint und bei ihrer CO2 Effizienz zu unterstützen.
Das ist ein mega gefragtes Thema und bei vielen Kunden mittlerweile ein Prio-Kriterium bei der Lieferanten / Cloud / Plattformauswahl.
myCSharp
Ein Blick hinter die Kulissen von myCSharp: ich denke ich kann von mir behaupten, dass ich ein durchaus überschnittliches Wissen habe, was das Thema Architektur und Co bei .NET betrifft und entsprechend ist das auch in myCSharp.de geflossen. Was ich nicht unbedingt habe, einfach weil ich das auch nicht leisten kann, ist das Thema "Unter der Haube" Wissen, was das Thema Performance betrifft.
gfoidl hat das aber und hat hier Optimierungen in das Forum gebracht, dass wir mehr als 80% der Betriebskosten einsparen konnten; maßgeblich CPU und Datenbank-Kosten.
Ich habe oft seine Pull Requests nicht verstanden, da darin Dinge enthalten waren, die mir zuvor in 19 Jahren .NET noch nicht vor das Auge gekommen sind :-)
Aber er ist sehr akribisch, hat immer gut dokumentiert und die Leistung verglichen, um uns das verständlich zu machen, was der Code tut - und warum er effizienter ist.
Wir sind mittlerweile, maßgeblich durch die mega Leistung von gfoidl auf der kleinsten Instanz-Stufe, die wir für uns in Azure verwenden können. Jede Stufe drunter fehlen uns Features, die wir wollen.
Selbst wir kleine Webseite sparen jetzt Geld - jeden Monat. Jede weitere Optimierung an .NET wird also nicht in weitere Kosteneinsparungen fließen können - aber die Webseite wird schneller. Den Nutzen haben also die Besucher.
Unser Nutzen ist, dass wir Geld sparen. Und da ich die myCSharp-Rechnung begleiche bin ich gfoidl sehr dankbar und mehr als ein Ausgleichsbier schuldig :-)
Fazit
Ich bin sehr froh, was Microsoft da macht und für mich geht es auch allein wegen der Nachhaltigkeit in die richtige Richtung. Dass ich damit nicht alleine bin sieht man an der enormen Beliebtheit der neuen .NET Welt, die sie mittlerweile gewonnen hat und auch von Enterprise-Unternehmen wieder vermehrt aktiv verwendet werden.
.NET ist heute so effizient, dass selbst Themen wie AI und Machine Learning mit .NET performant umsetzbar sind - und .NET wieder wächst.
Wäre das nicht passiert hätte ich mir wohl mittlerweile eine andere Plattform suchen müssen.
------------------------------------------------------------------------------------------
Zitat von T-Virus |
Dann warte mal auf VS 2022.
Diese soll als 64 Bit erscheinen, was eines der Probleme bei mir ist.
VS läuft i.d.R. bei mir schon am 32 Bit Limit des Prozess Speichers, was dann zu längeren hängern führt.
|
... was halt auch immer auch ein Zeichen dafür sein kann, dass die Solution Organisation nicht so ist, wie sie sein sollte (bitte keine Diskussion nun), was auch Microsoft bei dieser Sache immer wieder betont hat.
Nur weil VS2022 nun 64 Bit unterstützt heisst das ja nicht, dass man nun seine Solution weiter aufblähen sollte.
Ich hab sowohl VS2022 Preview wie auch Rider aktiv; beide haben ihre Fanbase - beide ihre Vor- und Nachteile.
Dass VS im allgemeinen immer mächtiger wurde und leider an der ein oder anderen Stelle auch langsamer; nicht unwahr.
Viele Performance-Probleme machen aber auch Erweiterungen, zB. ReSharper.