Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Azure or Amazon EC2 for ASP.NET MVC Development?

If you want to build enterprise ASP.NET MVC applications that use MSSQL databases is it better to use Windows Azure or Amazon EC2?

I didn't find any satisfying answers.

So what are the advantages and disadvantages of the two cloud plattforms (Price, Performance, Simplicity of integration, ...)?

like image 780
Ben Avatar asked Nov 26 '10 11:11

Ben


People also ask

Which is better Azure or AWS?

Azure is the finest alternative for a robust Platform-as-a-Service (PaaS) provider and even a Windows integration. If a company needs infrastructure-as-a-service (IaaS) or a wide range of tools, AWS may be the ideal option. It will be determined by the needs of the users.

What is Azure in ASP NET MVC?

Windows Azure platform is Microsoft's cloud solution. Compared to other cloud solutions, the biggest advantage is it seamlessly integrates with Microsoft . NET Framework and the development environment, therefore, regular .

Can we host ASP Net website on AWS?

To deploy an ASP.NET Core 2.0 containerized application targeting Linux, right-click the project in the Solution Explorer and select Publish Container to AWS. You can also select Publish Container to AWS on the Visual Studio Build menu.


2 Answers

Both are for slightly different purposes -

Amazon is infrastructure as a service, which means you dont have to purchase hardwrae, the networking equipment and maintain them. You will get virtual machines that can host linux or windows OS and can easily install any framework, web server or applications you want on it to use for hosting web apps or web services or long running processes. You are still responsible for maintaining the operating system which means that you still need to apply upgrade patches, protect against viruses, and are completely responsible to ensure that the OS does not crash.

Windows azure is a platform-as-a-service - you basically get windows VMs like in Amazon, but the operating system management and the application framework is also completely abstracted away from you. It allows for automatic OS upgrades and maintenance. Also this means you just load your app and it starts working - no need to worry about the low level details.

While this reduces the control you have over what you can install and what you can't it gives you much lesser operational overhead since you don't need a lot of administrative effort in maintaining your instances. Also scaling up and down, load balancing, auto high uptime, all these are handled by the azure service controller (or the fabric controller).

Sql azure is one step ahead in this direction - you dont even have to consider a VM, you just get a particular size db in the cloud, and you pay for what you use. The data is seemingly triple replicated and hence there is very good reliability built in. It is much cheaper to have this at least for smaller databases than to have a full blown instance for an sql server.

MS is also introducing some features like windows server vms which will give you an option for having amazon like instances, but I personally like the current azure better.

So to summarize - for new asp.net mvc applications, with sql server backend, windows azure is a great platform to build on. On the other hand, if you have an existing website which has a lot of dependency on legacy components that are not supported by windows azure, amazon will be a far better choice. Also Amazon will be slightly cheaper for an instance of same size (though the pricing structures can vary depending on the commitment you want to give).

like image 120
Roopesh Shenoy Avatar answered Sep 26 '22 00:09

Roopesh Shenoy


Roopesh gave a good description of some of the differences. Let me add to it, for your specific case.

Since you want to use Microsoft SQL Server, Azure's SQL Azure is going to be a good fit. Further, if you deploy your application into an Azure Web Role (a role is a virtual machine with a specific template, and a web role specifically runs IIS), you can then work directly with your SQL Azure databases in the same data center without incurring any bandwidth charges or Internet latency between your app and your database.

One clarification: SQL Azure does triple-replicate your data. This replication is instant, so keep this in mind when you DELETE * FROM CUSTOMERS, as this deletion is also triple-replicated. Consider this when planning your backup strategy (maybe take advantage of Azure's sync service to periodically back up to another database, either in Azure or on-premises).

like image 42
David Makogon Avatar answered Sep 23 '22 00:09

David Makogon