There are a lot of different cloud-based services available these days. Microsoft Azure is probably one of the most popular of them. It has been recognized as a leader in the cloud storage market for the third year in a row. The coverage is incredible – 26 regions all over the globe, including China. Microsoft Azure is not just a cloud service, it’s a platform that supports numerous programming languages and operating systems and provides various tools and templates to help developers create easily and fast. Since 2015 Microsoft has been using Linux to run its cloud. They integrated Linux to create their switch software and now it’s optionally available for Azure customers.
If you’re an ASP.NET developer and you want to deploy your app to Azure to take advantage of its cloud service, you can do it with minimal changes to your code. But before you migrate your ASP.NET app to Azure, you need to weigh all the upsides and downsides of this cloud storage.
Pros of Deploying an ASP.NET App to Azure
Flexibility and scalability
You can’t predict how successful your app will become. One thing you know is that you need some extra space for it and you expect that the service where you’re going to store it will allow for your growth. Microsoft Azure can offer you that. One of its main advantages is that the storage grows as your app grows. This is possible thanks to a specific distribution of your data while downloading. It also provides a higher level of security. Apart from scaling up, you can also scale down to match your current demand and pay only for the resources you use.
Data storage and analysis
Microsoft Azure decided to solve the problem of Big Data by bringing the Hadoop platform to the cloud. Azure HDInsight is a service that allows you to handle and analyze any amount of data. Being visualized through Excel, the results give you new business insights which can facilitate your progress.
You can store any type of data including files, data sets, and queries as well as share it across VMs using the industry standard SMB 2.1 protocol. Special emphasis is placed on the safety and security of your data. Two separate Azure data centers securely store your backups (6 copies of your data are made) and the Microsoft Security Development Lifecycle ensures the most secure code.
Thanks to Azure Automation service you can eliminate manual management of your Azure environment and enable automatic control over the resources. Just create workflows (“runbooks”) and let them do all the necessary work for you. Also, you can set certain tasks and let the Azure’s scheduler automate them for you at the selected time. If you one of those who create and run many APIs at a time, there is Azure API Management using which you can publish APIs to the customers or employees. If you work in an integrated development environment, you’ll find Azure’s Visual Studio Team. You can enroll in Microsoft web API certification courses online to learn more about this.
Services very useful. The tools it provides will facilitate collaboration between the members of your team, allow them to share code, track work, and ship software.
Cons of Deploying an ASP.NET App to Azure
Different storage services
Your data can be stored either locally or externally. In the first case, it’s stored in your application’s VM and in the second case – in the storage services available within Microsoft Azure. Microsoft Azure provides both relational and non-relational storage services.
Non-relational storage is provided in the form of blobs, tables, and queues that are collectively known as “Microsoft Azure Storage”. Relational storage is available via SQL Azure, which is SQL Server technology delivered as a service.
If you don’t want to set up, install, or maintain an actual database server, use Microsoft Azure Storage.
Although the Microsoft Azure environment includes the .NET Framework (3.5 and 4) and the Windows Azure SDK assemblies, it does not support other 3rd party or Microsoft frameworks. You may use the ASP.NET MVC (versions 2, 3, or 4) framework (included as a part of the WebRole project templates in the Microsoft Azure Tools for Visual Studio). Fortunately, there are the ASP.NET MVC (versions 2, 3, or 4) framework assemblies in your application’s deployment service package (.cspkg file). Still, if your app is dependent on other frameworks, you will need to add them to your service package while before deploying your app.
Authentication and identity
Microsoft Authentication requires the web server to be a part of the domain the users belong to. Since your ASP.NET app runs in a Windows Azure datacenter, the web server won’t be part of your company’s corporate domain. Nevertheless, there is a way out. There is an authentication service called Access Control Service (ACS) that allows you to establish a trust relationship between Windows Azure and a secure token server (STS) in your company. Since it sounds pretty confusing, it is attributed to cons.
Article is written by .Net Developers from FreezeProSoftware Located in Ukraine.