Thursday, January 3, 2019

How do I "publish-run" like azure webapps in an ubuntu instance?

My apologies if I made some dumb assumptions. What I'm looking for already exist in Azure, but due to limitations I wish I could do them in an AWS EC2 ubuntu instance.

  1. The Publish .NET Core to webapp feature - click publish in visual studio, it automatically detects changes in files, then publish to the server, then the server (restarts the app?) automatically.
  2. Multiple websites in one "service plan", such as, I only have 20 users, and I want API server and Update server to be different website, but "shares the same VM".
  3. A really useful thing about Azure Webapps is I get the independent publish profile without logging into the "main account", so my boss don't have to worry I turn on a big VM and charges indefinitely.

Few solutions I've tried:

  1. Directly "dotnet run" on ubuntu - This does not solve (2), perhaps run them in different ports and reverse proxy, but I have to do them manually. And, I have to restart the instance on the server every time i made changes.
  2. Use docker, but docker treats everything as a container, which I have to re-publish whole container (and replace them manually on the server side?) which does not solve (1)
  3. I've look into AWS Elastic Beanstalk but their lowest tier is quite heavy for low user amount. For Elastic Beanstalk, it do not check which file is changed too, it requires whole thing to be updated, which is 100MB+ vs. few kb.

I've searched into this for very long time and I could not find the 'term', and I don't understand how Azure WebApps works at all. They aren't actually docker containers (the file system are mutable), able to FTP and automatically restarts the app once publish.

The reasons I want to do it in Ubuntu instance is, some cases, I need to host the server in private network, another cases is mentioned up there, which the client wishes to use AWS. Thanks.

How do I "publish-run" like azure webapps in an ubuntu instance? Click here
  • Blogger Comment
  • Facebook Comment

0 comments:

Post a Comment

The webdev Team