I build my stuff on top of a stack that hardly ever goes down.
All my SaaS products run on a Windows server, with SQL Server as a database and ASP.NET on IIS running the public sites. You can probably come up with a lot of uncharitable things to say about those technologies, but "flimsy" and "fragile" likely aren't in the list.
As a result, when things go seriously wrong, the application pool will recycle itself and the site will spring back to life a few seconds later. Actual "downtime", of the sort that I learn about before it has fixed itself might happen maybe once ever couple years. At least, I seem to remember it having happened at least once or twice in the last 15 years of running this way.
There's a Staging box in the cage, spun up and ready to go at a moment's notice, in case that ever changes. But thus far it has led a very lonely life.
I agree. I’ve spent close to 20 years hosting on IIS and have never had downtown attributable to it - especially since the app pool will recycle. Most of the issues I’ve seen were caused by people who didn’t know how to use EF correctly or badly tuned databases/queries.
Even now, the only “Linux deployments” I do are either with Lambda or Fargate (Serverless Docker). I just don’t like managing servers. These days even my EC2 instances are disposable.
Code Red was 18 years ago, Blaster 16, Witty worm 15. All ate ISS servers for breakfast in highly automated fashion. 20 years of IIS with no downtown indeed.
I know about the Unicode hack - where you could basically encode DOS commands in the url window and it would run on the server. We got lucky. It renamed all pages using the default names. We didn’t have any.
I’m curious, how much did you have to pay for your licenses? If you are a single founder with a new startup, it seems like you’d need a bunch of money to be able to use Microsoft in production, unless you can use something like BizSpark (if that’s still a thing?).
If using Microsoft be very wary of the cost of understanding the licencing - especially for the "free" options.
Many years ago we used BizSpark, and we wasted far too many days and dollars trying to understand and use the licencing (and using the abysmal web interface that was mandatory). We couldn't end up jumping through the right hoops to use products in production, even though were target audience for the products when we started our business. The licences had very broad exceptions that gave Microsoft the right to pull the plug at any time.
I'm sure things are different now, but I'm also sure they are the same.
BizSpark is not still a thing. The replacement program, Microsoft for Startups, requires being associated with a partnered "startup-enabling organization."
A standard sized Azure App Service runs about a $75 a month. That will let you host about as many ASP.NET sites on it as you want - and there's no VM that you have to manage. Scaling up or out is pretty painless if you need to
A SQL database on Azure runs about $5-$15 a month, depending on how you configure it.
Once you throw in SSL certs and DNS management, you're probably looking at about $100 a month.
You'll want to switch to the Single Database and change the pricing model from vCore to DTU. Then you can pick Basic or Standard and adjust the size and compute resources.
Basic will do quite a lot; I use one to load test our application and haven't hit limits.
I use Leaseweb and they include a line item for the license price. It is all very affordable. I pay about $65 a month for a Windows 2016 server that I run IIS and SQL Server on for all of my projects I have going on. Very fast, affordable, etc. My SQL Server came from MS Bizspark for free (MSDN).
Last I knew, Visual Studio Professional was about $500 for a single user. SQL Server can get expensive depending on what you're hosting, but IIS and ASP.NET don't cost anything. All you'd need is a Windows box for those.
SQL Server on RDS includes the SQL Server license and is very cost effective for what you get. (Backups, point in time restore, etc). They also offer EC2 with SQL Server but I’d rather pay the slight premium for the additional management.
All my SaaS products run on a Windows server, with SQL Server as a database and ASP.NET on IIS running the public sites. You can probably come up with a lot of uncharitable things to say about those technologies, but "flimsy" and "fragile" likely aren't in the list.
As a result, when things go seriously wrong, the application pool will recycle itself and the site will spring back to life a few seconds later. Actual "downtime", of the sort that I learn about before it has fixed itself might happen maybe once ever couple years. At least, I seem to remember it having happened at least once or twice in the last 15 years of running this way.
There's a Staging box in the cage, spun up and ready to go at a moment's notice, in case that ever changes. But thus far it has led a very lonely life.