Node.js, ASP.NET, & Sinatra, Rails, Java: The List Goes On, Removing the OS Barrier with PaaS Part 3.14159265

By Posted in Tech Topics, Top Post 17 February 2012

In Part 3.1 of this series, I went into some of the context around NoOps, DevOps, AppOps, and the movements that have led us to PaaS enabled cloud computing. Before in Part 2, I covered building a basic build up of a Cloud Foundry micro instance, where to get a pre-built micro instance, and provided links and information regarding micro instances that support Windows and .NET. With that we covered our bases for machine build outs to get up and running, developing, testing, and deployment against Cloud Foundry. With Part 1, I laid out the overall software development situation from the real world and how PaaS aims to significantly change that.

PaaS Usage with Cloud Foundry
The Cloud Foundry project has exploded with support improving, extending, and solidifying rapidly around .NET, Java, PHP, Rails, Sinatra, Node.js, and more. Below I’ve put together the key resources to get any of these applications deployed against various Cloud Foundry environments.

Node.js
Probably the hottest coder tool out there these days is Node.js. Node is readily available and of course anything JavaScript by association works. With PaaS enabled Cloud Foundry, you instantly gain the ability to deploy complete JavaScript stack applications. The pairing is a powerful combination. Joyent is currently the steward of Node.js as the Cloud Foundry community lead.

* Getting Started with Node.js
* MongoDB + Node.js Deployment Sample
* Cloud Foundry Intro, Part 5 with Node.js (video)
* Deploying a Node.js Application with NPM Dependencies
* Getting Started with Cloud Foundry Using a Node.js and Mongo DB Application

Sinatra / Rails
Sinatra is a lean and mean framework for serving up Ruby web applications. It instantly provides a great way to build web services or other clean web applications with Ruby. Sinatra happens to be one of my personal favorites and having a super clean app deployed via Cloud Foundry is just wicked awesome!

Rails and the Ruby on Rails community have found a good friend in Cloud Foundry enabled PaaS systems. Rails was one of the first platforms enabled on Cloud Foundry.

* Getting Started with Cloud Foundry via GemStones
* Setting Up Sinatra with Cloud Foundry
* Sinatra (with Redis) on Cloud Foundry (video)
* Setting Up Rake (from Martin Englund)
* Setting Up Rspec (from Martin Englund)
* Using MySQL with Ruby

PHP
How can one have a PaaS and not support PHP, the most widely used web development platform in the world? Well, Cloud Foundry supports PHP too. The PHP community lead that has stepped up is AppFog, previously known as PHPFog.

* Sample PHP Site Setup with Github Repo
* A little Drupal love with Cloud Foundry

Java
Spring is used for Java support. In addition to the standard command line deployments, the Java support has UI enabled applications that support GUI based deployment of applications.

* Getting Started with Spring & Rabbit MQ
* Java with Spring + More…
* Java Reports on Cloud Foundry
* Java Geek’s First Shot at Cloud Foundry
* Java Roo

ASP.NET / ASP.NET MVC / SQL Server
.NET, or more specifically the ASP.NET, ASP.NET MVC, or related frameworks and libraries can be deployed easily against Cloud Foundry by using the Iron Foundry Fork or the Uhuru Software Fork of Cloud Foundry. Like the Java support, it goes much further than mere command line support with various desktop applications that integrate with and work beside Visual Studio. There are currently two distinct open source Cloud Foundry forks available:

* Iron Foundry
* Uhuru Software

Since .NET is a bit different than most Cloud Foundry technologies, check out the Iron Foundry VM for a quick start with a local environment. Or for manual, setup check out this write up from Jared Wray and yours truly.

Cloud Foundry Services

Cloud Foundry provides a way to integrate services including SQL Server, MySQL, Redis, Memcache, Rabbit MQ and a host of other packages.

Rabbit MQ

* Using the Rabbit MQ Service on Cloud Foundry with Node.js
* Rabbit MQ Cloud Messaging that Just Works

Mongo DB
Like Node.js, this has got to be one of the hottest technologies out right now and has been taking the web development world by storm. As such, there is a lot of information out there. Here are some of the best ways to get started.

* Using MongoDB as a Service with Cloud Foundry
* Using MongoDB, Redis, Node.js, and Spring MVC in a Single Cloud Foundry Application
* Using MongoDB with GridFS
* Using MongoDB with Ruby
* Getting Started with Mongo DB Rails on Cloud Foundry
* Cloud Foundry + Grails + Mongo DB Quick Start
* MongoDB with Node.js
* Getting Started with MongoDB with Node.js

SQL Server
Thanks to Iron Foundry, this old stanchion has finally gained support within the Cloud Foundry ecosystem. Any .NET developer will have an easy development of PaaS enabled defaul with SQL Server. Rest assured, the trusty database is ready and available.

* Uhuru Software has a SQL Server node you can download with the code.
* Iron Foundry also has a SQL Server service. See Deploying .NET Web Apps to Cloud Foundry via Iron Foundry (from Richard Seroter) for more info.

MySQL
The most used database in the world, isn’t that how it goes? Yup, MySQL is supported too.

* How to Setup a MySQL Service with Cloud Foundry (from Manij Strestha)
* Introduction to the Cloud Foundry MySQL Service
* Using MySQL with Ruby
* SpringSource Deployment with  Cloud Foundry with MySQL

There are indeed many more technologies that have Cloud Foundry support. I hope this collection of getting started links and quick starts will provide a way to get Cloud Foundry running for anything in your stack.

My summary is now complete and I’m already working hard on the next installment of this series. If you have any questions, comments, or other thoughts about what should be included in Part 4, just leave a comment below or ping me on Twitter.

About the author

adronhall@gmail.com'Adron Hall is a jovial, proactive, test & code, code & test, get things done well, software architect, engineer, code monkey, coder, and distributed systems advocate. As a coder, Hall plies a polygot language path including C#, Java, JavaScript, and Erlang lately -- as well as Pascal, Basic, Visual Basic, C++, C, COBOL, RPG, CL, and others in the past. He founded Deconstructed.io with Aaron Gray, Node PDX with Troy Howard, and more startups are in the works. You can read his blog at Composite Code (http://compositecode.com).

Tell us your thoughts Or Send us an internal high five

Talk to @newrelic