Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is there a service like Heroku for hosting .NET core applications / dbs?
17 points by bochoh 5 days ago | hide | past | web | favorite | 19 comments
I love the idea of a Heroku style site for a single-founder startup but don't like the idea of third party buildpacks that lack EF migration support once deployed etc.

Azure App Service, maybe? Deploying from the CLI is quick and easy. Or you can do it right from Visual Studio or VS Code.

Setting up a database of your choice (Postgres, MySQL, SQL Server) is nice and easy too.

Visual Studio can also help automate running EF Migrations scripts, you just provide a Connection String under EF Migrations settings in the Publish settings.

What it does under the hood is also relatively easy to script or automate in other places. It builds a script artifact using:

    dotnet ef migrations script --idempotent
That gives you a "run anywhere" SQL Server T-SQL Script (I don't think it supports other databases) that will run any migrations that don't exist in the target database (and is safe if the target database is already up to date).

Then it's just a matter of running that script on the right database.

Yes. There is https://appharbor.com It also supports many free tier third party add-ons and prior to docker being as popular as it is I found it a great site to quickly deploy prototypes https://appharbor.com/addons There is also an opportunity to request free hosting if you are building something for the developer community. https://appharbor.com/page/community-application-program

Also you might be interested in looking at FluentMigrator for database migrations. It's a tad more work but they have a really well thought out fluent interface for writing migrations. I find it much nicer to work with than ef migrations

Appharbor does look like a zombie startup. The last blog post 5 years ago, the last tweet 3 years ago. Alexa ranks them at #466,765. I was their customer many many years ago but eventually switched to AWS.

App Engine Flexible for .NET Core is fairly low effort to go from code to deployed


You can simply dockerize your app and deploy it to Heroku: https://medium.com/faun/how-to-dockerize-a-net-core-applicat...

With the inception of Docker and containerized applications, what are the upsides of a Heroku-type service?

Speed. I’m working on a new personal project. The last project I was on, I took time to write Terraform to deploy to AWS Elastic Beanstalk where I ran Docker containers. It took me two days to get all of that setup, and I consider that time to have been poorly utilized.

Yes, I can use Docker and deploy to my own server, but I really want to focus on the product/service being built, not infrastructure. I’m using Heroku now because it is free (for the moment), and setup is relatively quick. I just added Redis and Celery last night. That was mostly a matter of clicking to add the add-on, and updating some Django settings.

If the project takes off, and makes some money, maybe I’ll move to a different provider. At this stage, however, the costs outweigh the benefits.

> The last project I was on, I took time to write Terraform to deploy to AWS Elastic Beanstalk where I ran Docker containers. It took me two days to get all of that setup, and I consider that time to have been poorly utilized.

To be fair, you don't need that whole stack to run containers, and most of the work you had to do was to operate a particular choice of infrastructure services and tooling that are not necessary to run containers.

All you need to run containers in a single-node setup is Docker, and that's it.

That's true. I wanted to maintain good continuous delivery practices while minimizing the need to worry about individual resources (e.g. web server, database server, DNS), which is why I opted for Elastic Beanstalk. Then I fell down the Terraform rabbit hole.

Docker definitely gets the job done, but I would still have to worry about dealing with data backups, DNS, and deploying to the server. Heroku worries about all of that for me now.

Not having to deal with Docker.

In your opinion what's the problem with Docker?

My biggest nitpick is being unable to mount an external volume during a build (without doing hacky stuff).

Can't you just share a volume to the image? That's not hacky (in my opinion).

There was some quirky edge case that made that not possible. I don't remember what it was, as this was a couple years ago.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact