Es gibt mal wieder Neuigkeiten. Ausder.net Welt doch dieses Mal
stellt Microsoft kein Produkt ein, sondern hat eine neue
Plattform für die Entwicklung von Cloud Native
applikationenvorgestellt.net Aspire.
In dieser Folge sprechen wir darüber, was es damit auf sich
hat und wer sich das genauer anschauen sollte.
Was? Und damit herzlich Willkommen zu
einer neuen Folge vom To do Cars, dem Developer Podcast mit
Malte Lantin und mit mir Robin Manuel Thiel.
Hallo Robin, Manuel und Hallo zusammen, wie war deine Woche?
Ehrlich gesagt gut und kurz. Ich hatte Geburtstagswoche.
Ich hatte letzte Woche Geburtstag und ganz traditionell
bei mir ist das so, dass ich mir immer an meinem Geburtstag einen
Tag Urlaub nehme, an dem Tag vor meinem Geburtstag einen Tag
Urlaub nehme und an dem Tag nach meinem Geburtstag, das heißt ich
hab immer ganz traditionell so ein bisschen Zeit.
Nicht also ganz explizit, nicht zu arbeiten, mich um meinen
eigenen Kram, meine Projekte zu kümmern, bisschen zu entspannen,
was mit Freunden zu machen, Sport zu machen, was auch immer
ich halt gerade irgendwie sonst das ganze Jahr über manchmal
nicht schaffe. Also ich hoffe, ich schaffe es
mehr als dieses einmal im Jahr Sport zu machen, aber ich hab
zum Beispiel irgendwie letzte Woche ganz viel an meiner
Hausautomatisierung rumgefummelt, das hat mir schon
lange in den Fingern gejuckt, ist aber irgendwie nie so
richtig dazu gekommen und jetzt unendlich jetzt gehen endlich
meine Heizthermostate automatisch aus, sobald man ein
Fenster öffnet in dem Raum, das ist gerade bei den Temperaturen
gar nicht schlecht, denn hier München liegt unter einer dicken
Schneedecke. Ist doch gut das.
Ja, und trotzdem möchte ich aber irgendwie nicht aus dem Fenster
raus heizen und meine Heizung hier ballert ganz schön auf.
Sobald ein Fenster auf ist deswegen.
Stell dir vor, ich müsste immer wieso Neandertaler aufstehen und
die ausmachen. Das geht natürlich nicht und
deswegen hab ich das jetzt automatisiert, bin also bestens
gewappnet für den Winter. Wie war es denn bei dir?
Bei mir war es relativ ereignislos, aber ich möcht
nicht über mich sprechen, sondern ich hab noch ne Frage an
dich und zwar hab ich gesehen eines deiner Projekte, wir
sprechen ja immer wieder mal wieder über Side Projekte.
Eines deiner Projekte ist gelauncht, letzte Woche glaub
ich oder vorletzte Woche finde ich extrem spannend ich mir das
mal angeschaut willst mal 2 Sätze dazu sagen.
Ja, kann ich gerne machen. Ich wollte eh im neuen Jahr
vielleicht auch mal n bisschen genauer und tiefer drüber
sprechen, was wir da gebaut haben, aber im Prinzip haben wir
Space Blocks gelauncht, das ist ne SARS Plattform für Developer
für Permission Management, das heißt?
Wär eine eine App, baut meistens wahrscheinlich irgendwie ne SARS
App und die Anforderung hat da Berechtigungen und Rollen zu
managen. Also wer darauf was zugreifen.
Oft können sich rollen oder Rechte ja auch vererben, wenn
man irgendwie sagt Ich hab Dateien in einem Ordner und die
liegen wieder in einem anderen Ordner und ich hab jetzt
jemanden auf den Überordner Zugriff gegeben, soll der
automatisch auch auf andere Dateien unten drunter und so
diesen ganzen Kram da haben wir mit mit ein paar Kumpels eine
Plattform für gebaut weil wir das auch mal für ein privates
Projekt brauchten wo man das quasi an uns und ein paar
einfache API Calls auslagern kann.
Danke, dass du drauf angesprochen hast und nicht ein
bisschen Promo machen kann über das ganze Problem.
Dieses ganze Berechtigungsproblem, was wir da
versuchen zu lösen, können wir aber gerne noch mal in einer
eigenen Folge drüber sprechen. Kann natürlich gerne mal bei
Space Blogs Punkt Cloud vorbeischauen.
Cool, lass uns das im neuen Jahr auf jeden Fall mal machen.
Mach mal ne Folge über das Thema Permission Management und
schauen dann auch auf eure Lösung, aber zu dieser Folge und
erstmal der übliche Teil vielen Dank an euch alle, insbesondere
an die, die uns einen Kaffee ausgegeben haben, wer sind es
diese Woche? Dann haben wir von Martin haben
wir 3 Kaffee bekommen, von Stefan haben wir 4 Kaffee
bekommen, von Olaf haben wir 2 Kaffee bekommen, also jede Menge
heißer Kaffee. Ich hoffe es ist für euch auch
OK, wenn wir das in Glühwein umwandeln.
Ich werde mich schon auf den Weihnachtsmarkt und ich glaub
bei den Temperaturen kann man sich da auch einen heißen
Glühwein Samen. Das passt ist so ähnlich,
Hauptsache warmes Getränk, ne. Ansonsten.
Nach der letzten Folge hatten wir auch wieder Feedback
bekommen. Ihr schreibt uns ja dankzähler
Weise auch immer auf Spotify Feedback zu den Folgen, da kam
eine Folge passend zur github Universe zum Thema ist jetzt der
richtige Zeitpunkt um von Asia Depos auf github umzusteigen?
Ich glaube das ist aber ein längeres Thema, Ich glaube da
sprechen wir am besten im neuen Jahr mal in einer separaten
Folge zu. Genau könnt ihr uns auch mal
wissen lassen, ob euch das interessiert.
Diese verschiedenen. Projektmanagement Cicd Code,
kollaborationstools mal miteinander zu vergleichen.
Ich habe generell ist die kurze Antwort auf diese Frage für mich
so ein bisschen. Also ich habe eh alle meine
Projekte aufgetopft für mich macht das in den meisten Fällen
ergibt das Sinn, weil ich es ein bisschen schlanker und
leichtgewichtiger finde, aber auch Osha der Fops hat große
Vorteile, vor allem wenn es um die um die Planung von Projekten
geht, da finde ich sind die noch ein bisschen stärker bei diesem
Azure Boards, dass ich meine meine Work Items und Scrum items
ein bisschen besser verwalten kann, da finde ich.
Und du hattest ja auch irgendwie gesagt, dass es, dass man, glaub
ich bei Asia default sich aussuchen kann, wo die Daten
gespeichert werden. Das kann natürlich auch immer n
Grund sein. Genau, lass uns da noch mal n
Detail reinschauen, weil ich glaub das ist ne Frage die sich
viele Leute stellen, weil ja beides quasi aus dem gleichen
Haus kommt, aus dem Hause Microsoft und von daher ist es
ja durchaus ne sehr relevante Frage.
Dann gibt es noch n letztes Thema, bevor wir hier in Dotnet
Aspire einsteigen und zwar wer nicht genug von unseren beiden
Nasengesichtern oder Stimmen bekommt.
Und wer wer sagt, Hey, der Todo Cast, der erscheint ja alle 2
Wochen. Was mach ich denn in der jeweils
anderen Woche? Für den haben wir zumindest
nächste Woche ne Antwort. Und zwar sind wir gemeinsam in
einem Livestream von The Native Web, da haben wir, die haben wir
auch schon ein, zweimal referenziert hier im Podcast.
Das ist vor allem so die Firma um Golo Roden rum, der auch auf
youtube sehr viele Videos zum für Developer macht und die
machen immer regelmäßig einen Livestream und da findet der
nächste nächste Woche Montag, also am 11 dezember statt,
irgendwann abends, ich glaub 18 19:00 Uhr, wenn wir da einen
Link zu finden den wir teilen können, packen wir den auch
schon mal in die Beschreibung vom Podcast.
Und da werden wir so ein bisschen drüber reden, wie das
Jahr für uns war. Das ist ein bisschen
zusammenfassend, einen Ausblick aufs Geben, und ich glaube, das
ist eine total coole Runde, eine total tolle Kombination und da,
wer da Lust drauf hat und wer da Spaß drauf hat, da
vorbeizuschauen, freuen wir uns natürlich über jeden to do Cast
Fan, der da vorbeischaut oder die da mal einen Kommentar oder
ein Hallo hinterlässt. Da würden.
Wir uns sehr freuen. Absolut so.
Dann lass uns loslegen. Net Aspire.
Ich hab's gerade in der Intro schon gesagt, neues Announcement
von Microsoft. Kam Blogpost ungefähr
gleichzeitig jetzt zur großen Technologiekonferenz, die
Microsoft vor auch 2 Wochen abgehalten hat und da wurde das
neue Framework beziehungsweise die Ergänzung von dot net um net
Aspire vorgestellt und ich habe mir das ganze Thema mal in den
Blogspots durchgelesen. Das ist ein sehr langer
Blogpost, weil anscheinend da die Programm Manager sich
überlegt haben, wir machen nicht einen Blog posten was
anzukündigen und dann noch einen Blogpost um tiefer ins Detail zu
gehen, sondern wir haben alles in einen Blogpost gepackt,
dementsprechend ist er sehr lang, wir verlinken euch den
auch und ich habe nachdem ich ihn einmal komplett gelesen
hatte hatte ich den Anfang schon wieder vergessen habe gedacht
ich lasse mir das mal durch Chpt zusammenfassen, habe mir eine
kleine Zusammenfassung erstellen lassen.
Fand ich jetzt persönlich qualitativ nicht so toll und von
daher habe ich gedacht, ich lasse mir das noch mal von einem
Cloud native Profi erklären und habe gedacht, wir beiden
sprechen mal im Podcast über net Aspire.
Ich bin ja auch ein alter net developer und daher finde ich
das ganz spannend. Ich bin aber nicht so tief in
dem Ganzen. Cloud native Thema drin wie du
und ich glaub da kannst du mir ein bisschen was zu erzählen.
Warum brauchen wir das eigentlich?
Weil ich kann doch jetzt schon Cloud native Applikationen mit
dot net Core bauen und ganz viele machen das siebauen.net
Core Applikationen containerisieren das packen das
auf Kubernetes haben da Containerorchestrierungen
dahinter liegen die Kommunikation zwischen den
Services läuft warum brauche ich jetzt dort net das Bayern was
hat sich Microsoft dabei gedacht?
Also erstmal ehrlich das natürlich sehr auf einmal sagt,
das hat hier einen qualitativen Anspruch dieser Podcast.
Mit mir versuchen lassen willst du mit den Ergebnissen von
Strategy nicht zufrieden, das kann ich trotzdem mal.
Qualität ab, das ehrt uns hier natürlich.
Zum zweiten muss ich dich bitten aufhören zu sagen, dass das Ding
dotnet Core heißt, das heißt nämlich gar nicht mehr.
Ich weiß, also ich. Dinge bleiben halt hängen.
Man wird die Sache nicht. Los.
Das hieß ja mal Dotnet. Dann haben Sie sich also, das
hieße mal Donald Framework. Version net 4.78 irgendwie sowas
8. 448 glaub ich 2022 war das. Ja, und dann hat man immer
gesagt, wir wollen das, würde ich es.
Wir schreiben das alles neu, wir machen das Cross Plattform, Wir
nennen das jetzt.net Core und dann haben gab es dann
irgendwie, also die wirklich stabile Version war dann
irgendwann.net Core 3, die gab es ne relativ lange und da hat
man sich gedacht okay wenn das aber 31 heißt oder sowas, dann
verwechseln das die Leute mit dem Dotnet Framework 31 und
deswegen nennen wir das hier net Core, dann seid glaubich.net 5
heißt das wieder alles dotnet 5 und dieses Core Ding fällt weg,
allerdings weiß jeder was was was man meint wenn man sagt
Dotnet Core, damit man eben die neue, das neue NET, die Cross
Plattform Variante von net. Heißt aber eigentlich nicht mehr
Net Core, heißt aber, man findet in der Hälfte der Blogposts noch
den Namen Dotnet Core, in der anderen Hälfte der Blockpost den
Namen Dotnet muss man trotzdem gucken, ob jetzt die neue oder
alte Version gemeint worden ist. Ja, ich find das persönlich
verwirrend, wenn du sagst, wenn du sagst, ich entwickle mit dot
net, weil ich hab noch ganz viele kenn ganz viele
Unternehmen die entwickeln mit net, aber die entwickeln
tatsächlich noch alte Legislaturperioden, net
Framework, net Framework Applikationen weiter, weil die
halt einfach existieren und wenn du dann einfach sagst ich
entwickle mit net ist halt die Frage, wo bist du denn
eigentlich unterwegs? Ich meine.net als Plattform gibt
es seit. Über 20 Jahren ne und wurde von
Anfang an irgendwie mit der Idee ner Cross Plattform Technologie
entwickelt. Hat aber größtenteils auf
Windows Erfolg gehabt und erst mit dot Net Core ist das ganze
Plattform Thema erst mal wirklich gelandet und jetzt
mittlerweile sind wir bei net 8 glaube ich und da gibt es halt
immer mehr Ergänzungen und Erweiterungen und jetzt eine
Cloud native Ergänzung mit net Aspire.
Genau. Warum hast du das denn nicht von
von Bing zusammenfassen lassen? Das ist doch irgendwie
Microsoft, na ja, das hättet ihr doch wahrscheinlich bessere
Ergebnisse geben müssen als Check GPT.
Ja, ich probiere im Moment ein bisschen rum mit den ganzen KI
Themen und ich hab mir halt so ne Chip GPT pro Subscription
geholt und jetzt variiert ich immer ein bisschen, je nach je
nach use case mal chat gpt, mal bing Chat wobei bing chat heißt
bald copilead hab ich mir sagen lassen wer die.
Natürlich, die haben unser. Podcast verfolgt hat die Jungs.
Am Recht, das heißt eh alles Copalle bei uns.
Ach so, der feine Herr hat ne pro Subscription bei bei Open
Air. Ich glaub das ich glaub das kann
sich aber lohnen. Ja, das lohnt sich schon, weil
da hast du zum einen halt direkte Integration in Services
wie zum Beispiel Internet Lookup oder Bildgenerierung und du hast
halt Zugriff auf GPS 4. Also es sind schon so ein paar
Dinge drin, die wirklich Mehrwert stiften.
Warum ich zeigen, wenn es einem gut geht?
Vielen Dank für den Kaffee an dieser Stelle.
Genau also zum thema.net Aspire ist zum Glück jetzt nicht wieder
n eigenes Framework oder irgendwie sowas, sondern das ist
wie du halt eben schon gesagt hast, Teil von Dotnet 8 und es
widmet sich eigentlich einem Problem, was man vor allem hat,
wenn man ja Cloud Native entwickelt, was auch immer das
genau heißt, oder im Prinzip, wenn man also eigentlich heißt
das ja, dass man Microservices schreibt oder einfach viele
Komponenten seiner Anwendung hat, die dann irgendwie in einem
gewissen Zusammenspiel funktionieren müssen und da gibt
es eben Herausforderungen, wenn man das programmiert, vor allem
wenn man das einfach mal lokal starten will.
Weil ich hab vielleicht nicht nur meine mein Projekte, in dem
ich gerade arbeite, sondern auch noch 23 andere Microservices
irgendwo. Dann hab ich vielleicht noch ne
noch ne externe Third Party API, dann hab ich vielleicht noch
noch ne, irgendwo ne Datenbank die ich anspreche, dann hab ich
noch n noch n noch n Cash den ich irgendwo hinstelle.
Und noch irgendein Docker Container, den ich mir
reingezogen hab, weil ich keine Ahnung, wie du eben gesagt hast,
vielleicht das ganze Thema permissions oder sowas
auslagern. Da hab ich mir den Space Blogs
Stocker Container noch mit noch mit reingezogen.
Auf jeden Fall hat meine Anwendung natürlich irgendwie so
verschiedene Komponenten. Und in der Vergangenheit war es
halt dann immer relativ herausfordernd, vor allem für
Developer, die jetzt irgendwie neu zu so einem Projekt
hinzukommen, den ganzen Klumpheit lokal mal irgendwie
ans Laufen zu kicken. Und das ist zum einen deswegen
herausfordern, weil ich natürlich viele Dinge einzeln
starten muss. Kleine dotnet Welt, Weil alles
CP ist, kann ich das auch irgendwie alles gemeinsam
starten, aber dann muss ich gucken, dass ich vielleicht
vorher diesen Docker Container hier vorne starte, wo mein
Radisscash drin läuft, den ich normalerweise in einem Cloud
Deployment vielleicht woanders ausgelagert hätte.
Da muss ich gucken, noch diese ganzen Microservices sich
gegenseitig finden. Das heißt, ich muss schauen,
unter welcher URL laufen die denn.
Also wenn ne wenn ich es lokal starte oder üblicherweise
localhost und dann irgendeinen Port.
Die muss ich dann natürlich alle irgendwie einmal verdrahten.
Idealerweise laufen die natürlich auf bei jedem
Developer auf dem Rechner auf dem gleichen Port, aber
vielleicht ist ja der eine Port schon blockiert und dann nimmt
sich das Dotnet Framework automatisch mit einem anderen
Port und dann ist das wieder, dann muss ich das wieder in der
Config von den Services die den die mit dem Service
kommunizieren müssen anpassen usw.
Und diesem Thema und noch ein paar anderen Themen, da kann man
gleich nochmal zu. Also ein paar Best Practices in
dieser Welt hat sich dort eine Pire angenommen, indem sie
einfach einen neuen Projekttypen in Dotnet einführen, also für
alle die jetzt keine C Programmiererinnen und
Programmierer sind, mag das alles gerade irgendwie ein
bisschen weit weg sein, deswegen wird heute eine sehr dotnet C
Sharp lästige Episode werden, aber was eben passiert ist, ich
kann ja verschiedene Projektarten haben in dotnet,
ich kann eine Konsolenapplikation schreiben,
wo ich dann keine UI habe ich. Ja ne native Desktop Applikation
schreiben wo ich ne native Desktop your eye hab ich keine
Web App schreiben. Ich kann ne API schreiben wo ich
dann einfach so ne Rest Schnittstelle bekomme bla bla
und das sind alles verschiedene Projekttypen in Dotnet und jetzt
gibt es. Eben weiteren.
Projekten. Wenn ich jetzt irgendwie aufhör
Kommandozeile unterwegs bin, das was ich krieg, wenn ich dort
eine New mache oder wenn ich in digital Studio unterwegs bin,
wenn ich sag file New project und dann kann ich da eine
verschiedene Projekttypen auswählen.
Genau, und da gibt es eben einen neuen Projekttyp und der heißt
jetzt.net Aspire. Und in dem kann ich meine ganzen
Verknüpfungen pflegen und dieses Projekt starte ich dann auch
letztendlich, das heißt, ich kann da also relativ
Leichtgewicht ist wahrscheinlich nur eine einzige Punkt CS Datei
drin, also Card Datei drin. Und da steht dann einfach, ich
habe einen sogenannten Builder, der meine komplette Applikation
zusammenbaut und an diesen Bilder registriere ich dann
meine ganzen Abhängigkeiten so ein bisschen ähnlich wie die
Dependency Injection Folge, die wir vorher verfolgen gemacht
haben registrieren. Daran hält was auf.
Ich habe die 3 Apps, 2 davon sind vielleicht dotnet Projekte,
ne ne dritte davon ist irgend ne irgendeine Third Party
Container. Die 2 Apps hier vorne, die
müssen mit der dritten App da unten kommunizieren.
Also, und das registriere ich einfach und die Vierte hier
hinten, die muss übrigens noch auf nen nen Reddit Cash Docker
Container zugreifen. Und was im Inneren passiert ist,
wenn ich das Projekt starte, fahren diese ganzen Docker
Container hoch und es wird im Hintergrund mit Magic werden.
Dann zum Beispiel die Connection Strings von dem Reddit Cash in
die Environment Variablen von dem anderen Container rein
injiziert, der. Das der das braucht oder die UR
LS die die einzelnen Services haben werden in Environment
Variablen hinterlegt von den Services die mit den Services
kommunizieren müssen die diese URLS haben und sowas.
Also das wird im hinteren einfach alles so n bisschen
zusammengebastelt. Für mich als Divelland ist es
aber einfach ein Projekt was ich starte und was dann hoffentlich
alle anderen mit hochzieht. Aber Magic ist jetzt deine
Wortwahl, das steht jetzt nicht so in dem Blogpost oder arbeiten
offiziell mit Magic. Dice also, da hat sich das doch
bestimmt. Also David Fowler ist da, der so
ein bisschen die treibende Kraft dahinter, der Macht schon
verrückte Dinge mit dot net, die starker Magic rankommen, aber
das war jetzt, das ist jetzt Robin Manuel GPT was da Magic
verwendet hat, das ist natürlich einfach die Hintergrund bauen
die das zusammen aber ich sag halt gerne Magic weil das auch
einer meiner Kritikpunkte nachher sein wird, weil ich es
manchmal nicht so ganz durchsichtig finde wie das dann
da jetzt funktioniert, das ist mir nicht ganz klar wie jetzt,
weil ich jetzt die Environment Variable heißt die denn da
injiziert wird und. Witzigerweise kann ich natürlich
auch auf der anderen Seite bei dem Service dann die, der jetzt
diesen referenzierten Service verwendet, einfach nur sagen,
benutze diesen referenzierten Service und der weiß dann
automatisch, welche Environment Variable er sich im Hintergrund
anschauen muss, weil die ja vorhin hoffentlich von diesem
Aspire Projekt automatisch gesetzt wurde.
Also dieses ganze Plumping passiert alles im Hintergrund,
was ja auch das Versprechen ist, dass ich mich dadurch, dass es
mich darum nicht mehr kümmern muss, aber wieso oft bei solchen
Technologien läuft das wahrscheinlich ganz wunderbar,
solange das großartig funktioniert und wenn es aber
nicht funktioniert, habe ich, aber dann wüsste ich jetzt
spontan nicht, wo ich suchen müsste, weil ich ja gar nicht
weiß, also müsst ich ja im laufenden Container schauen, wie
sind denn die Avira gesetzt worden, welche wohl, welche
werden denn herangezogen um die Connection aufzubauen.
Deswegen, so MAGIX bei mir immer so n bisschen negativ behaftet.
Tatsächlich in der Softwareentwicklung ja.
Also was ich jetzt so in der Idee super cool finde ist halt,
dass es genau dieses Problem adressiert, dass ich in solchen
Cloud native Applikationen meistens in unterschiedlichen
Technologie Stags unterwegs bin. Unterschiedliche Services in
unterschiedlichen Technologien habe und auch externe
Abhängigkeiten mit Reinziehe und die kann ich dann direkt während
der Entwicklungszeit einfach integrieren, weil gerade als net
Developer der in Visual Studio arbeitet, also in dem großen
Visual Studio auf Windows. Bin ich es ja gewöhnt, dass ich
einfach so ein F 5 Debugging machen kann, dass ich halt
einfach starten kann und die ganze Applikation mit allen
ihren Abhängigkeiten wird hochgefahren und ich kann dann
debuggen, testen, gucken wie es funktioniert, kann meintest
laufen lassen etc. Das bin ich vielleicht auf
anderen Plattformen nicht so gewohnt oder auch wenn ich
irgendwie dort net developer bin, der vielleicht nicht auf
Windows mit dem großen Visual Studio unterwegs ist, bin ich
das vielleicht auch nicht so gewöhnt, aber ich glaube, gerade
wenn ich aus dieser net Welt auf Windows komme, dann ist das halt
eine Erwartungshaltung auch. Die Microsoft dauert natürlich
auch versucht zu bedienen, dass ich wirklich dieses einfache
Debugging haben kann und tatsächlich dann alle
Abhängigkeiten mit Hochstarten kann, die ich brauche, um meine
Anwendung dann auch zu testen. Und ich hab gesehen in diesem
Announcement, da gibt es halt dann auch so n Dividende
Dashboard, was automatisch auch im Hintergrund gestartet wird.
Das heißt ich hab dann auch eine Möglichkeit so ein gewisses
Monitoring zu machen und zu sehen okay welche Komponenten
habe ich da eigentlich jetzt alle und wie interagieren die
miteinander? Ja, genau das kommt nämlich noch
durch eine zweite Komponente von Donald Aspiria dazu.
Sie haben einmal diese, diese zentrale Registry, wo ich alle
meine Abhängigkeiten registriere.
Und dann haben Sie ja auf der auf der Komponenten Seite diese
Abhängigkeiten darstellen halt auch dieses hier jetzt benutzt
zu diesen diesen Reddit Cash der da reingezogen wurde.
Jetzt benutze diese App und da geben die sagen die quasi wir
haben direkt dieses Benutzen der App was ich mit einer Zeile Code
oder dieser benutzen diese Abhängigkeit was ich mit einer
Zeile Code in bauen kann. Da haben Sie Best Practices
reingepackt, die natürlich anpassbar sind, aber die ja von
dieser Cloud native Welt schon sehr weit verbreitet sind.
Zum Beispiel ist dann automatisch ein Tracing
integriert. Können wir auch mal ne eigene
Folge zu machen? Was genau Tracing ist?
Aber ich kann dann halt im Prinzip nachvollziehen, von wo
bist du also n kompletter Call? So ne so n also n Irrequest über
mehrere Services hinweg geht, den kann ich ja wirklich in so
nem Dashboard sehen, da haben Sie logging drin, da haben Sie
Metriken mit eingebaut, haben Sie retrize mit eingebaut, was
mache ich wenn der Service nicht erreichbar ist?
Versuche ich einfach in ner halben Sekunde nochmal und wenn
gar nicht erreichbar ist vielleicht in 2 Sekunden nochmal
und wenn dann immer noch nicht erreichbar ist, dann fail ich
erstmal in request. Also wir haben ganz viele.
Auch Health Checks schon mit Reingebaut.
Also wenn ich einen Rediscash verwende, möchte ich, dass meine
Applikation von sich selber nur sagt, dass sie gesund ist.
Wenn sie den Rediscash erreichen kann, und das sind alles Dinge,
die konnte man natürlich vorher alles per Hand bauen, aber weil
das alles automatisch mitkommt, können sie natürlich auch direkt
ein Dashboard bereitstellen, wo ich alle Services sehe, die ich
meine Anmeldung habe, weil ich hab die ja an einer zentralen
Stelle registriert, können wir in Dashboard bereitstellen, wo
ich alle alle Calls zwischen allen Anwendungen sehe, weil ich
hab ja Tracing mit eingebaut, können wir in Dashboard
darstellen, wo ich sehe, ob meine Applikation gesund sind,
weil ich hab ja Health Checks automatisch mit eingebaut.
Und das sind ne also Dashboards. Das ist nichts Neues, das geben
ja auch ganz viele Tools, die es online gibt mit.
Also Microsoft hat selber auch in der Asher Welt sowas wie
Application Insights wo ich das sehen kann, aber dieses
Dashboard läuft eben lokal und relativ easy und es hat eben all
diese Best Practices schon fertig eingebaut.
Und ich kann die anpassen. Also ich kann in dieser
Aspirewelt auch noch ein weiteres dotnet Projekt
hinzufügen, wo ich einfach nur diese Best Practices Service
Defaults nennen, die das definiere und dann verwenden das
alle meine Projekte, das heißt ich kann einfach sofort sagen,
hey, ich möchte, dass alle Projekte.
Retrize drin haben Circuit Breaker mit drin, haben Tracing
auf folgende Art und Weise, machen vielleicht mit der und
der Technologie und so, also versuchen das schon sehr einfach
zu machen und das mit dem Dashboard ist natürlich sehr
cool, weil ich dann für meine lokallaufenden Applikationen
sofort eigentlich alles im Blick habe.
Das heißt, wenn ich jetzt ne neue Cloud native Applikation
bauen möchte, die Halt in Containern läuft und im Kern auf
Dotnet basiert, dann ist es für mich sehr sinnvoll, so wie sich
das mir jetzt darstellt aus dem was ich gelesen hatte und deinen
Beschreibung ist es jetzt wahrscheinlich nichts, was ich
so ohne weiteres für meine existierenden Anwendungen
übernehmen kann, weil ja wirklich eine sehr tiefe
Integration dieser Komponenten ist.
Oder kann ich das auch relativ einfach in meine existieren?
Das heißt, ich habe existierende Services und die übernehme ich
dann in diese neue Projektform und kann dann die.
Aspire Komponenten dann reinziehen und dann meine
Anwendung quasi in diesen neuen Projekttyp konvertieren, um sie
dann in Zukunft weiter einfacher weiterentwickeln zu können.
Ja, doch, doch, das geht schon. Weil was?
Das Einzige, was ich eigentlich wirklich hinzukommt oder was
sich ändert, ist dieser neue Projekttyp, das habe ich hier
noch ein einziges Mal, dann in meinem kompletten Solution heißt
das in der Dotnet Welt dieses Aspire Projekt und die anderen
Projekte, die bleiben, aber eigentlich so wie die sind, das
heißt die. Für die gibt es keine neuen
Projekttypen. Also wenn ich aus der dotnet
Welt uns die Stadt Welt komme wenn ich ne Web App baue ist das
üblicherweise ASPD net, das bleibt genauso wie es ist.
Das einzige was ich da halt ändert ist, dass ich mir diese
dogmatispire Pakete mit dazu hole und dann vielleicht die.
Initiale Initialisierung dieser Services.
Initiale Initialisierung ist wahrscheinlich auch ne
Doppelung, aber die Initialisierung dieser Services,
die würde ich wahrscheinlich auf einer anderen Art und Weise
machen, das den einmaligen Verbindungsaufbau zu meiner
Datenbank, zu meinem Reddit Cash und so weiter da müsst ihr
wahrscheinlich dann jeweils eine Zeile Code einfach ersetzen
durch das was aus diesen s pire Paketen kommt.
Den Rest meiner Logik sollte das aber eigentlich nicht
beeinflussen. Zweier Pakete kurze eine Frage
noch die Aspire Pakete, das sind ganz normale Nugget Komponenten,
das heißt ich kann das einfach. Packages?
Genau. Die als Nougat Packages
hinzufügen und dann meine Anwendung darum ergänzen.
Aber du hast eben schon nen wichtigen Punkt gesagt und das
ist auch mein zweiter Kritikpunkt daran.
Hat in so einer bunten Microservices Welt, die einen
dotnet Fokus hat und dotnet Aspire, wie der Name sagt, ist
halt.net only. Ich kann zwar andere Container
integrieren, das heißt ich kann jetzt natürlich auch meinen
Python Code schreiben, den Container rizen und in das
gleiche Reporsatory legen, wenn ich das denn möchte.
Wir haben ja mal vorher gemacht Mono repos multirepos was es da
besser, da gibt es einfach verschiedene
Geschmacksrichtungen, aber die ich, das ist wirklich nur zum
Starten und zum Attachchen des Debuggers an diese dotnet
Services, das heißt wenn ich ohnehin vielleicht alles im
Dotnet schreibe oder die meisten Dinge im Dotnet schreibe, kann
das sehr sinnvoll sein. Wenn ich jetzt aber durch einen
ganz bunten Blumenstrauß habe an Anwendungen, ich habe ein
bisschen was in go geschrieben, also ich jetzt nicht, weil ich
lerne natürlich noch go, aber jemand hat ein bisschen was in
Go geschrieben, hat ein bisschen was in Python geschrieben und so
weiter wenn ich da so einen ganz bunten Blumenstrauß habe, dann
sind diese Integration und diese Best Practices und alles
natürlich nur für die dotnet Welt da, weil das alles net ohne
only ist. Das heißt, es kann sehr einfach
sein, wenn ich alles dotnet ist. Wenn jetzt eine Sache vielleicht
nicht dotnet ist, würde ich es vielleicht noch mit reinnehmen,
wenn ich jetzt ein ganzes bunten Blumenstrauß habe, weiß ich
nicht, ob ich da nicht auf andere technische setzen würde,
weil ich habe so Geschichten wie.
Reachrise Best Practices, Kommunikation, Services, ja zum
Beispiel auch in Depper Depper haben wir auch mal ne Podcast
Folge zugemacht. Ist im Prinzip so n sidecar
Container, den ich einfach neben alle meine anderen Container
jeweils einen Hinstelle und anstatt direkt mit der Datenbank
zu kommunizieren kommunizieren diese Services dann, egal in
welcher Programmiersprache sie geschrieben wurden, mit dem
depper Container, der ist entsprechend konfiguriert, hat
diese Best practices drin und der kommuniziert dann für mich
weiter und der kann auch. Also Service to Service Discount
Fory machen, man kann auch Depper und Aspire verbinden.
Aber du siehst schon, wenn das irgendwie, wenn das jetzt
irgendwie ganz komplex wird oder ganz viele verschiedene Services
sind, dann weiß ich nicht, ob ich das im aktuellen Stand, wo
das noch ist, alles noch in Preview, muss man dazu sagen.
Sie sammeln auch gerade noch viel Feedback ein, aber ob ich
das dann für so sinnvoll erachten würde, es sei denn ich
sag natürlich pass auf, ich habe hier mein eines Projekt, meinen
einen Microservice. Der ist in Dotnet geschrieben
und für den baue ich das alles in in Dotnet des Bayer auf und
mein Python microservice ist aber im Vergleich eine völlig
andere Team in einem völlig anderen Projekt.
Die brauchen diesen ganzen aspire.com gar nicht, die müssen
halt mit irgendeiner anderen pythonativen Technologie
Technologie schauen wie sie diese Best Practice und Service
Discovery sich reinfügen, dafür wäre es dann natürlich wieder
sinnvoll. Das kann natürlich dann jedes
Team so ein bisschen für sich entscheiden, ist glaub ich sehr
use case spezifisch. Aber.
Das läuft ja alles so ein bisschen darauf hinaus, dass ich
den größten Mehrwert aus dieser Technologie zieh, obwohl jetzt
dotnet an sich irgendwie cross Plattform ist.
Ich kann es auf allen Plattformen entwickeln, ich kann
verschiedene Tools nutzen, es zu entwickeln, den Mehrwert ziehe
ich daraus oder kann es eigentlich nur nutzen, wenn ich
das große Visual Studio auf Windows verwende, das heißt, ich
bin schon mal Windows Developer und verwende Visual Studio und
im Idealfall verwende ich vielleicht auch noch die
Microsoft Cloud. Ich habe in dem Blog Post
gelesen, da sind irgendwelche Deployment Templates kommen mit
fürs Deployment in Microsoft Azure ist das auch etwas wenn
ich jetzt sage okay ich mache zwar net aber bin jetzt auf dem
Mac unterwegs und deploye das Ganze in WS und habe da.
Meine kubanitis Cluster laufen habe ich dann auch immer noch
die gleichen Mehrwerte oder ist das etwas, was tatsächlich eher
für dann meine Windows fokussierten Kollegen?
Genau die gleichen Mehrwerte also.
Es hat eigentlich mit Visual Studio nichts zu tun, also mit
dem großen Windows Virtual Studio, sondern es ist wirklich
ein Net integriertes Tool und es.
Weiß halt jetzt auch nicht das Tooling von Visual Studio,
sondern das einzige was wenn du das Studio mir wirklich gibt ist
einfach diese Projekt Templates. Die kann ich aber auch auf der
Kommandozeile mit dot net New aufrufen und es ist generell
dotnet und egal auf welcher Plattform ich das ich
programmiere und auch tatsächlich egal welche
Plattform ich es rein deploye denn auch einer meiner
Kritikpunkte was dotnet espire also was heißt Kritikpunkt der
Fokus von dort ist wirklich die lokale Entwicklung, das lokale
Hochspinnen von diesen Services. Und natürlich habe ich diese
Best practices wie diese Retracen so, die habe ich halt
immer. Aber dieses Verbinden, dieses
Zusammenstecken von neuen Services, wo kommen die denn
her, woher weiß ich denn, wo die laufen, das ist auf lokale
Entwicklung fokussiert, denn was mir dort ist nicht gibt, außer
also out of the Vox nicht nicht gibt, ist überhaupt irgendeine
Deployment. Möglichkeit in die Cloud oder
als Cubanetes Manifest oder als helmchart ich bekomme, wenn ich
das Projekt Kompiliere, ein sogenanntes Manifest.
Einfach mal so eine Money fest json Datei und da steht alles
drin, da stehen alle Services drin die ich richtig registriert
habe. Alle Dependencies die ich
brauche, da steht drin wie die Zusammenhängen müssen und da hat
Microsoft jetzt ein Projekt draus gebaut nochmal gesagt okay
pass auf, wir können dieses Manifest nehmen und das kannst
du einfach in die Azure Cloud Reinschmeißen und wir wissen
dann Bescheid, das können vielleicht andere Cloud Provider
nicht, aber ich müsste jetzt entweder ein Community Projekt
starten wo ich sage ich nehme das Manifest und baue aus den
Informationen die ich jetzt habe daraus kubanits.
Ressourcen zusammen oder Helmcharts zusammen oder
irgendwelche anderen Deployment Methoden zusammen, das kommt
jetzt zumindest noch nicht. Out of the Box, das muss ich
selber bauen. OK, das heißt, es liegt einfach
da dran, dass jetzt das Ganze von Microsoft initiiert wurde,
das jetzt viele der Komponenten die ich habe, dann erstmal auch
vielleicht nur für Azure zur Verfügung stehen, irgendwie was
Storage betrifft, aber es hindert jetzt nicht niemanden
daran, entsprechende Komponenten auch für andere Cloud
Plattformen zu entwickeln. Das heißt, die Anzahl der
Komponenten ist halt jetzt noch überschaubar, weil wir sind noch
in der Preview Phase und vieles ist ja Microsoft orientiert,
weil das über die Microsoft Teams kommt, aber perspektivisch
soll das eine offene Plattform in alle Richtungen werden.
Genau. Und man ist auch komplett frei
erweiterbar. Also kann jetzt, wenn AWS jetzt
sagt, sie wollen für Ihren Storage Container da eine
Extension schreiben, dann können Sie es einfach als Nougat Paket
auch zur Verfügung stellen. Also das klar, als Microsoft
hat, das muss man ein bisschen unterscheiden, also theoretisch
dotnet ist ja eigentlich eine komplette Community Technologie,
kommt ja eigentlich nicht von also kommt zwar von Microsoft,
gehört aber nicht Microsoft für dieses Donald Aspire hat
Microsoft aber eilt eigene Developer Teams.
Gestellt zur Verfügung gestellt um das zu bauen und jetzt auch
eben in die.net Community zu spenden.
Aber natürlich haben die dann so n bisschen ihren Touch.
Natürlich funktioniert das am besten mit Ihrer Cloud.
Klar, ich mein ist ja auch fair, die haben das ja auch gebaut,
die wollen auch was davon haben, aber am Ende ist das n offenes
Projekt wo jeder. Jeder seinen Service anbinden
kann. Den letzten Punkt, den ich
allerdings habe, ist, es gibt ja schon so ne Technologie, die das
alles irgendwie zusammensteckt. Die ist dann containerorientiert
und das ist Stocker compose, das ist das zum Beispiel, was ich in
all meinen Projekten verwende, um lokal einfach alles mal zu
starten. Ich kann ja heute schon in einer
Docor compose file sagen, Pass auf mein Projekt, das besteht
aus diesen 5 Containern und der Container muss bitte warten bis
der andere Container gestartet ist und als Collection String
nimmst du bitte die URL von dem Container hier oben und auch
über Doctor Compose finden sich die die Container gegenseitig,
das heißt wenn ich alles als Container starte.
Dann kann ich das auch mit bestehenden Tools wie Docker
Compose machen und bin dann komplett Technologie unabhängig.
Klar, dann muss ich auch im Container debuggen, was ein
bisschen was manchmal ein bisschen komplizierter ist,
manchmal auch ein bisschen länger dauert.
Also ich habe Performance technisch ich auf meinem Rechner
schlechtere Erfahrungen gemacht, im Container zu debuggen wie
direkt lokal laufenden Prozess auf meiner Maschine zu debuggen.
Dafür ist es halt dann eben komplett technologieabhängig.
Was das aber natürlich nicht macht, sind diese ganzen Best
Practices mit Reinzugeben. Diese ganzen Services, Coveries
und Health Checks und Retries und ich glaube genau da spaltet
sich das n bisschen für mich. Für mich persönlich ist dieses
eine Netprojekt was mir alles hochzieht.
Gar nicht so interessant also. Ja, viel spannender finde sind
diese Opinionated fertig definierten Integration.
Über diese Nougatpakete kommen, wo einfach jemand sagt was auf.
Wenn du jetzt ein Reddit Cash anbieten willst, ist das die
beste Art und Weise, weil da sind Retries drin, weil da sind
Health Checks drin, bla bla bla bla bla, das haben sich viele
Unternehmen, größere Unternehmen eh schon selber gebaut, solche
Best practices und jetzt sind die eben altiser net Welt und
man kann einfach die fertigen nehmen oder doch durch seine
durch seine eigenen Kniffe ergänzen, aber ich glaube, dass
das für mich persönlich eine deutlich spannendere Teil ist.
Wenn ich aber auch rein in der Dotnet Welt unterwegs bin und
sage, ich habe das eh alles irgendwie lokal, würde ich das
gerne einmal hochfahren. Dann kann man sich bestimmt auch
gut mal den anderen Teil angucken, der das alles
gemeinsam hochzieht. Klasse.
Ich glaube, wir werden das Ganze weiter verfolgen.
Hat es ja vorhin gesagt, aktuell ist es noch in der Preview, ist
noch ganz am Anfang und zumindest ich hab noch gar keine
Hands on Erfahrung damit machen können.
Ich weiß nicht ob du es dir schon wirklich praktisch
anschauen konntest, aber ich glaube das kommt dann jetzt in
den kommenden Monaten, wenn man die ersten eigenen Applikationen
mal damit testet und dann werden wir sehen, wie sich das
weiterentwickelt, in welche Richtung Microsoft das treibt
und dann können wir auch gerne auch noch zu gegebener Zeit mal
ein Update zu dem ganzen Thema geben, wenn es euch
interessiert. Es ist auf jeden Fall auf viel
Interesse gestoßen. Also es wurde ja, du hast ja
schon gesagt vor 2 Wochen auf der Dotnet Conf, also auf der
eigenen Developer Konferenz davon net vorgestellt und da gab
es auf jeden Fall viel Interesse an dem Thema und es gibt jetzt
irgendwie super viele Leute, die das gerade mal ausprobieren und
ich habe auch schon ein paar Youtube Videos irgendwie gesehen
von Leuten die das mal machen. Also ich glaube zumindest wird
es. Wird sichs angeschaut oder
verwendet oder es ist halt auch einfach nur ein Vorschlag, wie
man dieses komplexe Problem lösen kann, ganz viele
Komponenten zusammenzuführen. Ich denke aber, da wird die Zeit
und auch die Adaption an andere Clouds und Technologien zeigen.
Wieviel Zukunft das hat ich mein ganzes Unternehmen drauf.
Wetten würde ich jetzt noch, würde ich jetzt nicht, aber für
einzelne Projekte sich das mal anzuschauen schadet auch nicht,
weil man es auch mit Zweifel, wenn es dann irgendwie nichts
ist, auch wieder ausbauen kann. Ja, ich meine ist relativ früh,
aber man sieht schon jetzt, es kriegt ne gewisse Traction wenn
man sich das Gitarre prepo anschaut.
Ich glaube schon fast 2000 Stars drauf, das heißt die Leute
gucken sich das an einige Forks drauf, das heißt Entwicklung
findet statt, die Leute wollen da Dinge auch beitragen von
daher ich finde das ist ein positives Zeichen wenn man
wirklich sieht, dass auch wirklich der Source Code da von
den Leuten auch genutzt wird und nicht ein paar Leute es einfach
nur ausprobieren, sondern die Leute auch aktiv reinschauen wie
es das Ganze implementiert, wie kann ich beitragen, wie kann ich
das ganze ergänzen von daher bisher glaube ich geht es in die
richtige Richtung, mal schauen wie es dann wirklich auch in der
Praxis. Landet.
Wenn es dann soweit ist, dass wir es quasi als stabil
klassifizieren können und die Leute es dann wirklich auch in
Produktion einsetzen. Das.
Genau. So wie hat ja die
Zusammenfassung gefallen. Besser als.ch GPT und Open AI,
also zumindest war sie länger. Ich weiß nicht ob sie länger
gedauert hat, weil ich glaub, also je nachdem wie busy die
dauert dauert das ja auch irgendwie relativ lange
mittlerweile. Nee, auf auf jeden Fall sehr
gut. Und das Wichtige ist halt, wenn
ich dir ne Nachfrage stelle, dann hab ich n größeres
vertrauen, dass du mir da ne korrekte Antwort gibst.
Als Chat GPT chepp GGP gibt mir zwar immer sehr schnell eine
Smart klingende Antwort, aber. Manchmal traue ich dem Ganzen
nicht, von daher ja vielen Dank für den tieferen Einblick und
dass du dich auch noch mehr als ich mit dem Thema
auseinandergesetzt hast, hat mir auf jeden Fall geholfen.
Ich hoffe euch auch die ihr zuhört.
Uns würd interessieren, es sind solche Themen interessant.
Ich mein Wir kommen beide vom Hintergrund so n bisschen aus
der Dotnet Welt und dementsprechend liegt uns das
nah wenn das etwas ist was auch für Euch die uns zuhört
spannend. Es gibt uns gerne Feedback,
gerne auf spotivy oder per E-Mail würde uns interessieren
ob wir auch in die Richtung weiterhin Themen ansprechen
sollen oder ob ihr uns sagt in der breite net haben wir ohnehin
nichts mit am Hut, von daher bleibt uns weg damit das
Feedback brauchen wir um auch einfach die Themenauswahl
richtig steuern zu können, damit es für alle auch interessant
bleibt. Ansonsten, wenn euch die Folge
gefallen hat, dann lasst auch gerne einfach ne gute Bewertung
da auf Spotify und auch auf Apple Podcast kann man ja so
Sternchen und Bewertungen hinterlassen, da freuen wir uns
immer sehr und wir freuen uns natürlich auch immer wahnsinnig,
wenn ihr uns einen Kaffee oder wie in dieser Zeit einen
Glühwein oder Punsch ausgebt oder wenn ihr auch zu eurem
eigenen Kaffee die passende Nerd Tasse haben wollt, dann haben
wir auch da vielleicht was in unserem Shop für euch.
Schaut da gerne vorbei links für beides, also für dieses bei mir
Coffee und den Shop findet ihr in der Beschreibung.
Und ansonsten bleibt uns gar nicht mehr so viel über, als
euch noch mal drauf hinzuweisen, dass nächste Woche der
Livestream mit The Native Web stattfindet und die Woche danach
ja schon die letzte Folge des Jahres ist und damit auch
traditionell unsere große Weihnachtsfolge.
Wir machen immer jedes Jahr am Ende eine Weihnachtsfolge, wo
wir auch ein Gewinnspiel haben und ein paar Geschenke quasi für
euch mitgebracht haben und das Jahr so ein bisschen Revue
passieren lassen, wenn ihr das nicht verpassen wollt, dann
bleibt gerne dran. Wir machen nie Gewinnspiele, wir
machen Geschenke. Stimmt Joachim Geschenke, das
heißt, wir machen, wir spielen hier, die die Weihnachtsengel,
und mit ein bisschen Glück werdet ihr beschenkt.
So machen wir das. Ich freu mich drauf, ich freu
mich auch auch auf unsere traditionelle
Jahreszusammenfassung oder Highlights, die wir dann auch in
der nächsten Woche schon mal mit Golo gemeinsam ein bisschen
vorbesprechen werden, auch wenn ihr Fragen an uns habt, zu
aktuellen Themen kommt gerne in den Livestream rein, da ist
natürlich der große Vorteil eines Livestreams, ihr könnt
sofort mit uns interagieren und habt dann auch mit Golo noch
einen weiteren Experten direkt im Livestream mit dabei und
würde uns freuen, wenn viele von euch dann in den Livestream mit
reinkommen und auch aktiv mit uns.
Den Abend gestalten. Dann mach es gut, habt eine gute
Woche und schreibt ganz viel Code.
Bis dahin.