Cloud Foundry has been taking the web by storm. PaaS is growing in popularity as more developers find the disruptively positive deployment scenarios that are possible over traditional environments. Cloud Foundry, primarily centered around Linux-based PaaS, now has a sibling called Iron Foundry.
Iron Foundry is an open source project available for the Windows Server Environments with the ability to run the full spectrum of .NET Web Applications, SQL Server, and more. IronFoundry places the Microsoft tool stack on an even footing with the Linux-based stacks.
Step 1: Get IronFoundry Installed and Running by
The first thing you’ll need is to be sure to get a USB Thumb Drive or some mechanism to get the .NET 4.0 & IronFoundry Software onto the Windows Server 2008 Core Instance. If you’re using a full install of Windows Server 2008 then you can use the normal means to retrieve this software. The files you’ll want on the external storage include:
Once you have the software downloaded to a medium to use, get a solid image of Windows 2008 Server Core up and running. With the Windows 2008 Server Core command prompt get the following services installed and started with the following commands:
c:\Users\MyUserName\start /w ocsetup IIS-WebServerRole c:\Users\MyUserName\start /w ocsetup WAS-NetFxEnvironment c:\Users\MyUserName\start /w ocsetup IIS-ISAPIExtensions c:\Users\MyUserName\start /w ocsetup IIS-ISAPIFilter c:\Users\MyUserName\start /w ocsetup IIS-NetFxExtensibility c:\Users\MyUserName\start /w ocsetup IIS-ASPNET c:\Users\MyUserName\start /w ocsetup MicrosoftWindowsPowerShell c:\Users\MyUserName\start /w ocsetup ServerCore-WOW64 c:\Users\MyUserName\start /w ocsetup NetFx2-ServerCore c:\Users\MyUserName\start /w ocsetup NetFx2-ServerCore-WOW64
After these services are started, copy the software off of the USB / Storage Device that has .NET 4.0 and the IronFoundry DEA. In the below copy command, “e:” is the storage device.
e:\copy *.* c:\Users\MyUserName\
Now execute the .NET 4.0 Framework (dotNetFx40_Full_x86_x64_SC.exe) for Windows 2008 Server Core.
c:\Users\MyUserName\dotNetFx40_Full_x86_x64_SC.exe
From this point a standard Windows Wizard will display to step through the rest of the .NET 4.0 Server Core Installation. The next step is to enable IIS Remote Administration:
c:\Users\MyUserName\reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server /v EnableRemoteManagement /t REG_DWORD /d 1
At this point it is actually a good idea to reboot the server to insure all the services start correctly and the registry setting takes effect. I’m sure that just simply restarting the services might work, but when playing with the registry I like to stay safe and insure everything is set and has taken effect.
After the reboot, start wmsvc.
c:\Users\MyUserName\net start wmsvc
Now kick off the IronFoundry DEA Installation. When the wizard prompts for configuration information, enter the following:
Once the wizard is complete, then go to c:\Program Files\Iron Foundry\DEA and run the DEA executable. This will start the IronFoundry DEA Service and insure it kicks off (self starting) anytime the server may be rebooted.
Step 2: Deploy an ASP.NET MVC Application by
Deploying an ASP.NET MVC application could not be easier when using Iron Foundry and the accompanying tools. There are three ways to deploy your application to Iron Foundry:
You can download these from Iron Foundry at: https://ironfoundry.org/download
Getting down to code a deployment...
Lets first start out with downloading and installing the Visual Studio Plugin from Iron Foundry. Go to https://ironfoundry.org/download and download the latest. After it is downloaded double click the file and do the install. After the install is done open up Visual Studio and go to Tools > Extension Manager > From there you should see it installed:
Lets go ahead and write a simple ASP.NET MVC (MVC 3 is being used in this and can be downloaded here: http://www.asp.net/mvc)) application by creating a simple “Hello World” application for testing. In Visual Studio do the following:
Now we have setup the project we are going to write a simple page and publish it to an Iron Foundry instance.
In the Views > Home > Index.cshtml file modify the code to be:
(NOTE: Make sure you have compiled the site at least once before pushing it live for the first time.)
With the Visual Studio Plugin from Iron Foundry it is very easy to do a deployment/update from. All you will need to do is define your Cloud Foundry instance with Iron Foundry support and then “Push” your application.
Define your Cloud Foundry instance with Iron Foundry Support:
Iron Foundry Trial environment (api.gofoundry.net)
Now that you have been able to setup your Cloud Foundry instance running Iron Foundry you can now push and update your application by doing the following:
Click the “Push” and it will package it up and push it live doing all the configuration of the services and application into Cloud Foundry with Iron Foundry.