How to Deploy .NET 8's New .NET Aspire Stack

Поделиться
HTML-код
  • Опубликовано: 19 ноя 2023
  • Use code BLACKFRIDAY23 and get 40% off any course and 20% off any bundle on Dometrain: dometrain.com/courses?coupon_...
    Become a Patreon and get special perks: / nickchapsas
    Hello everybody, I'm Nick, and in this video, I will show you how you can deploy .NET Aspire applications to the cloud. .NET Aspire launched with the release of .NET 8 and C# 12 and it is one of the most exciting features of the release. In this video, we will use Azure, but in future videos, we will see other cloud platforms.
    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 #dotnetconf

Комментарии • 113

  • @theanachronism5919
    @theanachronism5919 7 месяцев назад +84

    What I hope to see is something that generates plain k8s manifests or even just a docker-compose file.

    • @severinheugabler
      @severinheugabler 7 месяцев назад +1

      There will be community projects for that. Microsoft doesn't have an incentive to do so.

    • @DotnetareaBr
      @DotnetareaBr 7 месяцев назад +21

      Without this feature, .Net Aspire is useless

    • @theanachronism5919
      @theanachronism5919 7 месяцев назад

      @@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...

    • @PaulCoffey405
      @PaulCoffey405 7 месяцев назад +14

      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

    • @davidfowl
      @davidfowl 7 месяцев назад +14

      @@severinheugablerWell, we do have AKS, which we also want to support 😁

  • @tabrizgulmammadov7097
    @tabrizgulmammadov7097 7 месяцев назад +20

    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.

    • @chadbennett
      @chadbennett 7 месяцев назад +2

      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.

    • @tabrizgulmammadov7097
      @tabrizgulmammadov7097 7 месяцев назад +2

      @@chadbennett if each vertical slice will have its own Aspire project, then how will we do when we need to communicate between Aspire projects?

    • @alexanderstuparek8419
      @alexanderstuparek8419 7 месяцев назад +3

      @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.

    • @SkandiaAUS
      @SkandiaAUS 7 месяцев назад +1

      It is possible Microsoft are proposing an opinionted way to structure your apps. Honestly going back to mono repo is becoming really common.

    • @solalem2001
      @solalem2001 7 месяцев назад

      You can create a new solution file and add existing projects to it. Each repo will use .gitsubmodule in the new repo

  • @sailingjudo
    @sailingjudo 7 месяцев назад +43

    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
      @xtazyxxx3487 7 месяцев назад +3

      Azure service bus definitely will not have an equivalence for local environment unless microsoft creates one

    • @petermarcu8689
      @petermarcu8689 7 месяцев назад

      @@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.

    • @MaxReble
      @MaxReble 7 месяцев назад

      ​@@xtazyxxx3487 We choose to use MassTransit for that very reason: Local testing with RabittMQ, when deployed it uses ASB, works like a charm

    • @trumpetpunk42
      @trumpetpunk42 7 месяцев назад

      ​@@xtazyxxx3487I wonder if something like MassTransit could fit the bill for certain usecases

  • @fl028
    @fl028 7 месяцев назад +2

    More about this topic please! :)

  • @paarma1752
    @paarma1752 7 месяцев назад +8

    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.

  • @Dustyy01
    @Dustyy01 7 месяцев назад +1

    Thanks for the vid❤🎉

  • @andrewogu6451
    @andrewogu6451 7 месяцев назад

    Alresdy liked. I know this will be a great one yet again

  • @UnseenScofield
    @UnseenScofield 7 месяцев назад

    Ah the answer here ! ty.

  • @tarsala1995
    @tarsala1995 7 месяцев назад +3

    It's only the beginning and still it's kind of impressive. Can't wait to see when it develops further.

  • @erenozbey4986
    @erenozbey4986 7 месяцев назад +1

    Many thanks! How does the authorization with AAD work for aspire?

  • @user-fk2dl6mz4o
    @user-fk2dl6mz4o 7 месяцев назад

    +1 for how to deploy to GCP.

  • @user-gu6pn5sv5z
    @user-gu6pn5sv5z 7 месяцев назад

    Great video. Please create more about how deploy real application and open it to world..

  • @leonardob2848
    @leonardob2848 7 месяцев назад +2

    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

  • @1roboBongoCuckooCop
    @1roboBongoCuckooCop 6 месяцев назад

    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?

  • @lordicemaniac
    @lordicemaniac 7 месяцев назад +1

    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

  • @Pistolen84
    @Pistolen84 5 месяцев назад

    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.

  • @antonmartyniuk
    @antonmartyniuk 7 месяцев назад +1

    How we can wire different microservices together in Aspire if they live in the different repositories in the GIT ?

  • @Hades200082
    @Hades200082 2 месяца назад

    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.

  • @pilotboba
    @pilotboba 7 месяцев назад

    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?

  • @HOANGTRINHHUU-lq6in
    @HOANGTRINHHUU-lq6in 7 месяцев назад +2

    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.

  • @jscraftsman
    @jscraftsman 7 месяцев назад

    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.

  • @GameDevNerd
    @GameDevNerd 7 месяцев назад

    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 🎉❤😊

  • @MegaMage79
    @MegaMage79 7 месяцев назад +3

    Looks good. now we need to connect this with AWS CDK

  • @chadbennett
    @chadbennett 7 месяцев назад

    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.

  • @DarraghJones
    @DarraghJones 7 месяцев назад

    Reminds me of OAM and Rudr....remember those? 😮

  • @Isr5d
    @Isr5d 7 месяцев назад

    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 ;).

  • @Zutraxi
    @Zutraxi 7 месяцев назад +1

    How do they handle security for the communication between apps.
    This looks really awesome otherwise

  • @coldhands92
    @coldhands92 7 месяцев назад +1

    How about a regular deployment to different environments like dev qa prod using azure pipelines n release ?

  • @RenanDuarteHB11
    @RenanDuarteHB11 7 месяцев назад +1

    is possible to deploy to a locall web server IIS ?

  • @timramone
    @timramone 7 месяцев назад

    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?

  • @Zutraxi
    @Zutraxi 7 месяцев назад +3

    What is the point of the nice dashboard if it doesn't work for deployments

  • @teisdraiby9386
    @teisdraiby9386 7 месяцев назад +6

    Would Aspire work with client side frameworks like Vue and React?

  • @waleed-alshinawi
    @waleed-alshinawi 7 месяцев назад

    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

  • @phizc
    @phizc 7 месяцев назад +10

    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.

    • @nickchapsas
      @nickchapsas  7 месяцев назад +2

      Maybe there is a way to enable it but I couldn't find any documentation on it

    • @KimichisxD
      @KimichisxD 7 месяцев назад +2

      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.

    • @arcanusx
      @arcanusx 7 месяцев назад +3

      @@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.

    • @Denominus
      @Denominus 7 месяцев назад +2

      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.

  • @adamtrip_
    @adamtrip_ 7 месяцев назад +3

    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?

    • @davidfowl
      @davidfowl 4 месяца назад +2

      On prem without Kubernetes there’s no consistent programmable infrastructure to target, it’s bespoke. You need to build a tool for that environment

    • @davidfowl
      @davidfowl 4 месяца назад +1

      Oh and Aspir8 supports docker compose and kubernetes

    • @adamtrip_
      @adamtrip_ 4 месяца назад

      @@davidfowl yeah, Aspir8 launched some days after this comment and it works

  • @UnseenScofield
    @UnseenScofield 7 месяцев назад

    How to deploy WinForm style UI applications with this? Can you make video about click once/sign manifest/dotnet mage or cake build automation?

  • @Famodila
    @Famodila 7 месяцев назад

    HI Nick. great content.. Can you record a video with steps to install on Premise?.

  • @TheSaintsVEVO
    @TheSaintsVEVO 7 месяцев назад

    How would you switch out the Redis container and instead use a managed caching system when deployed to a cloud? Is that possible?

    • @TheSaintsVEVO
      @TheSaintsVEVO 7 месяцев назад

      So locally you would use a redis container running in docker, but once deployed it’ll be a managed redis like solution

  • @THE_NE0
    @THE_NE0 7 месяцев назад +2

    I will use it the day they give us the option to self host everything with the manifest

    • @davidfowl
      @davidfowl 4 месяца назад

      What platform are you self hosting on?

    • @THE_NE0
      @THE_NE0 4 месяца назад

      @@davidfowl everything on our on premise linux server

  • @wernerswart3308
    @wernerswart3308 7 месяцев назад

    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?

    • @wernerswart3308
      @wernerswart3308 7 месяцев назад +1

      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.

    • @josefromspace
      @josefromspace 7 месяцев назад

      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.

  • @AnthonyFontaine01012014
    @AnthonyFontaine01012014 7 месяцев назад +1

    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.

    • @charlesstacyharrisiii2593
      @charlesstacyharrisiii2593 7 месяцев назад +3

      Check out the Apsire repo. There's an example of how it works together with Dapr.

  • @michalis2942
    @michalis2942 7 месяцев назад

    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.

  • @pieceofcode_
    @pieceofcode_ 5 месяцев назад

    Can we use .NET 8 Aspire along with react as front-end ?

  • @user-sg1ll5rv2r
    @user-sg1ll5rv2r 13 дней назад

    How we can use Tracing for .NET framework web API ? Aspire or any open telemetry ?

  • @mennolaan2468
    @mennolaan2468 7 месяцев назад

    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?

  • @DanielHarrisCodes
    @DanielHarrisCodes Месяц назад

    Can you deploy to Azure App Service? Even if it’s just Linux (which runs your app in a container anyway)

  • @JedVeatch
    @JedVeatch 7 месяцев назад

    I use GCP at work.

  • @bockeworst9520
    @bockeworst9520 7 месяцев назад

    How do you get the nice colors and icons in Windows Terminal?

    • @Anoop-fn3on
      @Anoop-fn3on 7 месяцев назад

      ruclips.net/video/-G6GbXGo4wo/видео.html

    • @ClickOkYT
      @ClickOkYT 7 месяцев назад

      Google for Oh My Posh

    • @rand0mtv660
      @rand0mtv660 7 месяцев назад

      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.

  • @user-ne4pp9ny9h
    @user-ne4pp9ny9h 3 месяца назад

    How to used .NET Aspire with old project docker-compose file sample ..eShopOnContainers (old version)?

  • @honzajscz
    @honzajscz 7 месяцев назад

    How can I deploy aspire app on prem?

  • @Paul-uo9sv
    @Paul-uo9sv Месяц назад

    Can .NET Aspire run on IIS Server with a Web APp?

  • @Sayuri998
    @Sayuri998 7 месяцев назад +6

    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.

    • @davidfowl
      @davidfowl 7 месяцев назад

      Deploy manually where?

    • @Sayuri998
      @Sayuri998 7 месяцев назад

      @@davidfowl Just in general so that we know how to deploy to target of choice. Not everyone uses Azure or AWS.

    • @davidfowl
      @davidfowl 7 месяцев назад

      @@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.

    • @EnelAlmonte
      @EnelAlmonte Месяц назад

      Maybe a vpc in or a shared hosting.
      Is there a way?

  • @Warhawke08
    @Warhawke08 5 месяцев назад

    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...

  • @jshanker2005
    @jshanker2005 7 месяцев назад +1

    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.

  • @caunt.official
    @caunt.official 7 месяцев назад +3

    and it will cost you just 1200$ a month in cloud
    why not just k8s manifest

  • @MichaelBattaglia
    @MichaelBattaglia 7 месяцев назад

    I use GCP. It's wanting. It's UI is a mess and the services behind with Azure and AWS offer. IMO

  • @simonwood2448
    @simonwood2448 7 месяцев назад +2

    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

  • @mustafakorkmaz37
    @mustafakorkmaz37 7 месяцев назад

    I still couldnt digest the idea behind Aspire. Looks like we are being forced to use mono repos for everthing

  • @Bliss467
    @Bliss467 7 месяцев назад +2

    I do use GCP, but if Aspire is married to Blazor it’s a lot less exciting and unfortunately useless to me.

  • @amirhosseinahmadi3706
    @amirhosseinahmadi3706 7 месяцев назад

    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?

  • @deddykosasih387
    @deddykosasih387 7 месяцев назад

    What I hate to see is that it will become Microsoft stack opinionated approach, it will again defeat the purpose of being Open Source.

  • @cwevers
    @cwevers 7 месяцев назад

    Nice I hate yaml

  • @E_G_
    @E_G_ 7 месяцев назад +1

    Hello Nick, any chance to update previous course with .NET developments with short videos (it will be awesome :) )

    • @nickchapsas
      @nickchapsas  7 месяцев назад

      The only course that needs an update is the Minimal APIs one which will get it in a couple of months.

    • @E_G_
      @E_G_ 7 месяцев назад

      @@nickchapsas Thank you 🥰

  • @andyb-com
    @andyb-com 7 месяцев назад

    I cannot seem to get Aspire running with the new FluentUI (also announced). Two new great technologies that would really work well together.

    • @vincentbaaij4933
      @vincentbaaij4933 7 месяцев назад +10

      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.

    • @passionforkiteflying
      @passionforkiteflying 7 месяцев назад

      @@vincentbaaij4933 waiting for that! great work team.