Iron Foundry, Stackato, a New Micro Image Pair
Today we’re releasing a new update for the Iron Foundry Micro Instance. The biggest changes are two fold. One is our full support of the Stackato from ActiveState powered micro instance. We’ve taken the great work that the ActiveState Team has done with Cloud Foundry and rolled that into our Iron Foundry enabled Micro Instance! The second big addition is full support for the Cloud Foundry Micro Cloud Foundry 1.2 release.
For those of you that have dived heavily into the overall framework, some of the specifics include changes that enhance the reliability of the controller and self-healing nature of the system.
How to get it up and running? Easy…
First download and get the Stackato Micro Cloud Running.
- Download the Stackato Micro Cloud here: http://www.activestate.com/stackato/download_vm
- Unzip the image to the location you want the image to execute from.
- Set the network on the staccato image to bridged.
- Startup the Stackato Image.
- When it boots up get the IP and Hostname Address. Note both the host name and IP address.
- The Hostname will need to be added to your hosts file, either /etc/hosts in OS-X or Linux and c:\Windows\System32\Drivers\hosts. Add the IP & host to the file like ‘192.168.NNN.YYYY stackato-XXXX.local’ and ’api.stackato-XXXX.local testwebapp.stackato-XXXX.local‘ (add additional entries at the end for other web apps you intend to push)
- Navigate to http://stackato-XXXX.local and it will redirect to the initial setup page where you enter an email address and password. These credentials are added to the Stackato Instance, so be sure to remember them.
Next step get the Micro Iron Foundry VM Running & Communicating w/ The Stackato Micro Cloud.
- Download the Micro Iron Foundry VM here: http://www.ironfoundry.org/download (Use 7-zip to unzip, or on the Mac use a tool like the “Unarchiver”(http://wakaba.c3.cx/s/apps/unarchiver.html or get it from the App Store)).
- If VMWare asks if you have moved or copied the VM, choose “I copied it”.
- It will show “Setup is starting services” as this is a Windows VM. After it goes through the inital setup it will continue and require your input
- Set the timezone. Click Next
- Accept the licensing terms. Click Next
- It will now say that the users password must be changed before logging on the first time. Click OK and set the password (make sure to remember the password!)
- After setting the password you will now be logged into the core terminal prompt. You can now enable Iron Foundry on your Cloud Foundry Micro Cloud. (Make sure your Cloud Foundry Micro Cloud is running at the same time)
- Boot up the Micro Iron Foundry instance. It will prompt you for a password for the Administrator user.
- At the command prompt (C:\Users\Administrator) execute these commands:
- C:\Users\Administrator>cd C:\IronFoundry\Setup
- C:\IronFoundry\Setup>RunSetup.cmd
- At the prompt enter your domain stackato-XXXX.local, IP address and password.
- It will then connect via ssh, patch the system, restart the cloud controller, and setup the local SQL provisioning services in the Iron Foundry VM.

Once the setup process is done you can use Cloud Foundry Explorer (http://www.ironfoundry.org/download) to push an ASP.NET application. I’ve attached a sample ASP.NET application. Click the gear icon to add a cloud, click the green + button to add a New Server. Rename server to something and add an api url of api.stackato-XXXX.local, email and password. Clicking ”Validate Account” should succeed. Once the cloud is added, you can use push and choose that cloud to publish to it. You should use “testwebapp” as the name since you added it to the hosts file above. Once pushed, you can visit http://testwebapp.stackato-XXXX.local to browse to your application, and http://testwebapp.stackato-XXXX.local/env to see more detailed info.
To get involved with Iron Foundry check out the project at http://www.ironfoundry.org and Cloud Foundry at http://www.cloudfoundry.org/. With the code available on github at https://github.com/IronFoundry or https://github.com/cloudfoundry.
How To Deploy Orchard CMS on Iron Foundry
Iron Foundry is an open source project that extends .NET to Cloud Foundry (The Open Platform as a Service). available for the Windows Server Environments with the ability to run the full spectrum of .NET Web Applications, SQL Server, and more. Iron Foundry places the Microsoft tool stack on an even footing with the Linux-based stacks. This platform is all open source and can be deployed anywhere. Today we are going to use the free trial environment provided by the Iron Foundry project.
With Iron Foundry and Cloud Foundry Orchard can scale within minutes to handle load on the system. This also gives an environment for rapid testing and staging of your application.
In four easy steps you can deploy and start configuring your Orchard CMS instance on Iron Foundry:
Step 1: Download Orchard CMS
To download Orchard just go to the Download Page and then select the “Download as a zip” it is about 8MB in size. It will then ask you to agree to the terms.
Step 2: Make changes to be supported on Iron Foundry
- Go ahead and unzip it to your temporary directory.
You can read more about the manual install here:http://docs.orchardproject.net/Documentation/Manually-installing-Orchard-zip-file
Step 3: Sign up and Deploy to Iron Foundry
- Sign up for your free account on Iron Foundry so you can test your deployment. (Note: this can take up to 24 hours to get your account activated.)
- Once your account is activated you can also download the Cloud Foundry Explorer from Iron Foundry.
- After installing the Cloud Foundry explorer you will need to run the application.
- Upon startup, use the gear icon to add a connection to api.gofoundry.net:

- You will be presented with the “Manage Clouds” screen (new in 1.6.0). To add a well-known cloud, use the dropdown at the bottom of the left side of the screen, with the cloud-plus icon. Select “Iron Foundry” to add a connection to this cloud. The url will be pre-filled to http://api.gofoundry.net
- Enter the email address and password credentials that were mailed to you upon signup. Use the “Validate Account” button to double-check your entries
- When you choose “Ok”, you will see this new cloud connection added to your explorer window.

- Double-click the new connection to see an overview that will be displayed on the right.
- Next you will want to create an SQL instance to use. Main Iron Foundry Production tab at the bottom switch to “Applications” view.
- On the services click the button to create a new service. Create a name for it and then from the drop down select MS SQL.

- Use the “Push Application” button to push a new application to Iron Foundry:

- In the dialog, choose the cloud to which to push. Then, choose an application name that does not contain spaces. The url to specify will be in the form APPNAME.gofoundry.net, where APPNAME is the name you chose. Choose Browse… to pick the directory in which you unziped your orchard application. Note: this directory is the one in which a Web.config file and a bin\ subdirectory exists.

- Once push completes, browse to APPNAME.gofoundry.net to see your deployed application.
Step 4: Setup your new Orchard Instance
You should be able to browse to your new orchard install at your application url (http://APPNAME.gofoundry.net) where you will see a getting started page:

When you get to the screen below you are going to want to select to deploy SQL server and put in the connection string. To get the connection string you need to do the following:
- Go back to the Cloud Foundry Explorer
- Once there browse to your cloud and then browse to your application
- Once you have expanded to see the files double click on the web.config file which will open for you. In there you will see more entries added. All you need to do is copy the SQL server configuration settings and then put it into the orchard setup screen.

Have you brought the HAMMA?
If you have contributed to Iron Foundry in any way, let us know. We’ll send you a free exclusive “I BRING THE HAMMA” Iron Foundry t-shirt while supplies last. Using Iron Foundry on a project, providing feedback, blogging about Iron Foundry, or source code improvements are some of the ways that you can contribute. Here are a couple of examples:
- J. Adams (UK): Updated the install script to use the new rvm script (only a small change)
- R. Seroter (US): Wrote multiple articles on using Iron Foundry: http://seroter.wordpress.com/category/cloud-foundry/
Let us know how you are contributing by going to: http://www.ironfoundry.org/hamma
Check out how to start contributing: http://help.ironfoundry.org/entries/20777076-start-contributing
Explorer and Plugin Updates!
Today we are releasing some enhancements/bug fixes to the Cloud Foundry Explorer and Visual Studio Plugin.
The most significant enhancement is how you manage your Cloud Foundry instances: We simplified it to a single screen to make it easier.

Cloud Foundry Explorer:
Release notes: http://help.ironfoundry.org/entries/20794491-cloud-foundry-explorer-current-release
Updated documentation: http://help.ironfoundry.org/entries/20794486-cloud-foundry-explorer-documentation
On the Visual Studio plugin we updated it with some bug fixes.
VS Plugin:
Release notes: http://help.ironfoundry.org/entries/20794496-visual-studio-extension-current-release
As always you can download here: http://www.ironfoundry.org/download
DEA and Micro Updates.. Oh My!
Today we released the updated to the DEA (Droplet Execution Agent) and our Micro Cloud download. These updates do address some of the bugs that have been reported and also a memory leak issue with the IIS Management COM object.
Download the latest DEA, Micro, and Developer tools: http://www.ironfoundry.org/download.
Get Help: http://help.ironfoundry.org
The Iron Foundry Trial environment has been updated to the latest and greatest DEA and you can sign up for FREE to try it out: http://www.ironfoundry.org/signup
Thanks
Iron Foundry Team - Bringing the Hamma!
Iron Foundry Micro Cloud 1.0.0 Released!
The micro instance enables you to do local development in .NET on the Micro Cloud Foundry instance. The Iron Foundry team has worked very hard to make this an easy transition without much hassle. You are four steps away from running your own cloud locally with .NET support:
Step 1: Get all the bits needed to setup
- Sign up on Cloud Foundry for your micro cloud v1.1.0
- Download Iron Foundry Micro Cloud
Step 2: Get your Cloud Foundry Micro Cloud Working
It is very easy to get your Cloud Foundry Micro Cloud running. Here are the simple steps taken:
- Unzip the virtual machine and start it up in VMware Workstation, Player, or Fusion.
- After it starts up select option 1 to configure.
- Set your password (make sure to remember it!)
- Set DHCP or Static for network (we chose DHCP)
- HTTP Proxy: (Choose none by hitting enter)
- Enter in your configuration token (if you dont know it generate it here)
- After it is done updating your DNS it will Reinitialize the monit daemon and get everything installed. (can take up to 5 minutes)

Next thing to do is register a user within your Micro Cloud (Required). Here is how to do this:
http://start.cloudfoundry.com/infrastructure/micro/installing-mcf.html#registering-a-micro-cloud-foundry-user-with-vmc
If you are still having trouble getting this part working please refer to the Getting Started guide from the Cloud Foundry team.
Step 3: Get your Iron Foundry Micro Cloud Working
Now that you have the Cloud Foundry Micro Cloud installed and up and running you can easily extend it to support .NET with the Iron Foundry Micro Cloud. The Iron Foundry Micro Cloud is a Windows Server 2008 R2 Standard Edition Server and has no software keys initialized which means you will need to provide your own license key to keep it running after the Windows trial period.
Here are the steps to get started:
- Use 7-zip to unzip the Iron Foundry Micro Cloud VM and start it up in VMware Workstation, Player, or Fusion.
- If VMWare asks if you have moved or copied the VM, choose “I copied it”.
- It will show “Setup is starting services” as this is a Windows VM. After it goes through the inital setup it will continue and require your input
- Set the timezone. Click Next
- Accept the licensing terms. Click Next
- It will now say that the users password must be changed before logging on the first time. Click OK and set the password (make sure to remember the password!)
- After setting the password you will now be logged into the desktop. You can now enable Iron Foundry on your Cloud Foundry Micro Cloud. (Make sure your Cloud Foundry Micro Cloud is running at the same time)
- Browse to C:\IronFoundry\Setup
- Double Click RunSetup.cmd from there follow the instructions to configure Iron Foundry with Cloud Foundry.
- Enter Micro CF Identity: This is your Cloud Foundry Micro Instance Url (example: jwray.cloudfoundry.me is the one we are using for this demo)
- Enter Micro CF Password: This is the password you entered when setting up your Micro Cloud in step 1.
- Once it is done installing press any key to exit

Step 4: Push an Application and feel the love
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:
- Download and install the VS 2010 extension from here.
- Right click on your project and then go to “Push Cloud Foundry Application…
- Choose “Manage Clouds…” to set up your new Micro Iron Foundry Cloud

- Choose “Add Cloud Connection…”

- Next choose “Add Cloud…” then “Add” and enter information similar to that shown here

- Back on the “Add Cloud” screen, enter your credentials and validate the connection

- When your account validates, close the “Add Cloud” and Explorer windows to return to the push dialog.
- From the Push Cloud Foundry Application select the correct settings (you can see what we did below)
- Cloud: Select the cloud you entered above.
- Name: Enter in any name you want for the application.
- URL: enter in the full url of the application. Here we will use helloworld.jwray.cloudfoundry.me
- Memory Limit: Select the amount of memory you want your application to use.
- Instances: Select the number of instances you want your application running on.
- Select the services you want to bind to your application such as a database.

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.
Open PaaS for Enterprise Devs - A free session at the Cloud Connect Conference
Open PaaS for Enterprise Devs - A free session at the Cloud Connect Conference, Wed Feb 15, Santa Clara Hyatt Room G
This free session at the Cloud Connect conference is for anyone who wants to learn how open PaaS is enabling enterprise developers. It’s also an ideal opportunity for an informal meet-up of anyone in the Cloud Foundry community interested in deploying PaaS behind the firewall.
Cloud Foundry’s James Watters and Jared Wray from the Iron Foundry team at Tier 3 team up to share insights, best practices and how to’s–with good info for both developers and infrastructure architects. You’ll hear an update on Open PaaS services including Cloud Foundry and why now is the right for IT Ops to transform their thinking from VMs to apps and services. You’ll learn why PaaS may be the best bet yet for quickly enabling Devs with access to the latest technologies for a more agile enterprise. And, we’ll share best practices tips and tricks from real experiences deploying PaaS on a public cloud that can be applied today in your private cloud environment. Our hands-on PaaS demos will include:
- How an Open PaaS can free-up enterprise to support “any” language in their dev environments: We’ll deploy a multi-tier application with Node.js, .NET WCF, and PHP or Java as the front end.
- How to scale and consume services with PaaS: we’ll show how to leverage PaaS to scale the application layer while enabling custom, consumable enterprise services
Want to join the free session (and stop by to get some good swag on the Expo Floor) Simply register yourself on the Cloud Connect site for a Free Expo Pass (use priority code CPNACC95). If you are interested in joining the whole conference, that code will get you a 25% discount.
See you in Santa Clara!
Cloud Foundry with Iron Foundry (Windows Core) Install

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 Adron Hall
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:
- .NET 4.0 Framework for Server Core (dotNetFx40_Full_x86_x64_SC.exe)
- IronFoundry DEA Service (IronFoundry.Dea.Service.x86.msi or IronFoundry.Dea.Service.x64.msi)
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:
- NATS Host: 10.0.0.1
- NATS Port: 4222
- App Directory: C:\IronFoundry\apps
- Droplet Directory: C:\IronFoundry\droplets
- Install Directory: C:\Program Files\Iron Foundry\DEA
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 Jared Wray
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:
- Visual Studio: The Iron Foundry plugin for Visual Studio allows you to push your application to any Cloud Foundry environment supporting .NET.
- Cloud Foundry Explorer: The Cloud Foundry Explorer is a .NET Windows application that allows you to manage multiple cloud instances from a Windows desktop including all of the code and service deployment.
- Command Line (VMC): This is the command line version with all of the features that you see from the plugin and explorer.
You can download these from Iron Foundry at: http://www.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 http://www.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:
- Go to File > New Project
- Select the ASP.NET MVC 3 Web Application, set the name, location, and solution name and click “ok”
- On the next screen you will be prompted with the “Project Template” and you can select “Empty” and your view engine as “Razor”.
Now we have setup the project we are going to write a simple page and publish it to an Iron Foundry instance.
- From the Solution Explorer right click on the “Controllers” folder and go to Add > Controller.
- The “Add Controller” dialogue window will come up and name it “HomeController” then click the “Add” button.
- Next step is to add the Index View for the Home controller. You can do this by the following:
- Go to the “Views” folder > Create a folder called “Home” inside it
- Right click on the “Home” folder that was just created and Add > View. Name the View “Index.”
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:
-
- From Visual Studio Go to Tools > Cloud Foundry Explorer
- From Cloud Foundry Explorer click the add new cloud button.
- Enter in the following data:
- Server Name: The friendly name of the Cloud Foundry instance you plan to connect to. For this example we will use the
Iron Foundry Trial environment (api.gofoundry.net)
-
- Runtime Environment: Select the correct runtime environment (right now it should default to: Cloud Foundry Runtime v1.0).
- Register/Logon Info: The Email, and Password are what you need to logon to your Cloud Foundry instance.
- URL: To setup the url of your cloud foundry instance do the following:
- Click on the “Manage Cloud…” button.
- From the Manage Cloud Urls… window click “Add”
- From the Add Cloud Url.. window type the Name and URL such as:
- Name: Iron Foundry Trial
- Url: http://api.gofoundry.net
- Click Ok.
- From the Manage Cloud Urls… window verify that your URL has been added and click ok.
- Once you have entered the information correctly click to validate account and you will see an“Account Valid” message appear.
- Close out the Cloud Foundry Explorer window as you are now ready to push your application!
- Push your Application (The Cool Stuff!)
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:
- Right click on your project and then go to “Push Cloud Foundry Application…

- From the Push Cloud Foundry Application select the correct settings:
- Cloud: Select the cloud you entered above.
- Name: Enter in any name you want for the application.
- URL: enter in the full url of the application. Here we will use helloworld23451.gofoundry.net.
- Memory Limit: Select the amount of memory you want your application to use.
- Instances: Select the number of instances you want your application running on.
- Select the services you want to bind to your application such as a database.

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.
The .NET DEA is now Live!
Our new DEA (Droplet Execution Agent) built using .NET is now fully available from the Iron Foundry team. After an implementation of the DEA in Ruby to run on Windows Server, we found great value in rebuilding the DEA in .NET to run natively on Windows. This will give us great flexibility in expanding the capabilities of the framework deployed to Iron Foundry. The .NET DEA enables a more stable environment and easier deployment scenario. Now the .NET DEA is ready for prime time with all functionality as the original DEA and we are very excited.
This new DEA comes with a full installer and runs as a windows service on the server. Here are the links to get you using it:
Download the .NET DEA to install
Iron Foundry has already moved to the .NET DEA in our trial environment and you will notices improvements in the application deployment and stability.
Iron Foundry Governance and the Community
Governance Model
Today we are sharing more information on the Iron Foundry governance model.
Anybody who believes in enabling the .NET ecosystem into the Cloud Foundry platform and who wants to contribute or help build the community is more than welcome to participate or contribute to Iron Foundry.
While Tier 3 is the lead on the project and will remain a strong active voice, we welcome contributors and sponsors to take an active role In the Iron Foundry project. This effort will in turn be recognized: top contributors of the project and sponsors who are active in the community will be asked to join the governance team.
How do I get started?
As always the simplest way is to fork the Iron Foundry code on github for simple changes and then issue a pull request to the Iron Foundry team for review. For significant contributions — as with most open source projects — we do require to sign a Contributors License Agreement (CLA). The CLA is modeled after the Apache Foundation and Cloud Foundry CLAs, which have worked out well with both communities.
You can read more about this here: http://help.ironfoundry.org/entries/20777076-start-contributing
