[object Object]

Hosting ASP.NET apps on AWS Part 1 - Introduction

How-to written and screenshots taken on 2020 January 31

Introduction

After we ended the year 2019 with some hosting problems, we started the next year with the migration of all our apps plus our WordPress blog to the AWS cloud. This migration was at the same time a real challenge and a huge learning opportunity for us. In this series we will show you how you can host your ASP.NET apps on AWS.

But first a little background. We ran all of our apps on a single shared hosting account. We knew this was just enough to get us started, but we didn't have the money to get something better. We are a self-funded startup, which means we basically have no money. This means we can't afford the cloud-infrastructure you would normally need. We had to find out what was the absolute minimum AWS configuration.

Figuring that out alone took us a few weeks. Than we had to figure out how the services we wanted to use actually worked and how ASP.NET hosting worked. In the end we spend 6-8 weeks, on and off, figuring out how to host our ASP.NET applications and a WordPress blog.

  • 1-2 weeks of initial testing (AWS, Azure and home server)
  • 3 60+ hour weeks of study, trial and error and testing
  • 2 weeks of cleaning up, fixing and optimizing the configuration

Our mission

Migrating our own website taught us that hosting your own applications is not something you do as a side project. Hosting even a simple WordPress website is not trivial.

Our target audience for jodiBooks Beauty is beauticians. If hosting a website isn't trivial for us engineers, than it is just not realistic to expect them to be able to do it. Our mission is to give people their freedom back. In this case that means not slaving for hours to get a website up and running.

We are not there yet, but for now we can give you some freedom back. In this series we will explain in detail how to use the AWS cloud to host your ASP.NET applications and a WordPress blog.

Contents

To make the whole process more easy to understand, we've divided the process into 4 main parts.

  1. Introduction, goals and architecture: Part 1-3
  2. Setup of AWS services. Part 4-9
  3. Deployment of applications. Part 10-13
  4. Monitoring and backups. Part 14-15

We'll start this series with stating our goals and requirements: What applications are we going to host and what do we need to do that. You might need to tweak or change some details for your specific application, but by following this series you can probably lower the time needed from 6 weeks to 1. What will you do with these 5 weeks of freedom?

Next we'll describe the cloud architecture we ended up with. We'll also discuss some possible improvements. We'll only detail the current architecture though, simply because we don't know what details are needed for the improvements.

We'll then continue with the details and configuration of each AWS building block, followed by the deployment and configuration of the applications. We'll finish with monitoring and backups.

If you ever need more information, you can use the appendices to find details and links to relevant AWS information, websites and docs. But first our goals and requirements.