Windows azure web role on local IIS - iis

I am developing windows azure web role. Can I host the azure web role on my local IIS.
If yes..what are the steps I need to follow ?
Local Machine is currently running on windows server 2008 R2

There are two ways to achieve that, with varying levels of fidelity to the target environment.
The simplest is just to run your website project locally. You can attach it as a virtual directory on IIS and run it from the browser or debug it from Visual Studio. This will run as a regular IIS web application, but it won't be running as a web role.
The second is to package your application as a cloud service and run it under the Windows Azure Compute Emulator installed on your development machine. There are several tutorials on how to do that, including:
Developing and Deploying Windows Azure Cloud Services Using Visual Studio - see "Debugging a Windows Azure Application Locally".
Run a Windows Azure Application in the Compute Emulator
Windows Azure Basics–Compute Emulator
Building the web role for the Windows Azure Email Service application - 3 of 5
How-to deploy application to Windows Azure Compute Emulator with CSRUN
The Compute Emulator simulates several features of Windows Azure Cloud Services, but yout have to be aware of Differences Between the Compute Emulator and Windows Azure. Your application can tweak its behavior according to the environment by reading the RoleEnvironment.IsAvailable and RoleEnvironment.IsEmulated properties.

The Compute Emulator uses IIS Express locally for your dev/test work. IIS Express should be already set up for you when you installed the SDK+Tools. (Older versions of the SDK relied on full IIS 7 - more info here).
If you're talking about developing for running in production locally: It doesn't exactly work this way. A web role translates to a Windows Server virtual machine with some startup scaffolding code to allow you to install things in your VM, tweak the registry, etc. Since web role instances are stateless, every time a new instance is launched, the startup script is executed (same if an instance crashes due to hardware failure and is brought up again on another machine).
If you want to run the web app itself locally, then you'd need to take specific actions, based on whether your code is executing in Windows Azure or on a local machine (and then package it a bit differently - you wouldn't include the web role project). You can check RoleEnvironment.IsAvailable + RoleEnvironment.IsEmulated to help you out.

Related

Can VS Code remote development be used with "Azure App Services" or "Containers on Azure App services"?

B"H
I've been using VS Codes Remote-Containers extension recently to develop directly in containers on my dev machine. It's been a real productivity boost.
There is a second extension (part of the same pack) call Remote-SSH for connecting to VMs running in the cloud. You can then run VS code on your local dev machine but be editing files and running commands in the terminal directly on the remote machine.
I've seen tutorials on how to use that on full blown linux VMs. However I haven't seen any examples of connecting it to either Web Apps / Azure App Services or Containers running in the cloud.
Can either of these extensions (or some combination of them) be used to connect to a container running in Azure (on an App Service) or to an App service?

NServiceBus 4 with Windows 8 and Azure WebRole Issue

Running a webrole that is using NServiceBus 4 hangs when running in the local emulator. I have duplicated this on several windows 8 machines. Works fine on Windows 7. It appears that the only way to get it to run is to change the azure project (web settings) to "Use IIS Web Server." I am running Windows 8 and Visual Studio 2012 and Azure 2.0 SDK.
Here is how you can duplicate the problem by working with the PubSub sample from here:
http://particular.net/articles/windows-azure-transport
Build the project and run it to verify that it works out of the box
Now change the Web settings by right clicking on the azure project and Selecting the "Use IIS Express" option on the web tab.
Run the project now
The web role will simply hang. Any ideas? Running under IIS Express is preferred for many reasons.
there seem to be some known issues with IISExpress and Azure. Could you have a look at these pages and see if they help
Can't get azure web role to run locally using the emulator
Workaround for IIS Express Crashing When Running Windows Azure Cloud Service Web Role

Test Win8 App hosted in Azure Compute Emulator on Tablet

I have a two web application in Visual Studio 2012 running in the Windows Azure Compute Emulator (using IIS Web Service, not Express). Additionally I have a Windows 8 App in another Visual Studio instance which uses both azure web applications. This combination works fine on the same machine.
For presentation purposes I'd like to run the app on a Windows RT Tablet. Therefore I use the remote debugging tool to run the app on the tablet. Running the app is not the problem. But I didn't found a possibility to connect to the web applications from the tablet. The azure Emulator generates URLs like 127.0.0.X:81 but the tablet cannot resolve this address.
Is there a workaround to solve my problem? A way to run the azure application with the IP address of my dev machine? Or is it possible to create a kind of a proxy running on the dev machine which forwards requests from the tablet to the azure application?
I've seen a possible solution running fiddler as a reverse proxy. This does not work for me because fiddler seems to listen only on one port. But I need two.
Another possibility would be to configure the Azure Emulator endpoint.
Take a look at this SO answer for more information.

Which azure service, i should choose for my node.js app?

I am new to Microsoft windows azure cloud and want to run my node.js app in azure cloud. I read the windows azure Node.js Developer Center site ( https://www.windowsazure.com/en-us/develop/nodejs/ ) and it seems my app can run in azure cloud multiple ways.
Which azure option is good for my node.js app if i want to deploy quick with less azure knowledge?
If you are new to Windows Azure but knowledgeable a Node.js developer, you sure can use Windows Azure to write your Node.js application.
You have following choices:
Windows Azure Websites (Preview) –
FREE only if shared and if RESERVED there is some cost associated with it
Great if you are a Linux or Mac User
Your node.js application will run on Windows Server Farm
You can use git to deploy your Node.js Application
Windows Azure Cloud Services
Ideal for applications that separate logic into multiple tiers using both Web and Worker Roles
It is a PAID service
You can use PowerShell to deploy directly from a Windows Machine
Your Node.js application will runs on Windows Server 2008 OS
You will have capability to RDP your Windows Azure VM.
Windows Azure Virtual Machines (Preview)–
This way you can create run your node.js application on a Microsoft Windows or Linux (Suse, CentOS, Ubuntu) machines or upload your own Linux VM already fully installed with Node.js application
With Windows machine, you can RDP to your machine and install your Node.js application
With Linux machine you can use Putty to connect your Linux Machine on command like and then install your application and other packages
Currently even with Preview mode, there is some price associated with it
As you are new to Windows Azure, I would suggest you to give a try using FREE Windows Azure Websites Shared because this way you really don’t need to learn a lot about Windows Azure and you can start running your application instantly. This could be the easiest method among above 3 options and then you can jump to other by just migrating your application If needed.
IF you decide to use Cloud Service, you can use Cloud9 IDE to publish your Node.js application directly to Windows Azure Cloud Services in your subscription.
You can find a decision tree here: http://msdn.microsoft.com/en-us/magazine/jj991974.aspx
What are the options you're considering? I can think of two: "cloud services" or "web sites." The latter is probably the easier and cheaper option, assuming you're building a web app. The former gives you full-blown VMs backing your app, on which you can run anything (including "workers" that process data in the background or apps that communicate via web sockets or even raw TCP). It's more powerful, but it's also more difficult to use, slower to deploy, and costs more money than a shared "web site."
Sign up for the Windows Azure 90-day free trial https://www.windowsazure.com/en-us/pricing/free-trial/
Login into the Portal at: https://manage.windowsazure.com
Click the Virtual Machines tab then click Create a Virtual Machine to create a Windows VM.
On the slide-out panel, select Quick Create then specify your DNS Name, Image [Windows Server 2008 R2 SP1], Administrator Password, Size [Small (1 core, 1.75GB Memory)], Location (West US). Finish by clicking the Create Virtual Machine button.
Once provisioning is complete, you can connect to your VM via Remote Desktop Protocol by clicking the Connect button on the toolbar at the bottom of the screen.
Be sure to install a modern browser like Firefox to avoid the annoying default security settings of IE then proceed to download and install the node-js msi like you would on your desktop.
Happy hacking!
The fastest way to get started is to use Windows Azure Web Sites. You get a web site that is already configured to run node.js. You merely use ftp or git commands to push your code to the drop folder for your site.
You can use a Mac, PC, or Linux as your development machine. This tutorial (using a mac) shows the fastest way to get started: https://www.windowsazure.com/en-us/develop/nodejs/tutorials/create-a-website-(mac)/
Cheers!

Access Azure Development Server From VM?

We are developing an application that we are deploying to Azure. It needs to work with a specific machine configuraiton. We we have this configured as a VM which developers can run locally.
However to test the VM configuration we need to publish to Azure and access it on a live Azure instance. Is there anyway to allow a local VM to get access to the Azure environment IIS on the developers machine? It doesn't seem to show up in IIS Express so I guess it isn't the same as a normal site?
Also is it possible to configure an Azure environment locally for testing. We want to host test applications for internal use and don't want them run on developers machines. We would like to run them on a server in the office.
Any ideas?
Thanks
I think that the answer to this question will outline the general guidelines you could follow to enable your environment.
Windows Azure Emulator has its own load balancer simulator which bind to socket 127.0.0.1:81 (most of the cases, if port 81 is free). If the Azure project is developed with Azure SDK 1.3 or later with Full IIS enabled, then the Azure Emulator (for versions 1.3 ~ 1.6) will use local IIS to host the sites. IIS Express is not involved in any way with the Azure project. If you happen to run IIS Express, then most probably you have set up your web application project as a StartUp project in the solution. The correct way to locally debug Windows Azure applications is to use the Cloud Project as a startup project.
Please kindly update your question, if there is some doubt or confusion after checking the mentioned related question.

Resources