I’ve a lot of friends who are proficient Rails developers, many of whom who have left .NET for Rails.
The one piece of consistent feedback that I hear back from them is that it’s the frictionless Ruby-on-Rails ecosystem that is so attractive; moreso than the Ruby language or the Rails framework itself (although they like that too.)
Heroku, above all others, is hailed as a step forward in developer productivity and easy web application hosting and deployment.
Platform-as-a-Service (PaaS), which is what Heroku provides to Rails developers, is powerful because it eliminates much of the need to manage and maintain infrastructure. Instead of managing a number of virtual machines on a service like EC2, you manage a number of application instances or some other such abstraction. PaaS combined with a continuous build / deployment system is a powerful combination indeed and allows for unparalleled productivity for agile web developers and startups.
.NET developers have had PaaS available to them for a couple of years in the form Windows Azure, but Azure is really meant to service the needs of rapidly growing services and cloud applications, not brand new projects that have no users yet.
AppHarbor fills two needs that are unmet by Azure – it makes it easy (and currently, free) for .NET developers to have access to a Git-enabled continuous development environment, something which our friends on Rails have had for a long time, and it supports the sorts of rapid build / test / deploy workflow that is common among agile groups and startups in particular.
This, in my opinion, makes AppHarbor the perfect starting place in the lifecycle for any new ASP.NET or WCF project.
Here’s how easy it is to get started with AppHarbor using their early beta interface:
Create a new ASP.NET project in Visual Studio
I’m using ASP.NET MVC3 here, which Microsoft just released-to-market yesterday. It’s great if you haven’t used it yet. You can download and install ASP.NET MVC3 here.
Initialize a new Git repository and commit the app
I use Git Extensions for Visual Studio to manage staging / commits, and it also includes the Git bash for Windows. I highly recommend it.
Now you’re all set for your initial deployment on AppHarbor.
Create a new application on AppHarbor
Follow the instructions for adding AppHarbor as a remote to your Git repository
Check the build status on AppHarbor
and then check out the app itself: http://appharbor-demo.apphb.com/
If you want to see a more substantial project on AppHarbor, check out Geeky Reads.
That’s all there is to it – it’s a matter of seconds to push and deploy new builds, and thanks to Git’s commit model, it’s effortless to rollback to previous builds. Compare this experience to the pain of doing a traditional web-deploy on a shared host or pushing a solution onto Azure – this is much simpler and faster.
AppHarbor can also hook a unit test project and use the success / fail of those to determine whether or not your build can be deployed, even if it is built successfully.
Want an AppHarbor invite?
If you’re interested in trying out AppHarbor yourself, click here to create a new AppHarbor account courtesy of the special invite code on this link. The AppHarbor team is eager for early adopters and feedback, so by all means please try it out and share your thoughts and experiences with them.