{"id":248996,"date":"2024-05-23T10:53:17","date_gmt":"2024-05-23T17:53:17","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=248996"},"modified":"2024-05-28T10:06:45","modified_gmt":"2024-05-28T17:06:45","slug":"developing-cloud-native-apps-with-aspire","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/developing-cloud-native-apps-with-aspire\/","title":{"rendered":"Developing cloud-native apps with .NET Aspire and Visual Studio"},"content":{"rendered":"<p>We&#8217;re excited to introduce the general availability of <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/get-started\/aspire-overview\">.NET Aspire<\/a>, a comprehensive stack aimed at simplifying the way .NET cloud-native apps are built and managed. .NET Aspire offers developers like you an improved, opinionated framework for constructing distributed applications, ensuring a seamless and consistent development experience.<\/p>\n<p>This new stack brings together a collection of tools, patterns, and special NuGet packages known as <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/fundamentals\/setup-tooling?tabs=windows&amp;pivots=visual-studio#visual-studio-tooling\">.NET Aspire Components designed specifically for the orchestration, component integration<\/a>, and tooling required in modern cloud-native development. Whether you are on day-zero or well into your cloud native journey, <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/deployment\/azure\/aca-deployment-visual-studio\">Visual Studio provides the most natural way to deliver projects to Azure<\/a>.<\/p>\n<p>If you\u2019re a distributed application developer .NET Aspire brings something you\u2019ve always wanted: &#8211;<\/p>\n<ul>\n<li>The ability to select <strong>F5<\/strong> and have all the dependencies start up or be provisioned.<\/li>\n<li>Your projects are automatically configured between significant, distributed changes in the app.<\/li>\n<li>Deployment of these multi-node apps into a live development or test environment are a one-click gesture.<\/li>\n<li>.NET Aspire\u2019s built-in service discovery capabilities enable your front-end apps to find your back-end APIs with less friction and almost zero configuration.<\/li>\n<\/ul>\n<h3>Getting started with .NET Aspire<\/h3>\n<p><a href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\">Download the latest Visual Studio build today<\/a> to get started. If you don\u2019t already have .NET Aspire installed, open the Visual Studio Installer, select <strong>Modify<\/strong>, and choose the <strong>ASP.NET and web development<\/strong> workload, and then select <strong>.NET Aspire SDK<\/strong>. Alternatively, you can run dotnet workload install aspire from a command line. Then, you\u2019ll start to see new .NET Aspire project templates in Visual Studio and at the .NET CLI. Once you see the templates, try creating your first cloud-native .NET Aspire app by selecting the <strong>.NET Aspire Starter Application<\/strong> template.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249115\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project.png\" alt=\"Image 17 10 aspire create new project\" width=\"1173\" height=\"659\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project.png 1173w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project-1024x575.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-create-new-project-768x431.png 768w\" sizes=\"(max-width: 1173px) 100vw, 1173px\" \/><\/a><\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\" target=\"_blank\">Download Visual Studio<\/a><\/div><\/p>\n<p>If you\u2019ve ever had to build a front-end app that accessed a REST API back end and needed caching to enhance the app\u2019s performance, you\u2019ll recognize the topology of the app right away. Once you select <strong>F5<\/strong> to start the debugger, the familiarity will end and the excitement will start \u2013 without needing to configure anything in your project or set startup order, the whole application will start up.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249116\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard.png\" alt=\"Image 17 10 aspire dashboard\" width=\"2640\" height=\"943\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard.png 2640w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-300x107.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-1024x366.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-768x274.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-1536x549.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-2048x732.png 2048w\" sizes=\"(max-width: 2640px) 100vw, 2640px\" \/><\/a><\/p>\n<p>The <a href=\"https:\/\/learn.microsoft.com\/dotnet\/aspire\/fundamentals\/setup-tooling?tabs=windows&amp;pivots=visual-studio#net-aspire-dashboard\">.NET Aspire Dashboard<\/a> opens and from there you\u2019ll have access to deep telemetry, metrics, and distributed traces where you can see how the entire app is working end-to-end.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249117\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces.png\" alt=\"Image 17 10 aspire dashboard traces\" width=\"2640\" height=\"943\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces.png 2640w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces-300x107.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces-1024x366.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces-768x274.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces-1536x549.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-dashboard-traces-2048x732.png 2048w\" sizes=\"(max-width: 2640px) 100vw, 2640px\" \/><\/a><\/p>\n<h3>Deploying to Azure Container Apps<\/h3>\n<p>If you\u2019re an Azure customer, you\u2019ll be happy to know we\u2019ve applied this same sort of one-click joy to our publishing experience, too. From within Visual Studio, you can right-click-publish an entire multi-node app to Azure Container Apps in one click. With \u201cwhole-app provision-and-publish\u201d capabilities provided by the Azure Developer CLI (<em>azd<\/em>), from right within Visual Studio you can create new development environments in Azure Container Apps with one click.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-publish-to-aca.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249119\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-publish-to-aca.png\" alt=\"Image 17 10 aspire publish to aca\" width=\"804\" height=\"564\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-publish-to-aca.png 804w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-publish-to-aca-300x210.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-publish-to-aca-768x539.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/a><\/p>\n<p>This makes it easier than ever to spin up \u2013 and down \u2013 whole new copies of your application in isolated environments in your Azure subscription. Within minutes, your projects \u2013 and the dependencies they require to run \u2013 are all deployed successfully to Azure Container Apps.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-249118\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded.png\" alt=\"Image 17 10 aspire deployment succeeded\" width=\"1465\" height=\"827\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded.png 1465w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded-1024x578.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/05\/17.10-aspire-deployment-succeeded-768x434.png 768w\" sizes=\"(max-width: 1465px) 100vw, 1465px\" \/><\/a><\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\" target=\"_blank\">Download Visual Studio<\/a><\/div><\/p>\n<p>We&#8217;re happy to <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-aspire-general-availability\/\">announce the general availability of .NET Aspire<\/a>, which extends Visual Studio&#8217;s capabilities for cloud-native application development. .NET Aspire provides a framework and tools that have an opinionated approach, making distributed .NET applications easier to build, deploy, and manage. This integration aims to make the development of cloud-native apps more straightforward and productive.<\/p>\n<p>We are hearing great things from our .NET Aspire customers! They appreciate how Aspire simplifies deployment and refactoring, and how it provides a rich telemetry dashboard that gives them valuable insights in any environment. With the help of .NET Aspire, developers are improving their workflow, spending more time on innovation and less time on the complexities of operations.<\/p>\n<p>We appreciate the time you\u2019ve spent reporting issues\/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! You can share feedback with us via\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/home%22%20\/t%20%22_blank\">Developer Community<\/a>: report any bugs or issues via\u00a0<a href=\"https:\/\/learn.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio?view=vs-2022\">report a problem<\/a>\u00a0and\u00a0<a href=\"https:\/\/developercommunity.microsoft.com\/VisualStudio\/suggest\">share your suggestions<\/a>\u00a0for new features or improvements to existing ones.\u00a0\u00a0<\/p>\n<p>Stay connected with the Visual Studio team by following us on <a href=\"https:\/\/www.youtube.com\/@visualstudio\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>, <a href=\"https:\/\/twitter.com\/VisualStudio\" target=\"_blank\" rel=\"noopener\">Twitter<\/a>, <a href=\"https:\/\/www.linkedin.com\/showcase\/microsoft-visual-studio\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>, <a href=\"https:\/\/www.twitch.tv\/visualstudio\" target=\"_blank\" rel=\"noopener\">Twitch<\/a> and on <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/?view=vs-2022\" target=\"_blank\" rel=\"noopener\">Microsoft Learn<\/a>.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re excited to introduce the general availability of .NET Aspire, a comprehensive stack aimed at simplifying the way .NET cloud-native apps are built and managed. .NET Aspire offers developers like you an improved, opinionated framework for constructing distributed applications, ensuring a seamless and consistent development experience. This new stack brings together a collection of tools, [&hellip;]<\/p>\n","protected":false},"author":1017,"featured_media":249199,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6854,1085,155],"tags":[237,6947,242,3331,3330,3249],"class_list":["post-248996","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-cloud","category-visual-studio","tag-net","tag-aspire","tag-azure","tag-cloud-development","tag-cloud-native","tag-containers"],"acf":[],"blog_post_summary":"<p>We&#8217;re excited to introduce the general availability of .NET Aspire, a comprehensive stack aimed at simplifying the way .NET cloud-native apps are built and managed. .NET Aspire offers developers like you an improved, opinionated framework for constructing distributed applications, ensuring a seamless and consistent development experience. This new stack brings together a collection of tools, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/248996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/1017"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=248996"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/248996\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/249199"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=248996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=248996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=248996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}