Skip to content →

Category: Uncategorized

Azure vs AppHarbor

update: Since I wrote this article lots has changed with the Azure platform. We are now using Azure Websites with continuous deliver from TeamCity and it works really well. The list of issues highlighted below are not a true reflection of the current state of Azure.

update: after a brief twitter conversation with ScottGu he pointed me to this article about Automated Builds for Windows Azure, apparently they are going to update it with automated deployment in the next couple of weeks. Thank God there is somebody at Microsoft who just gets it!!!

I have been putting together a basic platform architectural document for a small start up who want a cheap scalable solution. As this is most likely going to be a Microsoft platform I have been comparing  Azure & Appharbour. At the moment our requirements are not really special or crazy, just basic stuff.

They need a platform that can:

  1. scale as the business scales
  2. supports good engineering practices – e.g. simple to configure Continuous Integration
  3. cheap to get the ball rolling
  4. easy to set-up and configure
  5. offers a good search technology

I dont think that the above is radical, and I would imagine that just about any application would need these basic requirements.

So lets see how Azure fairs:

  1. scale as the business scales – Yes, that’s in the bag
  2. supports good engineering practices – No, this is what you have to do get CI set up for Azure WTF!!!
  3. cheap to get the ball rolling – No, only if you are a member of the Bizspark programme
  4. easy to set-up and configure – Its getting better but still not great
  5. offers a good search technology – There is no good search story on Azure. Currently you have to either implement Lucene yourself  or use Solr on Azure, which I have failed to get working yet.

Ok, so how does AppHarbor fair:

  1. scale as the business scales – Yes, that’s in the bag
  2. supports good engineering practices – CI & unittest built in
  3. cheap to get the ball rolling – Free as in Free Beer for your 1st instance
  4. easy to set-up and configure – Just point it to your online source code repository
  5. offers a good search technology – They had index tank integrated, but Index Tank moved on, so nothing yet. So its going to be Solr on EC2

I find it really frustrating all the good work that has been put into Azure, and the simple fact that to get a build running on a build server is so complicated makes me think that they still just dont get it.

Leave a Comment

Where is Microsoft in the Start-Up space?

Microsoft have been pushing quite hard with their Bizspark programme to get start-ups to use their tech instead of opensource alternatives, however with the total abandonment of a strategy for ecommerce by Microsoft I have been getting a little concerned about the future of ecommerce on the Microsoft Stack.

I have been putting a list of investors, startups & corresponding tech together and its pretty obvious that Microsoft does not feature.

Investors, Start ups & Tech – Google Doc

What is also interesting is that C# is definitely on the rise, however I feel that the index may be slightly skewed due to the recent Windows Build Event  and the buzz around Metro

For ecommerce Magento has become the absolute for runner for anybody wanting to get an online shop knocked up, however I think the one to watch is Spree Commerce. With the new generation of successful ecommerce companies coming out who are shunning the old school enterprise development mentality its looking like its time to retrain.


Leave a Comment

Dynamic C# and Document Databases

An old colleague of mine wrote an excellent post about some of the complexities that are arising from using document databases with statically typed languages. There are certainly quite a few posts floating around not showing how to handle migrations within document databases and the code sure looks ugly.

However I read this article about some of the problems the guys on the Orchard project have had trying to model their CMS viewmodels and the approach they came up with.

So, maybe the use of the new C# 4.0 Dynamic object could solve the issues highlighted in Hugo’s post.

I know the project that I have been working on has struggled with the balance of generic objects in the middle tiers (Products) and then their more specific derivations (MP3Albums, Blu-Ray, etc) that are required on the outer edges of the platform.

I am desperate to have a play with some of these new age toys. Just need to find a good justification to bring some of these  into the project.

Leave a Comment

Dieter Rams’ Ten Principles of good design:

  1. Good design is innovative.
  2. Good design makes a product useful.
  3. Good design is aesthetic.
  4. Good design makes a product understandable.
  5. Good design is unobtrusive.
  6. Good design is honest.
  7. Good design is long-lasting.
  8. Good design is thorough down to the last detail.
  9. Good design is environmentally friendly.
  10. Good design is as little design as possible.

Is there anything else that needs to be said?

    Leave a Comment

    Proposal for a White Hat Stack Exchange Site

    I was recently invited to put together a proposal for a new Stack Exchange site, similar to Stack Overflow, but one begin dedicated to the topic of White Hat SEO. The idea is that if the proposal gets enough discussion the guys who run the Stack Overflow will build and fund the site.

    So please guys go have a look. I have already put loads of great questions up there for voting and now we just need a few followers. So if you are interested in doing SEO write and please follow the proposal and join us on the adventure.

    Stack Exchange Q&A site proposal: White Hat SEO

    Leave a Comment

    Git Vs Mercurial on Windows

    I have been using Git & Unfuddle for a small project where I am the only developer for the past 6 months. After trying a number of confusing things I finally managed to get it working and have been pretty happy until recently. Suddenly I could nope push changes up to my repository, then I could not authenticate to the repository, and then finally I could not even contact the unfuddle website. I tried reinstalling new versions of Git, then got confused again with setting up SSH keys and tunnels etc, etc, etc.

    Enough was enough. Mercurial & Bitbucket to the rescue. 1 hour later I have my source checked back in to a remote repository and it has not cost me any money.

    Bitbucket has the same features as Unfuddle with the same pricing plans. I should also be able to import my old git repository straight into Mercurial.

    UPDATE: Bitbucket has now been take over by Atlassian, what does that mean to you and me? The free plan has unlimited private & public repositories, the only limit is 5 users to your private repositories. I dont think there is another hosted source control out there that is offering anything close.

    Mercurial is incredibly simple to use form the command line, but sometime people prefer the old windows GUI. Well for those people used to Subversion with Tortoise SVN fear not, there is a windows GUI for Mercurial.

    Here is a couple more links for those people who still need convincing.

    Joel on Software – Distributed Version Control is here to stay

    Hg init: a Mercurial tutorial

    Leave a Comment

    A Proposal for a Stack Overflow site dedicated to SEO

    Having been on the hunt lately for good SEO advice I have found that so much information out there is conjecture, as a developer I like quantitive  measurable rules, not qualitative suggestions. Therefore I have proposed a new Stack Overflow site dedicated to SEO. I feel that the Stack Overflow model would be fantastic for helping webmasters filter the wheat from the chaff.

    So, If you like the idea, please read the proposal and give it an up vote.

    Leave a Comment