Why .NET's Most Ambitious Feature Might Fail
2024 ж. 6 Ақп.
37 694 Рет қаралды
Use code MODULAR and get 20% off the brand new "Getting Started with Modular Monoliths" course on Dometrain: dometrain.com/course/getting-...
Become a Patreon and get special perks: / nickchapsas
Hello, everybody, I'm Nick, and in this video, I will address some of the feedback of .NET Aspire. It's been 2 months since the release of the first preview, and Microsoft has been hard at work, so let's see where Aspire is going and if it has a bright future ahead of it.
Workshops: bit.ly/nickworkshops
Don't forget to comment, like and subscribe :)
Social Media:
Follow me on GitHub: github.com/Elfocrash
Follow me on Twitter: / nickchapsas
Connect on LinkedIn: / nick-chapsas
Keep coding merch: keepcoding.shop
#csharp #dotnet
Hello 2029, please let me know if my prediction was right or wrong :)
May be
Hello from 2129. I can confirm that Aspire, .Net and Microsoft no longer exist. Of more concern as a Human v1.0 I have a deprecated feature flag implanted in my skull.
ok
2029: Microsoft NewSprite has been discontinued. That was the final name for Aspire, after they changed the name 3 times.
Hello 2029 What a ride the last 5 years have been. Tell me all about it
They don't put David Fowler in charge of something that is going to die soon. Take SignalR as an example.
I feel ike if you are starting projects so frequently that just setting up the boilerplate of your dependencies is such a significant amount of your total workload that you need a tool to solve it for you you are either starting WAAY too many projects that you are probably never going to finish ever or you are an educator who has to go through the first steps constantly. I don't think the problem aspire is solving needs such a sophisticated solution. If you don't understand what is going on under the hood of your dependencies and you need something like aspire to get things to work and to deployment at all then you should probably learn this stuff instead of relying on a way too specialized and brittle tool like this.
I think Digital Agencies and Product Studios might fall into that group that create lots of projects.
Awesome. We just implemented Aspire in our whole stack :)
I do not use Aspire because I can’t see usecase. How would I use it? If it’s about orchestration, does it replace kubernetes? If it’s only for local tests - why do I need it? There many better and simpler ways to test something in dev environment
Great content as usual Nick, but I can't help but wonder whether you had a bet with someone to get the phrase 'tie-dye' into a video :)
🌚
@@nickchapsas you really missed out on the opportunity to wear your tie dye hoody.
I mostly don't understand why you'd use this over docker compose for a local environment. It seems to have most of the benefit without locking you to certain tech.
Cause debugging .NET in docker is a pain and Aspire safes you a lot of bootstrapping in .NET where you don't have to handle secrets and environment variables yourself.
Docker compose requires you to build container images and to run apps inside of containers. With aspire it seems you don't.
What I like with Aspire is that it's not a completely new tech, just a way to bootstrap existing things easier. You just safe a lot of bootstrapping code in your Program.cs. If aspire at some point "dies" you can just bootstrap the stuff the same way yourself like you'd do today and keep the rest of the code the same (except for maybe the service discovery). The services, controllers and everything will pretty much look the same as they do without aspire.
I have used both Dapr and Aspire and like both. I think the longterm future will require a merger of the best features of both solutions. I feel the current configuration-in-code API of Aspire is a bit fragmented and leads to programming user errors, my preference would be for the prescriptive design thinking of the Dapr sidecar to be moved in-process in an Aspire+ application.
I'd love to learn more about what you mean by this.
Currently working on a large distributed api, which mainly uses .NET of course, but also heavily relies on tools and services running in python and Matlab. For this, we do use .NET Aspire, and the experience so far has been great. The project is due to complete in 2 years, so the preview versions are good right now.
Matlab, damn, i hope all project files are structured well from the start
I would love to hear more about this project!
@@davidfowl I'd love to tell you! How do I get in touch?
After experimenting with Preview 1, my TLDR is that it offered a subpar development experience. Node integration was particularly problematic, and the lack of control, even with the SDK, made viewing it as a productivity tool challenging. The disparate components didn't seamlessly integrate, leading to a frustrating cycle of adjusting when support for one package dropped. Establishing stronger cross-language standards is crucial for sustaining tools like this. Even now I feel it does way too much and I'm very curious how this will integrate with technologies such as Orleans in the future. Overall, I really like the project but the development philosophy needs to change...
Preview 1 was rough, but it’s so much better already!
Imo all MS needs to do is unify blazor/maui/winform and continue improve server side/wasm/hybrid
Avalonia xaml like rendering (skia) + blazor + Maui would be ideal. Avalonia's cross-platform WPF engine would be a good place for MS to start.
I say, let's try. if it fails or transforms to something else, we can either get more cynical or learn more. I love these type of ideas that involve many moving pieces!
Third
The aspire components looks like test containers to me a bit. The problem is by using only nuget you limit your project to only dotnet stack. I think most companies use more than a single stack these days, if you want things like this to succeed you need to support multiple stacks imo
Did project Tye die? Or was the experiment the inspiration for Aspire?
I'm still not sure how does this play in multi-microservices environments where databases(+kafka, caches), gateways, load balancers are managed by a dedicated team, there are 200+ microservices each with its owner, lifecycle, CI pipeline and git repo. I mean, I used it for a POC project and it was nice, but I don't see how Aspire really brings me value. As long as microsoft fails to tell the actual "this is how it brings you value" story, I fail to see how it succeeds even if there are 100000 packages supporting it
Agreed. Have yet to hear a convincing answer to this question
I don't think that Aspire can help in these 1st generation Microservicex200 Swamp scenarios. Aspire gives technical architects the toolset to avoid recreating such a situation by identifying clusters of microservices and cloud resources that constitute a distributed application.
@@flibbertigibbet6324 but that's not how things are in real enterprise solutions. You have domain services that handle stuff like account data, account credentials, data scheme per tenant, communication templates, mfa services risk assessment services, consent management services, ETL services, API adapter services. After those you have various business facilitating services, back office services, secondary systems like webhooks, client changle log, log shipping forwarders... Systems that are older than 1 day and actually work in production with real paying customers always look like shit, messy and hard to follow. They always have old code with new code, old frameworks with new frameworks. Aspire just doesn't answer the real life scenarios of enterprise solutions in production
@@flibbertigibbet6324 this response was beautiful
Will you resume the Keep Coding podcast in 2024? I'd absolutely love an episode with ardalis.
Aspire sounds like a MS conference :P
the biggest issue with Aspire is that they'll focus so much on making it an Azure service orchestrator they'll end up leaving out components for other cloud services.
I noticed the shirt change at ~2:06 :)
Commercial part 😂
All the criticisms called out could be applied to anything in NuGet. Yet we all use it, and it all keeps moving forward.
Based on David comments changes are being made so aspire can be deployed to production
I think it will be a native part of dotnet rather than its own product. So the name Aspire will probably die regardless of its success or lack thereof. But the tech could very well become a native thing like Blazor has become. AZD is half the USP of Aspire imo.
I think one big problem is the profuse use of buzzwords in their communication. It gives a fleeting and perishable impression. Also "...opinionated set of tools" is an incredibly bad pitch.
The conflict of interest between the .NET and Visual Studio teams is so annoying and hurting the .NET open source ecosystem and reputation. Them taking back Hot Reload from the SDK was such a dumpster fire created by the management
This just has Silverlight written all over it! Also reminds me of the old saying - fool me once, shame on you, fool me twice, shame on me. Problem is all frameworks die eventually but when they come from MS for some reason we get the impression they will be supported forever and over invest in them as an industry.
Silverlight was definitely a stop-gap product before the web matured enough that it wasn't needed any more. I did a lot with Silverlight back in the day and it worked, but the web evolved and didn't have a place any more. This may be similar, as the web further evolves.
@@bnm0312 I think the same. MS does not kill Silverlight, the web evolution does. Microsoft just turn it "official"
Microsoft is not at fault for SilverLight fail. You can blame Steve Jobs for that. His "Thought on Flash" started the end of browser plugins like Flash and Silverlight.
I can't convince my boss it's worth it over his manual telemetry stuff he's built.
I'm positive for .NET Aspire, simply because of David Fowler
Discontinued after five years? What do they think this is, a Google product??
Allright let us bring back our .NET devs from Rust first, then we'll talk about Aspire
Kubernetes in docker + helm or docker compose. K3D, Kind. Even for local dev it is a matter of seconds to start cluster, deploy helm and we are done. Why MS came with an idea to seed the chaos with yet another half baked alternative nobody asked for? nobody knows. but it is so microsoftish. i'll pass. In order to learn k8s just to gain a dev profficiency level I needed one week. And what I've learnt transaltes very well to the production deployment reality as well. And this wouldn't be the case with Aspire thing.
If you want to keep projects maintained, you should donate. The same issue as always.
Sometimes I feel like those big companies read my mind. I like tha they put it in such a way to be able to define it in "Program.cs" how things are connected but really besides that and some fancy dashboard its not as much of an improvement as people might claim it to be. The thing is hyped, having a telemetry is great but I can also create one myself probably in a couple of days. I do see the potential but its not there as a tool to make me as a developer interested that much. Still really they readmy mind cause I was literally thinking about those kind of approaches myself.
I think Aspire is a bit late, it should have been release 3 years ago
🙂
Why not use Service Fabric?
I like aspire..
i like aspire but hate aspire components crap... tye is still better
Mono repository projects are the worst...
Honestly, I think I disagree with Nick here, even if they don't kill it entirely, they will fail to maintain it and fix bugs. Edit: Turns out he mentions that. I made the comment while I was listening (foolishly)
Silverlight was released and killed.
And .Net framework is on life support 😅
And Windows Phone
And BizTalk
yeah, but it survived for 12 years. web frameworks today survive 2 years before the next shiny thing comes. as far as frameworks go, it survived pretty well TBH even if it was crap
@@StefanHanrath To be fair, at least .NET has an upgrade path.
Did that internet troll confuse Microsoft and Google projects, maybe? Remember Google Glass? Or Google Stadia? What a hit! 🤣
So if Google does it, it's okay for Microsoft to do it?
@@GackFinder Obiously, because Google bad, Microsoft good. Don't you know? /sarcasm
Even more last
If it has an AI in it, it won't. 😂
Will winui3 be deprecated?
WinUI3/WindowsAppSDK is what Maui and Uno use, so I don't think so.
@@albertorodriguez7096 I don't trust MAUI. A lot of people has raised concern with it
Every predecessor to WinUI3 was deprecated, so I think it's a very safe bet WinUI3 will be deprecated as well.
When will maui be abandoned... Lots of bugs
My thoughts? Aspir8 is indeed a terrible name
What should we call a tool that automates the deployment of an Aspire solution to a K8s environment... I need some help, any ideas?
P r o m o s m
Fourth
Second
Zeroeth
First
Last