Continuous delivery to Azure using Visual Studio Online with Azure Virtual Machines - asp.net

I need Continuous delivery to Azure virtual machines(not cloud service or websites) using Visual Studio Online
Here is the link for Continuous delivery - http://azure.microsoft.com/en-us/documentation/articles/cloud-services-continuous-delivery-use-vso/
Is this possible with Azure Virtual Machines?
My another question is which one is best Azure Virtual Machines, Cloud services or Websites? My application is big business application which is built in asp.net 4.5 and SQL server 2012 so I wanted to
know which one is best with the "Continuous delivery"

The continuous delivery you are talking about can be achieved in an Infrastructure as a service(IAAS , Virtual machines) scenario as well as in Platform as a Service ( PAAS ,Azure websites) scenario.
1. In case you want to have control on the platform, runtime , roles etc. and you decided to go he IAAS route your CI/CD setup will be no different from a on-premises machine deployed , the deployment destination changes to an Azure VM instead of local machine.
2.If you decided to offload the OS/runtime/Environment management to Azure and are only taking care of your application deployment , azure still supports CI/CD using the KUDU engine. And slots( Dev/Staging) could be configured for continuous deployment. You can setup continuous deployment or you may want to deploy your app in a staging slot for validation and promote to PROD when things look good.
CI/CD in Azure VM - https://azure.microsoft.com/en-us/solutions/architecture/cicd-for-azure-vms/
CI/CD for Azure Websites - https://azure.microsoft.com/en-us/solutions/architecture/vsts-continuous-integration-and-continuous-deployment-for-azure-web-apps/

Related

Can I replace AppDynamics with Azure App Insights

Our existing Infra is hosted on private servers. AppDynamics is used for monitoring hundreds of application & host performances.
As a move we are moving all our applications on Azure. Is this possible to get away from AppDynamics & use any Azure solutions for the same purpose. Possibly Azure App Insight/Monitor ??
We have tried Java Application Monitoring on Azure App Insight; Azure Monitor is useful there. Also we have used LogAnalytics for creating various performance Dashboards on Azure Monitor.
Can Application Insight support all the similar features of AppDynamics: Like Workflow Monitoring Performance Monitoring etc etc..

Hosting providers for Matlab based Dot net application

I have developed a Dot Net based web application that uses matlab code compiled into dlls and deployed it on local server with 'Matlab' instsalled. It works on local server well. However, I want to deploy it on a hosting domain for ease of access. But I dont know about any hosting providers that support working of matlab dlls with web application. Is there any suggestion about such hosting providers and how should I deploy it on a hosting domain.
PS: on my remote server i had to install Matlab to run that application when deployed on IIS server ie with just mcr instlled the application was not working.
I'm doing it for the first time so I dont know much about it.
On this paper explains how to put matlab on Amazon EC2
Amazon had AMI instances
MATLAB AMI on EC2
The pre-built AMI offerings on Amazon have been depreciated and will no longer be available. You are able to work with Amazon or another cloud service provider to get you own machine instance and use your license there.
To best run MATLAB on a cloud instance, you will need your license configured as a Login Named User (LNU). If you have an Individual or Group license activated as a Standalone Named User , you can configure it as an LNU at [https://www.mathworks.com/licensecenter/lnu.][3]
Also on windows azure
You can get any host provider with IAAS and apply matlba LNU license

How to deploy asp.net webapp in azure virtual machine

I am quite new to azure and need a quick pointer to how to host an asp.net website in Azure VM. Thanks for your help in advance.
A little background...
We were using a windows server 2012 R2 and were hosting the site in IIS 6. This was an intranet site. Now we are migrating to public cloud so that it is accessible over internet. For this we have acquired an Azure VM (Windows OS). We have installed Visual studio 2013 and SQL server 2012 here. I have installed azure core SDK too.
Here are my questions:
What do I use instead of IIS to host? (Because I am not able to find any related app in azure VM)
Do I need to buy any more licenses for the same?
Should I host it in IIS only and because it is in public cloud, will it be accessible over internet?
Appreciate your help!
Since you have chosen the Infrastructure as a service ( IaaS) route you have to simply replicate the setup that you have on premises.
if IIS component is not there you just have to enable it in windows features.
If you do not want to use IIS you can explore self hosted asp.net applications.
Since you have chosen the Windows server VM image and created the VM you do not need to pay for anything additional for windows license.
By default only 2 endpoints( ports) will be open in a Windows VM. 1 for remote desktop and other for powershell remoting.
refer this post for enabling endpoints for you hosted applications.
https://learn.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-classic-setup-endpoints
You have two options basically
Use Azure Paas - Here you would host your existing application as a Cloud service using a web role and a Azure SQL Database. This might mean some changes to the existing application but would need less management from you. You can find the migration steps here
Use Azure Iaas - This is pretty much what you are trying to do. Host your application to a VM and manage all the required software (IIS,Sql server etc) on your own. Although this option might be easier in terms of migrating your application it involves managing the infrastructure on your own. Here is a link on how to install IIS on a Azure VM.
You don't need any additional licenses since you are paying for the VM which includes all required licenses. In case you decide to use SQL Server as Iaas you can also use your existing SQL Server license when running SQL Server on an Azure VM.

Azure Web Sites - multiple versioned deployments

We have multiple clients and we use Azure web sites to host our web application. When we upgrade a client to a newer version of our software we have to upgrade all of our clients to the latest version.
We would like to be able to upgrade a subset of clients when we release a new version. This would give us the ability to test that the new solution is working properly before we bring all of our clients to the new version. We would like to offer a beta version option to selected clients so that they can access new features of our software and are aware that the version they are using is still in a 'beta' mode.
When we deploy a new version we would like to create a web site just for this new version whilst leaving the other clients on the more stable previous version. To do this we are thinking of writing a reverse proxy that directs traffic to the different versioned web sites depending on the client.
Can we host multiple versions of the web site using the same Azure web site. (IIS directories) The documentation I have read relating to this does not mention being able to build multiple versions of the web site based on different code bases.
Is there a way to set up the build so that each new version is deployed to a directory on the Azure same web site so we can effectively host multiple versions of our app under the same azure web site?
We could do every versioned build to a new Azure web site but this could get quite expensive as we run two instances so as to maintain a good SLA. It is feasible that we could end up with ten versions in the wild at once, running 20 Azure web sites to support these versions could get expensive. How can we save on costs and give our clients a good experience?
You can have up to 5 deployment slots including production on azure web apps. Each slot can use a different branch of your source control system like git or tfs. If you use any of these two, deploy is also automatic (continuous deployment) and you can swap slots any time very fast with minimium to none downtime. Each slot has it's own url for external access.
To save costs, you can run multiple web apps on the same hosting plan. There's no limit for the number of web apps running on the same hosting plan. For each hosting plan it's possible to have 10 small/medium/large instances.
Set up staging environments for web apps in Azure App Service
https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/
Azure App Service plans in-depth overview
https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/
Yes this is possible. In management portal, You need to configure the details for the IIS virtual directory or application in the website’s configuration.
Ref - http://blogs.msdn.com/b/tomholl/archive/2014/09/22/deploying-multiple-virtual-directories-to-a-single-azure-website.aspx

Run aspx site backed by MySQL on Azure

I'm completely new on Azure, I have a aspx.net site that talks to a MySQL db, I would like to run both, site and db on Azure, what would be the bext way to do so? Thanks
There are a number of options here depending on the load and bandwidth you expect, what kind of service level agreement you need, the amount of control you want over the application, etc. Let me start by saying you can try all these options out - free - for 90 days with a trial account.
The easiest (and cheapest) entry point would be Windows Azure Web Sites Depending on your bandwidth requirements, you could actually run this completely free (along with a MySQL DB on Azure for a year). Web Sites are shared infrastructure, though there is a higher tier (reserved) which can give you a more consistent availability and throughput. At this time, Web Sites are in a preview mode, so there is no SLA. For a walkthrough see this tutorial.
Via Windows Azure Cloud Services (Platform-as-a-Service) you could deploy your ASP.NET site to a Web Role and use the ClearDB offering (their free offering is what you get as part of Web Sites above). Cloud Services give you a lot more flexibility to scale your application and couple it with other enterprise-grade services in the cloud, and it's covered by a 99.95 SLA. You are charged an hourly rate depending on the configuration and number of virtual machines running your app. With Cloud Services, you'd use Visual Studio and simply deploy your application as a Cloud Service - the management of the underlying resources (virtual machines, etc.) is handled for you by Windows Azure - hence "Platform-as-a-Service"
Lastly there's the newly released Virtual Machines option (Infrastructure-as-a-Service) where you take complete control of the VM that hosts your application. Unlike, Cloud Services you own your VM, so it's up to you to apply operating system patches, install your application and any other ancillary software, and apply any necessary configuration steps. It's a lot of power with a lot of responsibility. In general, I'd only consider Virtual Machines for your scenario if there's a specific technical reason Cloud Services won't work. For the MySQL side, you could also use a Virtual Machine to run MySQL on your own, but again you would own the administration of that service, have to apply patches, clear logs, etc.

Resources