Interview 28.04.2022, 10:21 Uhr

"Microsoft hat gelernt, dass Serverless-Functions kaum Overhead erzeugen dürfen"

Warum Microsoft ASP.NET Core mit dem Minimal-API noch schlanker macht? Developer-Week-Sprecher Patrick Schnell hat dazu eine ganz einfache Erklärung.
(Quelle: Patrick Schnell)

Du hast dich vor nicht allzu langer Zeit selbständig gemacht. Was bietest du deinen Kunden an?

Patrick Schnell: Sagen wir es lieber so: Vor nicht zu allzu langer Zeit, habe ich den vollen Schritt gewagt, ein Startup zu gründen. Selbstständig war ich bereits nebenerwerblich einige Zeit lang und durfte hier bereits mit Entwicklung und Beratung meinen Kunden zur Seite stehen. Also war der Sprung ins Wasser nicht ganz so kalt. 
Mein Unternehmen spezialisiert sich auf die Digitale Transformation von Unternehmensprozessen durch individuelle Softwarelösungen sowie Beratung und Projektkonzeption. 
Hierbei möchte ich aber insbesondere den Fokus auf eingesetzte Technologien und innovative Werkzeuge richten, da diese über die langfristige Strategie sowie Erfolg oder Misserfolg einer Software entscheiden. Dadurch nimmt auch das Thema Softwarearchitektur, was für mich ein Herzensthema ist, eine prominente Rolle ein. Besonders da zeigt sich die Individualität der Lösungen und wie unterschiedlich man mit den notwendigen Anforderungen umgehen kann. 
Es geht also nicht um das Umsetzen einer Anwendung nach altbekanntem Schema, sondern um die langfristige Integration und Umsetzung der Softwarelösungen mit zielgerichteten Werkzeugen und einer breiten Technologie- und Architekturpalette. Gerade die Branchen können hier einen Vorteil herausholen, die langfristig agieren müssen, aber dennoch im stetigen Wandel sind wie zum Beispiel Industrie, Handel oder auch Healthcare.

Hast du den Schritt schon bereut?

Patrick Schnell: Keineswegs. Ich bin der festen Überzeugung, dass gerade durch die letzten beiden Jahre in der breiten Masse erkannt worden ist, dass Unternehmen sich wandeln müssen und Prozesse sowie unsere Arbeit grundlegend digitalisiert werden muss. 
Ich merke auch bei meinen Kunden, dass es sich nicht mehr nur um schnelle Lösungen handeln soll, sondern dieses Thema wirklich an Stellenwert gewonnen hat und man sich mit innovativen Ideen damit auch von der eigenen Konkurrenz abheben möchte. Diese Tatsache treibt mich und mein Unternehmen an. 

Eine deiner Sessions, die du auf der Developer Week hältst, beschäftigt sich mit hybriden Apps. Kannst du kurz umreißen, was das ist?

Patrick Schnell: Wenn wir uns heute die Landschaft der Endgeräte anschauen, mit welchen Nutzer entsprechende Systeme bedienen, sieht man schnell, dass der typische Desktop langsam aber sicher ausgedient hat. Durch die sich gerade verändernde Arbeitswelt zeigt sich, dass Endanwendungen den Fokus auf eine Weboberfläche legen. Der nächste Schritt ist dann das Tablet oder Smartphone. Wir sprechen hier also darüber, dass auch Geschäftsanwendungen von den stationären Applikationen zu den mobilen Anwendungen wandern. Das geht bis hin zur mobilen Überwachung von Maschinen in Industrieunternehmen - also etwas, was vor wenigen Jahren so gar nicht mobil oder gar notwendig erschien. Kurz gesagt: Das was bisher in groß geht, klappt auch mobil und klein.
Diese Anforderungen kann man mittels hybriden Apps auf Basis von Webtechnologien sehr gut erfüllen. Moderne Frameworks und Werkzeuge, wie Angular, Ionic, Capacitor und Electron bieten die Möglichkeit, mit möglichst einer Codebasis moderne und attraktive Anwendungen für Desktop, Web und mobile Geräte umzusetzen und übergreifend ein modernes Look-and-Feel zu liefern. 

Was werden die Zuhörer in deiner Session lernen?

Patrick Schnell: Die Zuhörer erhalten in erster Linie einen Überblick über die Vor- und natürlich auch Nachteile dieses Konzeptes. Ich zeige Ihnen, welche Werkzeuge heute eingesetzt werden können, wie diese sich ergänzen und welche Pattern und Architekturen ihnen helfen, mit einem solchen Projekt zu starten. Außerdem zeige ich ein paar bekannte Anwendungen, welche bereits hybride Apps sind, von denen man das erstmal gar nicht denken würde.

Deine andere Session heißt „Von .NET zu Node.js“. Aus Sicht von .NET ist das eigentlich ein No-Go-Thema. Wie rechtfertigst du dich?

Patrick Schnell: Wieso ich auf die grüne Seite (in Bezug auf das Node.js-Logo) der Macht gewechselt habe? Nach nun fast 15 Jahren Erfahrung im .NET-Bereich ist mir aufgefallen, dass wir häufiger als man glaubt mit der JavaScript- und Web-Welt zu tun haben und .NET nun mal auch keine Insel ist. Microsoft hat in den letzten Jahren maßgeblich TypeScript forciert und auch Googles Angular ist mittlerweile ein wichtiges Framework in der Entwicklung webbasierter Business-Anwendungen geworden. Bewusst oder unbewusst hat man es in der modernen Anwendungsentwicklung immer wieder mit Node.js zu tun. 
Durch den angesprochenen “Fokus auf Technologien” und eben dem immer wichtiger werdenden hybriden Ansatz war für mich also klar, dass diese Welten sich nicht unbedingt entgegenstehen, sondern in vielen Anwendungsfällen super ergänzen können. .NET lernt viel von den Konzepten aus Node.js und Node.js lernt mittlerweile viel von Architektur-Patterns, wie sie aus .NET entstammen. 

Mit ASP.NET Core und dem Minimal API will Microsoft nun Node.js etwas entgegenstellen. Wie schätzt du das ein?

Patrick Schnell: Da kann ich wunderbar auf meinen letzten Satz verweisen. Ich denke in diesem Fall hat Microsoft gelernt, dass es für flexible und gerade sogenannte Serverless-Functions wichtig ist, einen möglichst geringen Overhead zu produzieren, schließlich kostet dies in der Ausführung Zeit und damit Geld. Für diese Art an Anwendungen, welche der Ursprung von Node.js war und dort lange für unersetzlich galt, bietet sich die Minimal API an. 
Sprich: .NET wird für diese kleinteiligen Anwendungen besser, währenddessen man sich mit Node.js nun auch an die größeren Business-Anwendungen heranwagen kann. Irgendwie ein Geben und Nehmen beider Technologie-Ansätze, was ich sehr spannend finde.

In einem Artikel in der dotnetpro wirst du das Thema Event-getriebene Architektur beschreiben. Was versteht man darunter und warum ist das überhaupt ein Thema?

Patrick Schnell: Dies ist ein Thema, welches gerade für mittlere bis größere Anwendungen interessant ist, die eine gewisse Ausfallsicherheit benötigen.
Im Prinzip geht es darum, dass wir nicht nur in Funktionen, Libraries und einzelnen Microservices denken, welche direkt und hart miteinander kommunizieren, sondern dass eine zentrale Abstraktionsebene geschaffen wird, in welcher nur noch Events und Nachrichten untereinander ausgetauscht werden. Das spart Schnittstellen und direkte technische Abhängigkeiten. Dadurch kann so ein Gesamtsystem wesentlich flexibler skaliert und einzelne Komponenten einfacher ausgetauscht werden. 
Wer also langfristige Anwendungen baut und sich nicht Gedanken machen möchte, ob auch in fünf bis zehn Jahren das heute verwendete Framework das richtige ist und im schlechtesten Fall dann daran gebunden ist, kann mit dieser Architektur ein flexibles Gesamtsystem schaffen. Das zielt aus meiner Sicht genau in die Richtung der langfristigen Digitalisierungsstrategien, die gerade jetzt so bedeutend sind.

Da scheint also viel Bewegung drin zu sein. Meinst Du, dass Entwickler immer mehr Technologien und Architekturen beherrschen müssen? Wird das nicht irgendwann zu viel?

Patrick Schnell: Ich denke, dass es vielmehr um den richtigen Einsatz der Frameworks und Entwicklungs-Pattern geht. Dass jeder Einzelne dazu aber alles beherrschen muss, ist vielleicht am Ziel vorbei. Eine gewisse Grundkenntnis jedoch, was für welche Konzepte eingesetzt werden kann, hilft natürlich. Es ist das typische Problem, wenn man als Werkzeug nur einen Hammer hat: Jedes Problem erscheint einem dann wie ein Nagel.
Sieht man sich allein den .NET-Bereich an - dort gibt es Expertinnen und Experten für WPF/UI und andere sind in der Backend- und Datenbank-Welt zuhause. Nicht jede Person wird alles beherrschen können und es wird einfach wichtiger sein zur richtigen Zeit, an die richtigen Leute heranzutreten. Nicht jeder Entwickler muss ein Softwarearchitekt sein und nicht jeder Softwarearchitekt muss eine Datenbank bis auf die letzte Millisekunde optimieren können. Hier ist das Zusammenspiel der Stärken wichtig.
Dies bringt auch entsprechend andere Erfahrungen und Sichtweisen in das eigene Team, was naturgemäß ja nur zu einem besseren Projekt oder Produkt führen kann.
Quelle: Patrick Schnell
 Patrick Schnell
entwickelt seit knapp 15 Jahren Software in unterschiedlichsten Branchen. Seine Expertise ist die Software-Architektur, die Planung und Umsetzung von Cloud-Anwendungen, sowie mobilen Apps. Hierbei bedient er sich unterschiedlichsten Technologien wie z.B. .NET, Angular, TypeScript und Node.js. Zudem ist er als Trainer für Developer Media und als Sprecher auf Konferenzen aktiv.
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.


Das könnte Sie auch interessieren