@@DotnetareaBr not really Focus of the project isn't deployment like they said. But still, thinking about writing a parser for that. Maybe it can be combined with Docker.DotNet or something...
I totally understand why they would make Azure a first class citizen but calling this Cloud Native is a stretch. More like Azure Native. It's a total waste of time without a manifest. i will keep an eye on does better than Project Ty but this went from looking really cool to very "meh" in a matter of minutes
In the previous video, there was a good question. In this example, frontend and web api apps are in the same solution. Generally, our distributed apps are in different repos. How will Aspire handle it? Also, in the production environment, how will we manage env variables, such as database, caching, external resources' base URLs, etc? If you prepare a new video about it, I would be grateful.
This. I am building a domain with multiple systems, that are mostly independent with a messaging bus. Do they all have to be in the same Aspire project? Do we just have individual Aspire projects per vertical slice? etc.
@nickchapsas .. that would be interesting for me too.. do you have an idea how this would work with different repos for the apps/services? I haven't found anything about it in the public sources, yet.
I am interested in this but my scenarios are way more complex (databases, Azure Functions, storage accounts, key vaults, and service bus). It would be interesting to see if this can handle a real enterprise application.
@@xtazyxxx3487 while the local dev won't work the same, with azd, you can still set things up to use a service bus instance that is in Azure and your local dev account will have the right permissions to access it. The same would be true for other services like OpenAI that don't run locally.
I feel like this is one of those things that makes normally straightforward things even easier and normally complicated things next to impossible. What if I want to use partially our Azure dev env deployed services and other resources and partially my local debug session? What if I have some of my microservices in non-dotnet containers (and I do)? This is great if you have a typical tutorial-level dotnet-to-dotnet microservice architecture, separated by bounding contexts or whatever bs, overengineered from the get go.
Does look very interesting, I'm starting out on a new project and this is something I could potentially use. One question I have around Redis in this particular example, with regular Redis as a service in Azure, you choose and pay for the size of the cache you want i.e. the amount of memory. I'm wondering how that will work with Redis as a container app, what will the size of the memory cache be and how will they charge your for that?
Seeing a lot about Aspire relating to Azure and Kubernettes but would love to see a video showing how to deploy it in docker using something like Coolify, CapRover, Railway or similar.
This is interesting. How much will it cost to host sample aspire weather forecast on azure for a month? I see the template generates alot of resources. Just want to know minium $$$ I have to pay for all of this cool and shinny stuffs compare to old fashion ways.
Hello Nick! Thanks for the introduction and the deployment vid for aspire. I have 1 question that i cant get my head around. In the video example u deploy a stage env (example). How do u work with configuration for lets say a prod env as well? Can find a way to map connection strings to db etc when deployment is done and container app is created. Maby its more of a azure question but still confusing. With just container registry and web apps its super easy.
Excited that I may not need to become an expert at deployment in Azure. Worried that I am going to still have to become an expert (at least temporarily) in Azure.
been experimenting with this and I'm enjoy it a lot but my question is, how the heck do we self host this? with azd it's quite straightforward but if we don't use azure/aws/gcp but want to deploy it in some sort of cloud platform or even in a on-premise environment, how do we do it?
I was going to ask how the dashboard is accessed when it's deployed, but you touched on in the last few seconds.. Not having that available is a huge miss, IMO. That looked like one of the niftiest thing about Aspire. That said, I'm not a cloud developer, so I don't know how important it really is.
I think MS talked about it at the .net conf and they basically said that right now they are focusing on DX and localhost development where they found that ports and orchestration is the biggest pain. If I remember correctly, few question were asked about it and they just repeted that for now their primary focus is localhost DX, not really what happens after deployment. But I agree that having this dashboard in production or staging would be super awesome.
@@KimichisxD The dashboard is one of the things in the AppHost application, you don't do the AppHost deployed, you do the individual OTHER applications when you deploy. In production, it is assumed that you will have something like grafana, zipkin or other tracing software enabled that provides the same things. The AppHost just "mimics" a deployment for you.
It’s not practical on a production scale. Aspire doesn’t include a production ready log aggregator and trace ingestor/indexer. The implementation of these things in Aspire is very basic and just meant for local DevX. If they have an option to enable it, people would expect it to work and they’d have to support it. That road leads to Aspire becoming Prometheus/Grafana etc.
Hi @nickchapsas, a question related to dometrain courses. Do they give any certificate or something that I can attach to my linkedin profile as proof of completition? If not, could that be a feature
What's a point to have two microservices in a single solution? They should be in different repositories. And with that in mind how would you wire all of these microcesrvices with a single aspire project? There could be like tens microservices by the way in just an average application, will this aspire thing still suffice in this case?
How would Aspire work in a real life scenario, so without the standerd hello world concept? Lets say you have your azure functions in their own repo, connected with service bus? Are people moving over to mono repo's these day? Are we missing some new best practices?
The main problems I see, or maybe not a problem is my company already has observability tools. Perhaps it can plug into them instead. Like telegraf for metrics, and sumo logic for open telemetry, and grafana for dashboards. How hard would it be to configure things to work with those services?
I liked those benchmarking numbers for those response times ... even a good engine/game loop can make some room for a 1.47ms elapsed time cost with some room to spare, haha. Not that I'd dare put any kind of web client/server logic in the hot path of a game/engine loop, LOL, just saying ... that's fast af! 😅 I think this is exciting because I have a lot of awesome ideas for distributed apps/services (many of which are game industry or AI-related in nature) but I won't even spin up the projects or start working on them because I just don't have the spare time & capacity for it: the logistics and time/opportunity costs for _me_ using the older cloud tech stacks can become very, very large ... to being borderline absurd, lol, depending on the level of ambition and scale involved ... and it's because I come from that low-level/native sort of background and grew up with a heavy focus on real-time 3D rendering and 3D engine/pipeline/sdk engineering ... web/cloud has just never been my "cup of tea" or felt like my sort of thing, but rather something I can _make_ myself do and get through purely by having enough tech/engineering experience with other tech to clunk my way through it bit by bit, and byte* by *Span< byte >* ... I'll battle virtually any other rapper if we have to freestyle about those topics, but I'd get schooled in ASP.NET if I battled Nick Chapsas on some of his own home turf ... I'd have to lure him into the deep, dark forest of COM, Win32, DirectX 12, etc to have a chance at defeating him and getting the achievement for completing that extraordinarily rare sidequest (most .NET players never even get the *Do Battle with Nick Chapsas* sidequest in their log)! 😅 Anyways, in all seriousness, Aspire might make me reconsider the logistics and feasibility of some of my cloud-based plans/ideas ... I'm gonna have to take it for a test drive and just see how smooth/productive I feel with it to make that assessment. If it's really as fast and easy to hook things up as Mr. Chapsas here indicates, then perhaps I have a shot at getting some of my Azure aspirations (pun intended) implemented and published without taking away a detrimental amount of time from "DXSharp" or other, more critical/higher priority projects ... think I'm gonna go ahead and make sure the templates/workload is installed and play with it for an hour or two 🎉❤😊
is there way to quickly switch some of the projects to be used from deployed apps? for example you have some micro services and you want aspire to use those already deployed instead running them locally
0:15 : could you please add the link of referenced videos at the description section in your upcoming videos? it would be much more useful resource, especially in the future ;).
How are these API calls getting made? Is blazor somehow making them for you in azure? I would assume the API calls would have been getting made from your browser so you would still need the API to be accessible to your computer...
Can you provide an example for the "executables" the official microsoft docs and other resources I found only has examples for .NET Projects and Containers. I can't find any for executables. I was wondering if a "Unity Server Build" can be used there.
This is interesting. Can you control the image build process? Making sure root is not used and the latest linux libraries are install for security reason?
Also this seems to force you to have a mono repo for your distributed application, which is a headache when you have to set access controls for multiple teams working in the same repo. But this is still new, I hope to see more enterprise concerns being addressed.
For project builds Aspire checks the project settings to generate the container so in that case yes, for other images no idea. It's really not all too obvious, or at least not for me.
@@Sayuri998 You can already deploy to your target of choice manually. Aspire won't automate deploying to environments that aren't using a modern platform with programmable infrastructure (e.g. k8s). That said, it's possible to build, but the core team have no plans to provide that out of the box.
Looks like "Oh My Posh". It's a custom prompt and it has a lot of features. One prompt that I personally also like is called Starship so you can check that out as well.
If only the FE URL is open to the world, then how is it hitting the API? The FE runs in the browser, so your browser needs to be able to make network requests to the API from anywhere
I still have zero clue what this thing actually offers. What do you mean "it leaves deployment up to you"?! Isn't that literally what it's meant to do?! Is it supposed to be just a development tool then for the most part?
Hi, Fluent UI Blazor maintainer here... We worked closely with the Aspire team on the Dashboard. Because of timelines, they could not use our final v4 release for the Aspire preview. Either you need to use our library's preview 2 release in your project or wait for next Aspire release wich will use our released library.
What I hope to see is something that generates plain k8s manifests or even just a docker-compose file.
There will be community projects for that. Microsoft doesn't have an incentive to do so.
Without this feature, .Net Aspire is useless
@@DotnetareaBr not really
Focus of the project isn't deployment like they said.
But still, thinking about writing a parser for that. Maybe it can be combined with Docker.DotNet or something...
I totally understand why they would make Azure a first class citizen but calling this Cloud Native is a stretch. More like Azure Native.
It's a total waste of time without a manifest. i will keep an eye on does better than Project Ty but this went from looking really cool to very "meh" in a matter of minutes
@@severinheugablerWell, we do have AKS, which we also want to support 😁
In the previous video, there was a good question. In this example, frontend and web api apps are in the same solution. Generally, our distributed apps are in different repos. How will Aspire handle it? Also, in the production environment, how will we manage env variables, such as database, caching, external resources' base URLs, etc? If you prepare a new video about it, I would be grateful.
This. I am building a domain with multiple systems, that are mostly independent with a messaging bus. Do they all have to be in the same Aspire project? Do we just have individual Aspire projects per vertical slice? etc.
@@chadbennett if each vertical slice will have its own Aspire project, then how will we do when we need to communicate between Aspire projects?
@nickchapsas .. that would be interesting for me too.. do you have an idea how this would work with different repos for the apps/services?
I haven't found anything about it in the public sources, yet.
It is possible Microsoft are proposing an opinionted way to structure your apps. Honestly going back to mono repo is becoming really common.
You can create a new solution file and add existing projects to it. Each repo will use .gitsubmodule in the new repo
I am interested in this but my scenarios are way more complex (databases, Azure Functions, storage accounts, key vaults, and service bus). It would be interesting to see if this can handle a real enterprise application.
Azure service bus definitely will not have an equivalence for local environment unless microsoft creates one
@@xtazyxxx3487 while the local dev won't work the same, with azd, you can still set things up to use a service bus instance that is in Azure and your local dev account will have the right permissions to access it. The same would be true for other services like OpenAI that don't run locally.
@@xtazyxxx3487 We choose to use MassTransit for that very reason: Local testing with RabittMQ, when deployed it uses ASB, works like a charm
@@xtazyxxx3487I wonder if something like MassTransit could fit the bill for certain usecases
I feel like this is one of those things that makes normally straightforward things even easier and normally complicated things next to impossible. What if I want to use partially our Azure dev env deployed services and other resources and partially my local debug session? What if I have some of my microservices in non-dotnet containers (and I do)?
This is great if you have a typical tutorial-level dotnet-to-dotnet microservice architecture, separated by bounding contexts or whatever bs, overengineered from the get go.
Does look very interesting, I'm starting out on a new project and this is something I could potentially use.
One question I have around Redis in this particular example, with regular Redis as a service in Azure, you choose and pay for the size of the cache you want i.e. the amount of memory. I'm wondering how that will work with Redis as a container app, what will the size of the memory cache be and how will they charge your for that?
Seeing a lot about Aspire relating to Azure and Kubernettes but would love to see a video showing how to deploy it in docker using something like Coolify, CapRover, Railway or similar.
This is interesting. How much will it cost to host sample aspire weather forecast on azure for a month? I see the template generates alot of resources. Just want to know minium $$$ I have to pay for all of this cool and shinny stuffs compare to old fashion ways.
More about this topic please! :)
Hello Nick! Thanks for the introduction and the deployment vid for aspire. I have 1 question that i cant get my head around. In the video example u deploy a stage env (example). How do u work with configuration for lets say a prod env as well? Can find a way to map connection strings to db etc when deployment is done and container app is created. Maby its more of a azure question but still confusing. With just container registry and web apps its super easy.
Excited that I may not need to become an expert at deployment in Azure. Worried that I am going to still have to become an expert (at least temporarily) in Azure.
been experimenting with this and I'm enjoy it a lot but my question is, how the heck do we self host this? with azd it's quite straightforward but if we don't use azure/aws/gcp but want to deploy it in some sort of cloud platform or even in a on-premise environment, how do we do it?
On prem without Kubernetes there’s no consistent programmable infrastructure to target, it’s bespoke. You need to build a tool for that environment
Oh and Aspir8 supports docker compose and kubernetes
@@davidfowl yeah, Aspir8 launched some days after this comment and it works
I was going to ask how the dashboard is accessed when it's deployed, but you touched on in the last few seconds.. Not having that available is a huge miss, IMO. That looked like one of the niftiest thing about Aspire. That said, I'm not a cloud developer, so I don't know how important it really is.
Maybe there is a way to enable it but I couldn't find any documentation on it
I think MS talked about it at the .net conf and they basically said that right now they are focusing on DX and localhost development where they found that ports and orchestration is the biggest pain. If I remember correctly, few question were asked about it and they just repeted that for now their primary focus is localhost DX, not really what happens after deployment. But I agree that having this dashboard in production or staging would be super awesome.
@@KimichisxD The dashboard is one of the things in the AppHost application, you don't do the AppHost deployed, you do the individual OTHER applications when you deploy. In production, it is assumed that you will have something like grafana, zipkin or other tracing software enabled that provides the same things. The AppHost just "mimics" a deployment for you.
It’s not practical on a production scale. Aspire doesn’t include a production ready log aggregator and trace ingestor/indexer.
The implementation of these things in Aspire is very basic and just meant for local DevX. If they have an option to enable it, people would expect it to work and they’d have to support it. That road leads to Aspire becoming Prometheus/Grafana etc.
Many thanks! How does the authorization with AAD work for aspire?
Hi @nickchapsas, a question related to dometrain courses. Do they give any certificate or something that I can attach to my linkedin profile as proof of completition? If not, could that be a feature
Would Aspire work with client side frameworks like Vue and React?
Yep
What's a point to have two microservices in a single solution? They should be in different repositories. And with that in mind how would you wire all of these microcesrvices with a single aspire project? There could be like tens microservices by the way in just an average application, will this aspire thing still suffice in this case?
What is the point of the nice dashboard if it doesn't work for deployments
It will!
+1 for how to deploy to GCP.
How would Aspire work in a real life scenario, so without the standerd hello world concept? Lets say you have your azure functions in their own repo, connected with service bus? Are people moving over to mono repo's these day? Are we missing some new best practices?
The main problems I see, or maybe not a problem is my company already has observability tools. Perhaps it can plug into them instead. Like telegraf for metrics, and sumo logic for open telemetry, and grafana for dashboards. How hard would it be to configure things to work with those services?
I liked those benchmarking numbers for those response times ... even a good engine/game loop can make some room for a 1.47ms elapsed time cost with some room to spare, haha. Not that I'd dare put any kind of web client/server logic in the hot path of a game/engine loop, LOL, just saying ... that's fast af! 😅
I think this is exciting because I have a lot of awesome ideas for distributed apps/services (many of which are game industry or AI-related in nature) but I won't even spin up the projects or start working on them because I just don't have the spare time & capacity for it: the logistics and time/opportunity costs for _me_ using the older cloud tech stacks can become very, very large ... to being borderline absurd, lol, depending on the level of ambition and scale involved ... and it's because I come from that low-level/native sort of background and grew up with a heavy focus on real-time 3D rendering and 3D engine/pipeline/sdk engineering ... web/cloud has just never been my "cup of tea" or felt like my sort of thing, but rather something I can _make_ myself do and get through purely by having enough tech/engineering experience with other tech to clunk my way through it bit by bit, and byte* by *Span< byte >* ...
I'll battle virtually any other rapper if we have to freestyle about those topics, but I'd get schooled in ASP.NET if I battled Nick Chapsas on some of his own home turf ... I'd have to lure him into the deep, dark forest of COM, Win32, DirectX 12, etc to have a chance at defeating him and getting the achievement for completing that extraordinarily rare sidequest (most .NET players never even get the *Do Battle with Nick Chapsas* sidequest in their log)! 😅
Anyways, in all seriousness, Aspire might make me reconsider the logistics and feasibility of some of my cloud-based plans/ideas ... I'm gonna have to take it for a test drive and just see how smooth/productive I feel with it to make that assessment. If it's really as fast and easy to hook things up as Mr. Chapsas here indicates, then perhaps I have a shot at getting some of my Azure aspirations (pun intended) implemented and published without taking away a detrimental amount of time from "DXSharp" or other, more critical/higher priority projects ... think I'm gonna go ahead and make sure the templates/workload is installed and play with it for an hour or two 🎉❤😊
is there way to quickly switch some of the projects to be used from deployed apps? for example you have some micro services and you want aspire to use those already deployed instead running them locally
How do they handle security for the communication between apps.
This looks really awesome otherwise
It's only the beginning and still it's kind of impressive. Can't wait to see when it develops further.
Great video. Please create more about how deploy real application and open it to world..
How we can wire different microservices together in Aspire if they live in the different repositories in the GIT ?
0:15 : could you please add the link of referenced videos at the description section in your upcoming videos? it would be much more useful resource, especially in the future ;).
Can we use .NET 8 Aspire along with react as front-end ?
How are these API calls getting made? Is blazor somehow making them for you in azure? I would assume the API calls would have been getting made from your browser so you would still need the API to be accessible to your computer...
Reminds me of OAM and Rudr....remember those? 😮
How we can use Tracing for .NET framework web API ? Aspire or any open telemetry ?
hello nick, i was wondering if this can work if my frontend application is angular
also thanks a lot for your efforts and amazing content
I will use it the day they give us the option to self host everything with the manifest
What platform are you self hosting on?
@@davidfowl everything on our on premise linux server
Can you deploy to Azure App Service? Even if it’s just Linux (which runs your app in a container anyway)
Ah the answer here ! ty.
Looks good. now we need to connect this with AWS CDK
How to deploy WinForm style UI applications with this? Can you make video about click once/sign manifest/dotnet mage or cake build automation?
Can you provide an example for the "executables" the official microsoft docs and other resources I found only has examples for .NET Projects and Containers. I can't find any for executables.
I was wondering if a "Unity Server Build" can be used there.
Thanks for the vid❤🎉
To be fair Aspire its very promising. i would like to see if it would be able to add custom components as references. Even though very promising.
How about a regular deployment to different environments like dev qa prod using azure pipelines n release ?
Alresdy liked. I know this will be a great one yet again
This is interesting. Can you control the image build process? Making sure root is not used and the latest linux libraries are install for security reason?
Also this seems to force you to have a mono repo for your distributed application, which is a headache when you have to set access controls for multiple teams working in the same repo. But this is still new, I hope to see more enterprise concerns being addressed.
For project builds Aspire checks the project settings to generate the container so in that case yes, for other images no idea. It's really not all too obvious, or at least not for me.
This is interesting, yet confusing as I'm using Dapr and there's some area where both compete and some that is not covered by Aspire.
Check out the Apsire repo. There's an example of how it works together with Dapr.
HI Nick. great content.. Can you record a video with steps to install on Premise?.
premises
How would you switch out the Redis container and instead use a managed caching system when deployed to a cloud? Is that possible?
So locally you would use a redis container running in docker, but once deployed it’ll be a managed redis like solution
Can .NET Aspire run on IIS Server with a Web APp?
Hello Nick, any chance to update previous course with .NET developments with short videos (it will be awesome :) )
The only course that needs an update is the Minimal APIs one which will get it in a couple of months.
@@nickchapsas Thank you 🥰
How to used .NET Aspire with old project docker-compose file sample ..eShopOnContainers (old version)?
I use GCP at work.
I would really love to see how to do deploy this manually since I don't want to pay for Azure. Or any other cloud provider.
Deploy manually where?
@@davidfowl Just in general so that we know how to deploy to target of choice. Not everyone uses Azure or AWS.
@@Sayuri998 You can already deploy to your target of choice manually. Aspire won't automate deploying to environments that aren't using a modern platform with programmable infrastructure (e.g. k8s). That said, it's possible to build, but the core team have no plans to provide that out of the box.
Maybe a vpc in or a shared hosting.
Is there a way?
is possible to deploy to a locall web server IIS ?
Deploying .NET apps has always been easy. Even .NET MAUI apps are so easy to package and deploy as an APK. Kudos to Microsoft for a stellar job.
How do you get the nice colors and icons in Windows Terminal?
th-cam.com/video/-G6GbXGo4wo/w-d-xo.html
Google for Oh My Posh
Looks like "Oh My Posh". It's a custom prompt and it has a lot of features. One prompt that I personally also like is called Starship so you can check that out as well.
How can I deploy aspire app on prem?
I use GCP. It's wanting. It's UI is a mess and the services behind with Azure and AWS offer. IMO
and it will cost you just 1200$ a month in cloud
why not just k8s manifest
If only the FE URL is open to the world, then how is it hitting the API?
The FE runs in the browser, so your browser needs to be able to make network requests to the API from anywhere
I still have zero clue what this thing actually offers. What do you mean "it leaves deployment up to you"?! Isn't that literally what it's meant to do?! Is it supposed to be just a development tool then for the most part?
I still couldnt digest the idea behind Aspire. Looks like we are being forced to use mono repos for everthing
I do use GCP, but if Aspire is married to Blazor it’s a lot less exciting and unfortunately useless to me.
What I hate to see is that it will become Microsoft stack opinionated approach, it will again defeat the purpose of being Open Source.
Nice I hate yaml
I cannot seem to get Aspire running with the new FluentUI (also announced). Two new great technologies that would really work well together.
Hi, Fluent UI Blazor maintainer here... We worked closely with the Aspire team on the Dashboard. Because of timelines, they could not use our final v4 release for the Aspire preview. Either you need to use our library's preview 2 release in your project or wait for next Aspire release wich will use our released library.
@@vincentbaaij4933 waiting for that! great work team.