AWS Eases .NET App Deployment

Developers deploying .NET applications to the Amazon Web Services (AWS) cloud can now enjoy a guided, streamlined experience with a new wizard suggesting compute and other options.

That new "Publish to AWS" wizard comes in the AWS Toolkit for Visual Studio 2022 in the Visual Studio Marketplace, installed more than 45,000 times. It's also available for command-line aficionados, as it works with the .NET CLI via the AWS Deploy Tool for .NET NuGet package.

"Publish to AWS is an interactive deployment experience that assists you with publishing your .NET applications to AWS deployment targets, supporting applications targeting .NET Core 3.1 and later," AWS says in "Working with Publish to AWS in Visual Studio" documentation. "Working with Publish to AWS keeps your work flow inside of Visual Studio by making these deployment features available, directly from your IDE:"

  • The ability to deploy your application with a single click.
  • Deployment recommendations based on your application.
  • Automatic Dockerfile creation, as is relevant and required by your deployment destination's environment (deployment target).
  • Optimized settings for building and packaging your applications, as required by your deployment target.
Publish to AWS
[Click on image for larger view.] Publish to AWS (source: AWS).

"With sensible defaults for all deployment settings, you can now get your .NET application up and running in just one click, or with a few easy steps -- without needing deep expertise in AWS," Amazon said in a July 6 blog post. "You will receive recommendations on the optimal compute for your application, giving you more confidence in your initial deployments."

The compute recommendations mentioned above top the list of key capabilities as presented by AWS:

  • Compute recommendations -- get the compute recommendations and learn which AWS compute is best suited for your application.
  • Dockerfile generation -- the Dockerfile will be auto-generated if required by your chosen AWS compute.
  • Auto packaging and deployment -- your application will be built and packaged as required by the chosen AWS compute. The tooling will provision the necessary infrastructure and deploy your application using AWS CDK.
  • Repeatable and shareable deployments -- you can generate well organized and documented AWS CDK deployment projects and start modifying them to fit your specific use-case. Then version control them and share with your team for repeatable deployments.
  • CI/CD integration -- turn off the interactive features and use different deployment settings to push the same application bundle to different environments.
  • Help with learning AWS CDK for .NET! -- gradually learn the underlying AWS tools that it is built on, such as the AWS CDK.

"You can deploy ASP.NET Core applications, long running services, scheduled tasks, and Web Assembly applications that are built with .NET Core 3.1 and above including the .NET 7 preview," AWS said. "At the time of this release, we support deployments to Amazon Elastic Container Service (Amazon ECS) using AWS Fargate compute engine, AWS App Runner, and AWS Elastic Beanstalk. We also support hosting Blazor WebAssembly applications in Amazon S3 using Amazon CloudFront as a content delivery network (CDN)."

In this initial stage, the new experience works with Amazon Elastic Container Service (Amazon ECS) using AWS Fargate compute engine, AWS App Runner and AWS Elastic Beanstalk. Hosting Blazor WebAssembly applications in Amazon S3 using Amazon CloudFront as a content delivery network (CDN) is also supported.

One major new feature in the process is deployment projects, a concept that lets developers customize deployments inside Visual Studio or the CLI -- including the UI -- which can be shared among team members. They let teams come up with custom deployment scenarios while still providing other members with interactive or scriptable deployments.

The old deployment experiences are still available, though "Publish to AWS Elastic Beanstalk" and "Publish Container to AWS" are now marked as "Legacy" options in the context menu. AWS doesn't plan to extend those wizards and recommends that devs migrate to the new "Publish to AWS" wizard. User are invited to open an issue on GitHub" for feedback, such as reporting missing features that are blocking migrations.

About the Author

David Ramel is an editor and writer for Converge360.


Subscribe on YouTube