AWS Guide for .NET Developers

Choosing Where to Deploy Your Web App

You have several deployment options on Amazon Web Services. You can choose the mostly automatic approach, answering a few initial configuration questions and letting AWS do the rest. Or you can choose to go hands on and fully configurable, adjusting DNS, automatic scalers, and other aspects of your deployment environment.

AWS Elastic Beanstalk

AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications developed with .NET.

Simply deploy your application, and Elastic Beanstalk automatically handles the details of deployment provisioning, load balancing, scaling, and application health monitoring. You retain full control over the AWS resources powering your application, and can access the underlying resources at any time.

Elastic Beanstalk supports several platforms for different versions of the .NET programming framework and Windows Server. It also supports Docker containers.

Amazon Elastic Container Service

Amazon Elastic Container Service is a highly scalable, high-performance container management service that makes it easy to run, manage, and stop Docker containers on a cluster of Amazon EC2 instances.

Amazon ECS is a good option if you have a containerized .NET Core application.

AWS Lambda

AWS Lambda enables you to run .NET Core functions or serverless applications without provisioning or managing servers. You get flexible scaling and high availability, and have no idle capacity because there is no charge when your code isn't running.

Lambda is a good option if you want to really benefit from serverless computing.