VMSS scale up with booting executable after launch - azure

I have VM scale set for my Azure ServiceFabric Application deployed in Azure. I need to run RabbitMQ server on each virtual machine in my VM scale set when it starts (especially actual when I am going to scale up my cluster and new VM is going to be created). In other words I want make queue run automatically. Are there any possibilities to do the next steps after VM has been launched:
Check if RabbitMQ is already installed.
Download and install if not from specified URL.
If it has been installed just run it.
I guess this issue can be solved with virtual machine scale set Automation Script, but I am not sure. Any ideas and suggestions?

You could do this using a VM custom script extension. An extension runs on every new VM when a scale set is deployed or when it scales out.
Your extension could do the checks, install and run, and perhaps create a service so RabbitMQ runs if the VM is rebooted etc.
The following articles provide more details on deploying apps with scale sets:
Deploy your application on virtual machine scale sets
How are Applications deployed on VM Scale Sets?

Related

Will I get the entire VM machine with all installation?

If I created a VM Azure machine and setup/installed all required nodejs, npm modules, IIS, mongoDb. on basis on my usages I shut down the VM machine. After start the VM machine, Will I get the entire machine with all installation.
Yes, you will. VMs are stateful. The only thing that might change (depending on the setup) is the internal\external IP addresses.
Azure even provides auto shutdown feature, to save you some clicking.

Scaling nodejs, socket.io and mongodb on azure

We have an application running on a single azure virtual machine (Windows server R12 Data center).
Due to the huge traffic and load, we are planning to scale our system. The application is a game we
have developed on nodeJs, socket.io and mongodb (MongoLab or MLAB ).
Our preliminary plan is as follow :
Scaling the OS : Use azure virtual machine scale set.
Scaling the Database: Given that we are using Mlab (a mongodb database-as-a-service) we believe that scaling is done by them.
Scaling effect on Nodejs and Socket.io : We are not sure...(any hints)
Can anyone with experience on these technologies comment on scaling this stack ?
Azure VM Scale Sets are now generally available. The GA announcement is here: Azure Virtual Machine Scale Sets GA, and the product page is here: Virtual Machine Scale Sets.
When you create an Azure VM scale set, you will create a new resource group with a set number of VMs with the same size, which enables them to scale out and in rapidly and automatically.
You can refer to Azure VM Scale Sets public preview for the overview and general steps of creating an VMSS. And please refer to Automatically scale machines in a Virtual Machine Scale Set for the details of template references.
By the way, you can capture your original VM image, and deploy it to your new VMSS. So that you can save time in deploying your code and runtime environment. Please refer to https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-windows-customimage for details.
To scale nodejs with Socket.io you can try horizontal scaling using multicores.
You can either create multiple servers on different ports and use NginX reverse proxy or you can try nodejs cluster module.
Check this link.
Good way to use socket.io with cluster in multi-core server?

Windows Azure Virtual Machine and cloud service nodejs app deploy

can anyone help me with Microsoft Azure cloud service and Virtual machine connection? My nodejs app is running live on VM but not outside virtual machine. How can I deploy nodejs app to my cloud service using virtual machine?
Note : I have added endpoints as well. Please help. Thanks
All I did now is used port forwarding using endpoints in azure. Secondly I ran the nodejs app locally on VM, it is now accessible outside VM as well using VM's public IP address. Now I dont use cloud service anymore since there is no need. Thanks everyone
When we create a virtual machine in Azure manage portal From Gallery, after selecting image and VM size, it will ask us for creating a new cloud service or selecting an exist cloud service to contain the VM.
So when you create a new one, you can put it into an exist cloud service you want.
But once the VM created, we can’t move it to other cloud service.
However, we can capture your exist VM with node.js application and environment. Then you can create a new VM using this image into the destination cloud service without redeploy environment and applications.
For more information, we can see at Capture an image of a Windows virtual machine created with the classic deployment model and How to Capture a Linux Virtual Machine to Use as a Template

Azure virtual machine used as IIS server

I need server to setup Zumero Sync on it , I already used azure free trail now I need to upgrade but don't know if I need only to buy VM or Cloud service with it , it's not clear how to use the VM , is it like VPS ?
You can upgrade to Pay as you go subscription model which means you have to pay for what you use so in your case you have to pay for the VM and storage for storing the VHD of the VM. Cloud Service is basically a shell under which you deploy a VM so you don't need to pay for it.You can minimize the cost by shutting down the VM when not in use.
If you're not using Azure Resource Managed (announced recently by MS: IaaS Just Got Easier) the portal (and PowerShell) forces you to create a Cloud Service otherwise there's no way for you to assign an external DNS to connect to your VM. You won't need to do anything with it other than set it up if you're using a VM, but it will need to be there.
If you're not using a VM, your Cloud Service is the container for your deployment, which means you don't need to worry about maintaining IIS or Windows (which your app still runs on in the background).

Can I host a website in Windows Azure VMRole

Does anyone know if one can host a website using the VMRole in Windows Azure?
If I have IIS running on the VM can I access that from the outside?
Also, if I scale to multiple instances of the same VM, will that endpoint be automatically load balanced, just like a WebRole?
Note: There are some requirements that I have that cannot be accomplished with the WebRole, so that is why I am not using it. (if you were wondering)
Thanks in advance!
Yes, you can host a web site in an VM Role. The VM Role must be Windows 2008 R2, which has IIS, so you should have everything you need to support your website. You'll just need to work with HyperV locally to construct the VHD, then prep it with Windows Azure tools, etc.
Just curious: What specific requirements do you have that cannot be accomplished with a Web Role? There are three core use cases for VM Role:
The setup process cannot be automated
The setup process is not 100% reliable (e.g. installers periodically fail)
The setup process takes too long (maybe more than 5 minutes or so)
With startup tasks, you shouldn't have any restrictions on installing software, registering COM controls, modifying the registry, etc.

Resources