Interview
21.04.2022, 08:46 Uhr
"Die Architektur wird durch den Microservice-Hype mehr und mehr vernachlässigt."
ASP.NET Core als zentrale Technologie für Enterprise-Anwendungen - kann das gut gehen? dotnetpro sprach mit Benjamin Abt, der auf der Developer Week '22 dazu einen Workshop hält.
(Quelle: Benjamin Abt)
Du bist MVP, Lead der Azure UserGroup Stuttgart, leitest das größte C#-Forum Deutschlands mycsharp.de und nebenbei entwickelst du noch ein bisschen Software für den Lebensunterhalt. Welche Hobbies passen denn da noch in die wenige Freizeit?
Benjamin Abt: Ach, so wenig Freizeit ist das eigentlich gar nicht. Dank meines wunderbaren Arbeitgebers medialesson bekomme ich viel zeitliche Unterstützung bei Umsetzung von Community-Tätigkeiten, sodass von der privaten Freizeit nicht ganz so viel Zeit abgezwackt werden muss, um Gutes für die Entwickler:innen- und Cloud-Gemeinschaft tun zu können.
Das Geheimnis ist sicherlich auch, dass man in den jeweiligen Community-Kreisen als Team unterwegs ist und sich die Aufgaben aufteilt, sich gegenseitig vertraut und unterstützt: Dann bekommt man das sehr gut unter einen Hut.
Daher kann ich meine Freizeit mit Familie, Freunden, Reisen und - mittlerweile wieder - mit Sport verbringen. Aktuell sind wir wieder viel unterwegs, vor allem noch innerhalb Europas; nachholen, was vermisst wurde.
Was würdest du denken, wenn Microsoft bekannt gäbe, dass sie .NET einstellen?
Benjamin Abt: Heute würde mich diese Nachricht wirklich schockieren. Um das Jahr 2015, als es den Umbruch mit .NET Core noch nicht (offiziell) gab, hätte mich das allerdings nicht gewundert und ich wäre vorbereitet gewesen.
Damals war das .NET-Ökosystem in keinem guten Zustand, die Zukunft war ungewiss - und auch ich hatte mich damals durchaus vorbereitet beziehungweise Überlegungen angestellt, ob es nicht besser sei, das primäre Ökosystem zu wechseln.
Heute ist .NET wieder ein wunderbares, leistungsstarkes und zukunftsfähiges Ökosystem, wenn nicht gar das leistungsfähigste Ökosystem für Backend- und Cloud-Plattformen.
Die Menschen rund um Immo Landwerth, David Fowler und Co - und natürlich die sehr aktive .NET Community - haben wirklich hervorragende Arbeit geleistet, solch einen immensen Umbruch zu meistern.
In deinem Workshop auf der Developer Week 22, die vom 4. bis 8. Juli in Nürnberg stattfindet, zeigst du, wie man mit ASP.NET Core in Enterprise-Anwendungen einsetzt. Worauf muss man bei so einer Anwendung vordringlich achten?
Benjamin Abt: Da ist am vordringlichsten die Architektur zu nennen. Architektur, sei es die Gesamt-, Cloud-, Software- oder auch die DevOps-Architektur ist das A und O jeder professionellen Anwendung - wird jedoch in meinen Augen getrieben durch den Microservice-Hype mehr und mehr vernachlässigt; vor allem im Business Umfeld.
Ich sehe quasi täglich Architekturen und Software, die mal kurz hin gezimmert wurden, aber keine zukunftsfähige Plattform bieten. Es werden wichtige Komponenten wie zum Beispiel DevOps, Security, Skalierung, Austauschbarkeit vernachlässigt - und viele Dinge verkompliziert.
Enterprise-Architekturen und -Anwendungen waren mal das Synonym für große, klobige, unwartbare Anwendungen; Microservices wurden als die kleinen, agilen Wunderansätze gesehen, die auf magische Art und Weise nachteillos die IT-Probleme der Erde lösen werden - was natürlich nicht der Fall ist.
Täglich sehen wir Microservice-artige Ansätze und vermeintliche Lösungen, die getrieben durch Halbwissen Risiken in allen Dimensionen erzeugen.
Aber nicht falsch verstehen: Ich bin kein Microservice-Gegner, sondern Unterstützer und Umsetzer solcher Prinzipien wie Microservices, wenn sie Sinn ergeben, die Vorteile zum Tragen kommen und die Nachteile ausgeglichen werden können.
Wie bei allen Arten von Frameworks, Pattern, Architekturen und Co. geht es im Kern darum, Dinge korrekt anzuwenden - und nachhaltige Softwareprodukte umsetzen, betreiben und anbieten zu können. Daher geht es in meinem Workshop vor allem um nachhaltige Ansätze, welche Pattern, Architekturen oder auch Bibliotheken sich lohnen - und welche Dinge man sich zweimal überlegen sollte.
Bedeutet die Kombination aus ASP.NET Core und Enterprise-Anwendung, dass ich auf jeden Fall auf eine Cloud-Lösung wie Microsoft Azure setzen sollte?
Benjamin Abt: Sicherlich macht die Cloud, egal ob Azure, AWS, GCP und andere viele Dinge einfacher - vor allem in Sachen globaler Verfügbarkeit, Performance, Skalierung und Sicherheit - aber nein: Sowohl für ASP.NET Core selbst wie auch für Enterprise-Architekturen gibt es keine Cloud-Pflicht. Auch heute noch sind viele Ideen auf On-Site-Lösungen angewiesen, gerade wenn es um immense Datenmengen oder Latenz zum Beispiel bei IoT-Lösungen geht.
Neben dem Workshop sprichst du in einer Session über die Entwicklung von SOAP bis hin zu gRPC. SOAP galt ja mal als die einzige Lösung für die Dienst-zu-Dienst-Kommunikation. Heute spielt SOAP kaum noch eine Rolle. Könntest du dir trotzdem noch ein Szenario vorstellen, wo dieses Protokoll zum Einsatz kommen sollte?
SOAP wurde im Endeffekt durch REST als Basis verdrängt, obwohl beide im eigentlichen Sinne unterschiedliche Zwecke erfüllen. SOAP ist gar im Gegensatz zu REST, das nur ein Architektur-Prinzip darstellt, ein echtes Protokoll, das viele Vorteile gegenüber REST hat - vor allem bei Data Contracts zwischen Applikationen. Daher war SOAP trotz der Gegenwehr in vielen Business Anwendungen noch vertreten - und ist es bis heute.
SOAP bleibt daher sicherlich ein Teil einer Evaluierung für APIs, die einen überdurchschnittlichen Bedarf an Komplexität und Sicherheit haben.
gRPC wird hier jedoch sicherlich ebenfalls ein Teil vom Kuchen bekommen.
Was kommt denn nach gRPC?
Benjamin Abt: Das ist eine gute Frage, denn gRPC ist extrem leistungsfähig, hat ein immens breites Anwendungsszenario und auch für die Zukunft vorgesorgt. Daher dominiert gRPC meiner Meinung nach auch völlig zurecht derzeit die API-Welt.
Man sieht einen gewissen Trend hin zu einer Spezialisierung der jeweiligen API-Umsetzungen: Zum Beispiel kommt gRPC vor allem im Backend zum Einsatz und GraphQL für Mobile App Gateways. Kaum eine Plattform setzt nur auf eine Variante, sondern je nach Zweck und Daten- beziehungsweise Schnittstellen-Kundschaft auf die jeweils beste Variante.
Es wird daher vermutlich eine gewisse Breite an Technologien in der Zukunft geben; REST, GraphQL und gRPC werden aber die nächsten Jahre dominieren. Ich gehe nicht davon aus, dass etwas kommen wird, das alles Bestehende ersetzt, sondern weiterentwickelt oder ergänzt.
Und zum Schluss noch drei Assoziationsfragen mit der Bitte um kurze Antworten. Was denkst du zu:
Microservices
Benjamin Abt: Ein wunderbares, hoch-effektives Prinzip - bei korrekter Umsetzung.
Sicherheit
Benjamin Abt: Ein leider durchaus komplexes Thema, dem jedoch trotzdem zu wenig Aufmerksamkeit und Budget gewidmet wird.
Internet of Things
Benjamin Abt: Die Basis der nächsten modernen Generation, begleitet von großen Herausforderungen für die gesamte Netz-Sicherheit.
Ben ist leidenschaftlicher Entwickler, Software- und Cloud-Lösungsarchitekt und konzentriert sich besonders auf .NET, Cloud und IoT. In seinem Berufsleben ist er Principal Software Engineer und arbeitet an verschiedenen hochskalierenden Plattformen auf Basis von Azure und .NET.
Er betreibt das größte deutschsprachige C#-Forum myCSharp.de, ist Gründer der Azure UserGroup Stuttgart, Mitorganisator des AzureSaturday, betreibt seinen Blog, beteiligt sich an Open-Source-Projekten, spricht auf verschiedenen Konferenzen und User Groups und hat auch noch ein bisschen Freizeit. Seit 2015 wurde er sieben Mal zum Microsoft MVP für .NET und Azure ernannt.
Developer Week ist die große Entwicklerkonferenz in Nürnberg. Fünf Tage lang können sich Softwareentwickler zu Themen wie Architektur, .NET, Web, Datenbanken oder Softskills fortbilden. 150 Sprecher, 30 Themenstränge, DevSessions und Workshops formen das Programm. Sie findet dieses Jahr vom 4. bis 8. Juli statt.