Development environment in Azure - azure

I've recently started using Microsoft Azure and Visual Studio Team Services.
We use VS Team Services for cloud storage of our source repositories in TFS.
Continous deployment is configured to build and deploy on every commit.
As of now, our development environment is public and can be visited by anyone (published to azurewebsites.net)
However, we would like our development environment to be private and not accessible using a userfriendly url. We could implement some authorization on the web site to prevent others seeing our development site, but there must be another way.
There are ways to accomplish this using deployment slots in a staging area (will give me some guid url), but it doesn't seem right.
Is there any built in support to Azure (or Visual Studio Team Services) to accomplish this?

You could leverage domain and / or IP address restrictions to limit who can connect into your host. See: http://azure.microsoft.com/blog/2013/12/09/ip-and-domain-restrictions-for-windows-azure-web-sites/.

Related

Azure: How to manage development and production websites

I have been using Azure for some time for some different website I have been working on. Using visual Studio to do the publish and Azure holds the website and the sql. My question is this: How do I manage to publish to the development site and the production site? I have looked around on the web and have not found what I have been looking for so far.
If I choose the publish profile for my production site, and publish via visual studio, how do I control that the website uses the correct production db? In the web.config of the site is currently the connectionstring for the development sql db.
I dont want to sit and change the connection string every time I want to publish to the production site. There must be an easier way to do this?
I imagine that when I sattisfied with the looks of the website on the development site, I will move it to the production site. But how is this handled?
Hope you can help or send me in the right direction.
Using the Connection Strings in the Azure Portal, specify the production connection string in the production site configuration and the dev connection string in the dev site configuration.
these connection strings are injected into your .NET configuration connectionStrings settings at runtime, overriding existing entries where the key equals the linked database name.
https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

AS3 Integration With Azure Cloud Hosting

Does anyone know if Aptana Studio 3 can integrate directly with Azure cloud hosting like it does with Heroku or Engine Yard? Want to avoid the GitHub option if possible as public account.
From the official site for Aptana Studio 3 I see that it supports FTP as a standard publishing method.
You can use this method (ftp) to Deploy your application to Windows Azure Web Sites. And here is a quick tutorial on how to publish to Azure Web Sites using FTP. It will guide you through the process of creating deployment credentials and how to get the FTP site address.
I have been looking at other IDE solutions and recently came across PHPStorm - it has ftp, SVN and Azure integration as standard (amongst others) so am going to stick with it and because it's also an excellent code editor. Happy days!

Drawbacks to Team Foundation Service and TFS on Azure

I'm an MSDN subscriber beginning a personal project that will involve WPF, Web Services, and SQL Server. I'm planning on using my MSDN benefits to host the Web Services on Azure and the database on SQL Azure.
I was going to run TFS on my own dev machine, but then heard about Microsoft's Team Foundation Service cloud offering. Also, it appears that I could run my own instance of TFS on Azure. At this point I'm thinking that Team Foundation Service is the best option because:
I'd prefer to have TFS in the cloud over my main dev machine so that I can access it anywhere and not have to worry about having to back it up.
I'd rather not have to worry about setting up and administrating TFS on Azure if I'm not getting anything extra out of it.
I'm not exactly sure if setting up and using TFS on Azure will be free (or continue to be free) with my MSDN Subscription.
Has anyone experienced any major drawbacks to using Team Foundation Service, like a major loss of flexibility or functionality?
I've been using TFS Services since it has been in preview for my personal work - and I haven't had any limitations in terms of source control/build services. The service is fairly comparable to the full TFS server; but doesn't include the more advanced features such as test automation.
The pricing page also states that service will continue to remain free for MSDN subscribers: https://tfs.visualstudio.com/en-us/pricing/information/
Before TFSPreview existed, I asked some people in the know at MS about running TFS in Azure and I was told that there are some non-trivial problems with running TFS on a virtual machine on Azure. I believe this is why MS are offering TFS as a service rather than as a template for a virtual machine. As such, if you want to use TFS and you want it to be in the cloud, I'd definitely use the TFS Preview.

How to publish dotnetnuke website to azure?

I am looking at migrating a dotnetnuke website to Azure. I need both staging and production versions of the site to be running.
I have looked at using Azure Websites, but at the moment there is no support for SSL on custom domains so this can't be used for the production website. I have migrated the staging site to an Azure Website and now have numerous options for publishing updates (ftp, git, using web matrix).
Due to the constraints of Azure Websites, I used the DNN Accelerator to create a cloud service for the production environment. This set up will allow me to have control over IIS and therefore manage SSL certificates (I think).
The problem I have with this is there does not seem to be any publishing options. The only way I can publish is by connecting to the Azure instance via RDP and then copying the website files onto the files system.
Are there any other ways of publishing? I have looked at converting the website to a WAP, but I believe this has implications when it comes to updating to new DNN versions.
You should never publish your application through RDP since these changes are non-persistent (meaning what you published might disappear after a hardware failure / ...). Adding new instances would also mean that these instances don't have the files you published before.
I suggest you start by looking at the DotNetNuke Azure Accelerator first. If this doesn't fit your needs you might always try to build something yourself, but if you want to say with a regular website and not a web application I wouldn't count on Visual Studio support. In that case you might want to look at creating a package from the command line and using startup scripts to add your website in IIS.
Sounds like you need to use a Start-up task to install the files in the correct place for a Web Role (Cloud Service) Smarx has a nice overview here, MSDN has a wealth of info too http://blog.smarx.com/posts/introduction-to-windows-azure-startup-tasks
Another option is IAAS for Azure with a persisted VM, more work mind you, Cloud Service would be the most efficient and correct solution...

Deploy separate web sites azure

I have a single web project that I want deploy in Azure.
I want to create one IIS web site per country and I want to be able to deploy each web site independently (not all of them at a time). How to do this?
Well,
you have two options:
Use Windows Azure WebSites to host your websites
Use Windows Azure Accelerator for WebRoles or your own project similar to that approach.
However you have to note that the second option is a project that is no longer being supported due to avialability of Azure Websites. With Azure Websites, you can have almost everything you get with the Accelerator. You can host your websites on a dedicated instances, and manage them individually. You can update/deploy your website data via FTP/GIT/TFS/WebDeploy, whichever method you are most happy with. The only downside of websites which I see, is the lack of Startup Tasks and the ability to customize your environment (Windows, IIS settings, etc).
When you have set up your Azure account you can go the the web sites section and start the construction of your Azure web spaces, the interface in the preview is very straight forward to use and intuitive.
For deployment using the publish command in from Visual Studio 2012 (which I found the easiest) here are the steps you will need to undertake:
For each of your countries you will need to set up the web site
in azure.
Then for each of those web sites you have created go
to their dashboard page and download the publish profile settings.
It is these settings that you can import into you Visual Studio
solution by selecting the publish command and browsing for the
settings profile file you downloaded and importing it.
Then in future when
you right click on the web site in your solution and select publish
it will publish to your web site in Azure.
I have created a fictional website for Spain below is the link you will need in order to initiate a publish from Visual Studio.
------------ EDIT -------------
For Visual Studio 2010 I met some difficulties trying to publish, in fact the publish profile you can download was not importable to Visual Studio 2010, well at least I could not figure it out.
Instead I created a deployment user by clicking on the 'Reset Deployment Credentials' link on the Azure dashboard (see the link in the image), created the user and then published via FTP from Visual Studio 2010.
What I would like to flag up is the maintenance issue of having one site for each country rather than one site with Localization, (if it is a language issue). A small change multiplied just 20 times for 20 different countries becomes a larger task and if you have lots of little changes it soon becomes a large task to maintain them all.

Resources