Hosting existing node.js apps on Windows Azure - node.js

Is it possible to port existing node.js applications to Windows Azure platform? I currently develop on my Mac but will need to deploy the application to Windows Azure in a near future.

You may also want to check a video on Channle 9.
node.js on Azure : http://channel9.msdn.com/Events/Patterns-Practices-Symposium-Online/Patterns-Practices-Symposium-Online-2012/node-js-on-Azure

Yes it is very much possible. You may also need to consider to make changes to use Azure Blob storage where your node.js code is using local file system (if required). The deployment is very similar to any other Windows Azure App and one you have Azure SDK for node.js you can use powershell cmdlets to make your job easy.
Download Node.js SDK for Azure
https://www.windowsazure.com/en-us/develop/nodejs/
Here you can learn the basics to deploy node.js app to Azure:
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/

Porting node.js apps to Azure is possible but not yet a yes/no answer.
You can run your Node apps in Azure but you need to look at the modules you're using to make sure you aren't depending on a tool or command or other facility that isn't yet available on Azure. For example, are you using a database like redis or couchDB or mysql? These don't exist natively in Azure so you may or may not be able to port that layer -- you'll have to check.
Since you're on a Mac, there isn't yet a native OS X deployment tool. Microsoft and the Cloud9 folks have been showing a way for Macs to deploy from the Cloud9 IDE which works but the Mac story will most assuredly improve over time. I work on a Mac but I keep a Windows VM open (Parallels) and if I deploy from the desktop I've been using the Powershell cmdlets in the Windows Azure SDK for Node.js which makes things fairly turnkey from Windows.
You will want to follow a couple of repos and their contributors: Azure SDK for Node, which allows native access to Azure Storage via npm install azure and iisnode (on Github) which is a component that assists your node app running under IIS (the Windows Web Server) on Azure.
It's been great to see the Node story on Azure evolve; it's still just a little early but they seem to be making great progress quickly.

Related

ASP.NET Core App on Google Cloud Platform (Linux)

We have several intranet ASP.NET applications as parts of erp system running on local company Windows server, but recently decided to move to Linux servers due to low cost of maintenance. I know that it's possible to deploy ASP.NET Core Apps to Google Cloud Platform, but I did not find any info how to setup Linux VM to make deploy possible.(there is only info about setting up Windows VM).
Maybe someone had an experience of deploying asp.net core to linux on Google Cloud Platform?
You can set up a Linux VM in the GCP Console (on VM instances page) and then deploy your app using that instance, however, Google Cloud Platform documentation offers 4 substitute ways to deploy an ASP.NET Core app to GCP.
The simplest one would be to deploy it from Visual Studio.
To deploy your ASP.NET Core app to GCP, you can use Google Cloud
Tools for Visual Studio extension, which takes care of all the
necessary details to deploy your app from right inside the Visual
Studio IDE.
Another option would be to deploy a Framework Dependent Deployment bundle (see “Method 2” in the mentioned documentation).
This would be the simplest way to deploy your app from the command
line.
If you need more control over how your app’s container is built, you can also specify your own Dockerfile to deploy your app to Google App Engine with it (see “Method 3”).
This method would be especially helpful if you need to install custom
packages in the container, extra tools or need more control over the
contents of the container.
Alternatively, if you need more control over your workloads, or need to use protocols not supported by App Engine, you can use the Container Engine ("Method 4").
Here you may find a step-by-step tutorial on deploying an ASP.NET Core app to App Engine, which you might want to use as a reference.

How to deploy netbeans app in MS azure

I made this java project in netbeans (it has a gui and uses files serialization) I have searched in the web for ways to deploy netbeans applications on azure however it seems that only eclipse has that feature. Thus, I am wondering if there is any way or method to deploy a netbeans application on MS Azure?
Microsoft provides a plugin for Eclipse for packaging Java applications for deployment as Windows Azure cloud services. This plugin is not available for Netbeans.
An alternative would be to deploy to a Windows Azure virtual machine instead of a cloud service. See instructions at How to run a Java application server on a virtual machine.
Another alternative would be to use a third-party tool such as Cloudify for Azure.
You can only create Cloud Service via the Eclipse enter link description here or via MS VS.
But you can still use NetBean to develop your application and use Eclipse/VS to manage your Cloud Service package. The package will contain the app server, its configuration and your wars/ears.
To make you life easier, you can update your Cloud Service package to download the application archive (and the app server and its configuration) from blob storage. This way no need to create a new complete package when the app is updated, you only need to upload the new war/ear and restart the instances. This will greatly increase your development efficiency.
you can do it in 3 steps
1) update your netbeans to version 7.4 and above
2) push you project to github repository
3)publish your web app from the github repository you just updated.

Azure vs Cloud Foundry

I'm new to cloud foundry and would like to do a detailed comparison between Windows Azure and Cloud Foundry. I've searched around a lot but haven't been able to find anything useful. Is there a good post or some material which does a detailed feature wise comparison of the two?
Regards,
Vikram
You're not exactly comparing like for like here. Azure has IaaS type capability as well as PaaS, not only can you push applications to it but you can also deploy VM images too, including Linux.
However, as Cloud Foundry is open source the number of runtimes and frameworks if supports evolves quickly as VMWare openly encourage contributions from the OSS community. Correct me if I am wrong, but in a lot of cases, with Azure, you have to provide the runtime you wish to use where as Cloud Foundry supports them "natively", if that's the correct word?!
Right now, Cloud Foundry supports the following runtimes and frameworks;
Runtimes
java - 1.6.0_24
java7 - 1.7.0_04
node - 0.4.12
node06 - 0.6.8
node08 - 0.8.2
ruby18 - 1.8.7p357
ruby19 - 1.9.2p180
Frameworks
grails
java_web
lift
node
play
rack
rails3
sinatra
spring
standalone
They also provide all the major storage services too, including MySQL, Postgres, RabbitMQ and Redis.
The actual open source project supports a whole lot more too!
I don't know much about Azure. But, I've used Cloudfoundry. Its great for Java deployments. I use VMC from Ruby gem for deployment and its so 3 - 4 step easy way to push your WAR to cloudfoundry server. They also provide neat documentation for configuration and setup. Oh and adding services (like Mongo DB, MySql) are also very simple. Though,sometimes, debugging server related issues are annoying with it. But, overall, its good for me :)
http://docs.cloudfoundry.com/tools/deploying-apps.html
Likewise, I don't know much about Cloud Foundry but I'm using Windows Azure for a couple of client projects and I have to say that I'm now very impressed with the development environment. I'm using the Websites Preview feature with continuous Git deployment via BitBucket. Setting this up is a breeze and allows me to push my changes to BitBucket and have Windows Azure deploy them automatically for me. There's currently no ability to run unit tests as part of the deployment cycle as per other cloud platforms (e.g. AppHarbor) but the feature set for getting up and running with a .NET application and SQL Azure database is now pretty slick. Here's a couple of links:
Deploying an ASP.NET Web Application to a Windows Azure Web Site and SQL Database
Continuous Deployment with Windows Azure Websites and Bitbucket

Can I cross develop an app for IIS and Azure?

We are starting to build out some new tech and I want to know if it is possible to cross develop a web app to run natively in Azure (ie, use Azure specific stuff like storage) but also run locally on our test servers and accommodate internal deployments natively on IIS?
I know I can host them from a dev box in a simulated Azure environment and I know that I can interface the Azure parts out and write in non-azure counterparts. It just seems like this should be a solved problem.
If you want to run Azure applications on-premises (and using non-development Azure storage), you must run a Microsoft Private Cloud. It requires special hardware and licensing costs, so don't expect it to run on what you have today.

WIndows Azure web project

I'd just like to know if its possible to deploy a web project, that usually runs on the windows azure cloud, to a normal windows server 2008 pc for testing purposes?
It depends what you're trying to test - if it's just the web app, why not map a virtual directory to the folder? If you're not using any of the Azure features (eg Queues), then can run it standalone as a normal asp.net application through IIS
No. There is no 'on premise' version of Azure and the only way you could do it is if you ran a dev environment on the server and ran the app in the Azure dev fabric.
I would suggest that for testing you should test on the cloud anyway as it is somewhat different to the local fabric. The big advantage of testing and the cloud is that you can spin up and shut down instances whenever you need, so it only costs money while you are actually testing. You might even be able to do most of your testing within the 'free' 25 hour allocation
Microsoft provide emulators to test a lot of the azure functionality locally including:
Compute emulator: very nice as allows you test app with multiple instances running
Storage Emulator: provide emulation of blob, table and queue storage
SQL Express can be used inplace of SQL azure but you need to be aware it is a superset of SQL Azure
The parts that arent emulated are:
Caching Service (very annoying really)
CDN (again a bit annoying)
So it depends on which azure services you are using as to how well you can test locally.

Resources