MVC App Deployed to Azure - Do I have to use SQL Server Azure - azure

I am completely new to Microsoft Azure. I have just about completed an MVC 5 application that uses SQL Server 2012. I'd ilke to deploy my app to Azure but have it hit a SQL Server 2012 database that is hosted someone else (another commercial web host). Is this possible, or do I have to use SQL Azure for my app?

Yes you can use another vendor but you'll have to check if they allow outside traffic in (usually on port 1433). Even if they allow this, you'll have to think about the possible latency issue caused by such an architecture.

Related

Why should I prefer Azure App Service over .NET REST Web API?

Why should I use Azure App Service and not just implement a common .NET RESTful Web API backend?
What's the explicit benefit of this service compared to a common .NET RESTful Web API backend hosted on Azure?
An Azure App Service is a place to host your web application or API. Normally when you have a .NET web API you host it behind IIS or something on a virtual machine.
Azure helps you with these common scenarios wit Platform as a Service (PaaS). An App Service completely abstracts the operating system and the way you host your web application.
App Service can host web apps both on Windows and Linux. You can use all kinds of frameworks such as PHP, .NET or Java. You can even host containers without worrying about the host.
A good sample to start with hosting your .NET Web App on Azure App Services can be found here: Quickstart: Create an ASP.NET Core web app in Azure
Yes, there is a huge difference between Azure App Service and .Net REST WebAPI backend on Azure.
Hosting on Azure can be done using two ways
Create your own VM, then install IIS and do all the required stuff
Use AppService Plan
AppService Plan allows you to leverage the powerful functionality of Azure. Here a separate VM is not assigned to you. Azure App service can scale automatically depending upon the Scaling rule which is not present in restful API hosted on Azure VM.
My question blatantly was a stupid Newbie question, and as such, I'm afraid it is non-sense, which I now know by the answers you've given.
I'm currently reading the book "Azure and Xamarin Forms" to learn Xamarin and Azure. Apparently it's outdated. It suggests to "create a Mobile App on Azure". From the book that Mobile App is just a plain App Service running a RESTful Web API with EF, but utilizing completely different namespaces to do so.
My question targeted towards these other namespaces. I didn't see a reason for them.
Apparently, Microsoft noticed the same. There is no "Mobile App" available in the Azure Marketplace anymore.
Azure App Service is a PaaS solution from Microsoft hosted on Azure. You can think of Azure App Service as some sort of "Micrsoft Heroku", because they work on a similar fashion. For many REST Projects, it can save you hours, if not DAYS of development. It has automatic TLS like heroku, but it is hosted on Azure instead of AWS and it can integrate very well with your existing Azure resources. One common pattern is to host the REST API on App Service and use a database service from Azure such as Azure SQL or Cosmos DB (which is a NoSQL service that, from the point of view of your app, it operates as MongoDB, but can be configured to behave as other DBMS).

Azure Mobile App targeting Linux database

Is it possible to use xamarin forms and azure Azure Mobile Service to sync data online/offline but with the database hosted on a linux server outside the Azure platform?
No, you can’t use On-prem database hosted on Linux server with Azure Mobile App.
For windows server, you can use Hybrid Connection to achieve this scenario: https://github.com/Azure/azure-mobile-services/blob/master/docs/mobile-services-dotnet-backend-hybrid-connections-get-started.md.
But Hybrid Connection client is not yet available for Linux Server.

ODBC or OleDB database drivers under Azure App Service

I'm investigating what's involved in deploying an ASP.NET MVC web application to Azure as an App Service, using Web Deploy from Visual Studio 2015.
The MVC web application uses SQL Server for the identity database in the standard fashion, so I can see how to point that at an Azure-hosted database server.
In addition, it has some 'legacy' data in DBF files in the App_Data folder, accessed on my development PC via OLEDB.
This scenario is obviously going to fail on deployment because whatever box(es) the site ends up hosted on won't have this OLEDB driver installed.
Is this a complete non-runner or is there some way of installing the driver?
One possibility is to use Windows Containers on Azure App Service in which you have control over what drivers or custom software to install.
Please check the quick start to run a Windows Container in App Service:
https://learn.microsoft.com/en-us/azure/app-service/app-service-web-get-started-windows-container
You can't install ODBC or OleDB drivers when using App Service, you need to look at Virtual Machines.

Deploy ASP.NET MVC 4 to Staging and Eventually Windows Azure

I have an ASP.NET MVC 4 app. This will needs to be deployed to an internal IIS server, which is a Windows Server 2008 machine, for testing. Eventually, we will deploy the app to Windows Azure as a Web Role. From my understanding, there is a way to have a "private" cloud on Windows Server 2008.
What is the recommended way to deploy an ASP.NET MVC 4 app to a "private cloud"? Please bear in mind that this app will eventually go to the public version of Windows Azure.
Thank you,
If you eventually want to deploy on Azure, I would strongly recommend that you test on Azure. If this is a commercial project that you're working with and you want to do one month's testing that will cost you approximately $160 for two instances (you really do need to test with two instances). Compare that to the hourly rate of whoever has to setup and support the server and you're probably already ahead.
You can run your site on premise with IIS, SQL and even AppFabric caching (Velocity) and all of these are similar to what you get in Azure, but not the same. Windows Azure SQL DB (WASD) in particular has different restrictions to and a different performance profile than an on premise SQL Server DB. If you want to use Azure Storage, there is no on premise version of this.
I would get a Windows Azure VM (or doesn't matter, it can be an server on premises) and deploy through web deploy.
Here is a great blog post on how to get a VM up and running with web deploy with only one script:
Script Out Everything - Initialize Your Windows Azure VM for Your Web Server with IIS, Web Deploy and Other Stuff
I used Windows Server 2012 there and PowerShell 3.0. So, there might be a few things that are not available in Windows Server 2008 R2. However, I heard that PowerShell 3.0 is now available for down level OSes. If that's true, I would also recommend you to get it installed at the first place because it has new capabilities.

Can I host an application in Windows Azure and have the database stored on different server

Can I host an application in Windows Azure and have the database stored on different server? For example I want to keep my data on a server where I dont have to worry about privicy issues. And if this is possible does it remove the value of having an application hosted in the cloud?
thanks
You mean hosting your application on Windows Azure and then hosting the database on your own servers? This is totally possible, but you'd have to publicly expose your database. You could host your database on SQL Azure and that would be a 'separate server' from your Windows Azure host. With SQL Azure, you can set up a firewall rule to allow only your application to access your database.
If you were to host your database on your own servers, I don't think that it would completely diminish the value of hosting your application on the cloud as your app tier at least would still be hosted "in the cloud". Though, you could also run into performance issues in this scenario as SQL is a little slow to access over the internet using TCP.
You can host on premise and use a secure VPN as part of Azure now. This can be done using Azure network in the latest release.
Can setup an Azure site to site VPN and get access to your private data centre that way.

Resources