-
Feb 4th, 2020, 02:22 PM
#1
Good web hosting sites
I've used GoDaddy in the past to host my web app for a client that did not want to buy their own hardware. I paid extra to get full RDP access, as managing IIS and what not is too complex for a dashboard, imo.
I'm now being asked by another client to do this same thing. I was thinking I would skip the GoDaddy option, and search for other better solutions.
Is AWS or whatever MS calls their cloud services the same? I've got a ASP.Net VB.Net MS SQL backend code base, talking to a jQuery/AJAX'y page.
Suggestions? Pitfalls?
-
Feb 4th, 2020, 02:32 PM
#2
Re: Good web hosting sites
-
Feb 5th, 2020, 05:04 AM
#3
Re: Good web hosting sites
AWS and Azure are good hosting options but they are pretty heavy duty and are likely to be more expensive in your current architecture.
To make them cost effective you want to be using distributed web services and something like Docker (other tools are available) https://opensource.com/resources/what-docker with which you can host your web services in containers which can make hosted apps significantly cheaper to run.
The main cost in Web hosting is all around data access, you will generally host your web app as a hosted application, then you have to host your database and your web services. having your data access layer in containers means they can run on demand (rather than always running) reducing the cost, as you generally get charged for usage over time in AWS and Azure.
Doing proper hosted apps in AWS or Azure if you ever want to go down that route is a skillset in itself (as i am currently learning) there is a lot to it and alot of different options, in AWS for instance you can even do all your infrastructure as code by using AWS's Terraform language which allows you to define your hosted network through terraform script files.
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
Feb 5th, 2020, 06:25 AM
#4
Re: Good web hosting sites
@jdc - thanks for the links .
@nsa - thanks for that answer. Currently I do all AJAX calls to my backend VB.Net methods - I do not rely on any ASP.Net functionality at all.
Here's an AJAX POST and the backend VB.Net code that receives it. Is that VB code what you have sitting in a container? How do you get your DB online and work with it? I do stuff like make PDF's (with pdfSharp) and create .XLSX files (with .Net XMLSDK).
Code:
var strWebParam = $.toJSON(objWebParam);
$.ajax({
type: "POST",
url: "WebService.asmx/SourceService",
dataType: "json",
data: strWebParam,
contentType: "application/json; charset=utf-8",
success: function(msg) {
ajaxAsyncFinished(msg, strNewAccordion, "success", options);
},
failure: function(msg) {
ajaxAsyncFinished(msg, strNewAccordion, "failure", {});
if (strNewAccordion.length != 0) {
$("#" + strNewAccordion).val("Loading...failure...");
}
},
error: function(msg) {
ajaxAsyncFinished(msg, strNewAccordion, "error", {});
if (strNewAccordion.length != 0) {
$("#" + strNewAccordion).val("Loading...error...");
}
}
});
Code:
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=False)> _
Public Function SourceService(ByVal sproc As String, ByVal objReturn As Dictionary(Of String, String), ByVal sguid As String, ByVal username As String) As String
Dim rtnString As String = ""
Try
If checkGuid(sguid) Then
Dim credDB As String = ""
If Not username.StartsWith("~~nologin") AndAlso username.Contains(":") Then
credDB = username.Split(":"c)(0)
username = username.Split(":"c)(1)
End If
Dim JsonMaker As JsonWriter = New JsonWriter
With JsonMaker
.StartArray()
'.StartObject()
Dim blnDidFirstObject As Boolean
Try
Using dcn As New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("LocalSQLServerAWC" & credDB).ToString)
Using cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "dbo." & sproc
cmd.Connection = dcn
cmd.CommandTimeout = 0
DetermineParameters(dcn, cmd)
SetParameters(cmd, False, "", objReturn, Nothing, "", "", username)
dcn.Open()
.
.
.
Using sdrReader As SqlDataReader = cmd.ExecuteReader
While sdrReader.Read
If Not blnDidFirstObject Then
blnDidFirstObject = True
Else
.Seperate()
End If
.StartObject()
.NewObject("label", sdrReader(0).ToString, True, True)
.Seperate()
.NewObject("value", sdrReader(1).ToString, True, True)
.EndObject()
End While
End Using
End If
End Using
End Using
Catch ex As Exception
.ResetJson()
.StartObject()
.NewObject("%%dalerror%%", ex.Message.Replace("""", "'").Replace("", "\"))
End Try
.EndArray()
End With
rtnString = JsonMaker.GetJson()
Else
rtnString = "{""LoginRequired"": true}"
LogOutput("GUID not found (SourceService): " & username)
End If
Catch ex As Exception
LogOutput(ex.Message & " (SourceService): " & username)
End Try
Return rtnString
End Function
-
Feb 5th, 2020, 07:12 AM
#5
Re: Good web hosting sites
@nsa - thanks for that answer. Currently I do all AJAX calls to my backend VB.Net methods - I do not rely on any ASP.Net functionality at all.
Here's an AJAX POST and the backend VB.Net code that receives it. Is that VB code what you have sitting in a container? How do you get your DB online and work with it? I do stuff like make PDF's (with pdfSharp) and create .XLSX files (with .Net XMLSDK).
It doesnt matter whether you use ASP.Net functionality or not, What form is your back end VB code ? are they SOAP web services or REST like WebAPI ? as yes thats the part that would sit in containers.
There are a number of ways you can get your DB online, you can run actually run your DB in a container but also you can run it as a DB service in the cloud. You can work with it using sql management studio or mysql workbench as normal you just need the right connection info.
It a slightly different way of developing as you actually add Docker into your web service VS project so when you run it, it runs inside the docker container rather than IIS, if for instance you used .net core you can even run it on a Linux server
Using containers would require some work to back fit into your current project i would imagine, if you were even considering it i would in the first instance look at finding a tutorial in Dockerizing a Web Service and play around with it
You can just do it more simply and host your web as a web application and your DB as a Database service but form what i have seen that costs more. The main driver of using containers and lamdas and things like that in hosted environments is cost reduction as if your not careful the costs can spiral.
Shoving a VM in the cloud and having it running constantly for instance is really expensive.
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|