Building a SharePoint demonstration environment

I intend to set up a SharePoint Server 2010 demonstration environment, to enhance my training and consultancy.  There are many different options for how I go about this.   I could host it myself.   I could get it hosted by Microsoft, or a third party.  I could install it on an Amazon Web Services EC2.  Below are the pros and cons of these different options, with reference to my situation at this point in time.

Option 1: Install SharePoint Server 2010 on my mac
The first option I looked at was to build a SharePoint Server 2010 environment on my laptop. The fact that my laptop is a mac is not necessarily a show stopper.   There are plenty of discussion board postings from people who have set up development or test environments of SharePoint Server 2010 on MacBook Pros (for example this thread)

SharePoint needs the whole Microsoft stack to run on (Windows operating system, MS SQL Server database, Internet Information Services, and the .Net programming framework). None of these things run on the mac operating system. However that in itself is not too much of a problem. I could purchase virtualisation software (for example VMWare Fusion) to run on the mac. I could install Windows Server 2008 R2, IIS, SQL Server and .Net onto the virual machine, and could then install SharePoint Server 2010.

I would have to shell out for the licences to those products. The best way for me to purchase the licences is via a Technet Professional subscription which currently costs £234 per year.  A licence for VMFusion is currently priced at $79.99.

So far so good, but then I hit a sticking point.  Shane Young in his article ‘Building a Perfect Test Environment for SharePoint 2010’  in the book Real World SharePoint 2010 recommends giving a virtualised test/demo/dev environment of SharePoint 2010 at least 4GB of RAM.  I use a Macbook Air which only has 2GB of RAM. The Air is designed to be lighweight so certain compromises have been made with the design.   One such compromise was that the Air does not allow expansion or upgrade of the RAM.

The option of hosting SharePoint Server 2010 on a device of my own is still open to me if I purchase a new laptop. Aside from the additional cost, this option has the disadvantage of giving me an extra machine to carry around with me. I wanted to avoid that if possible so I decided to look at the cloud options.

Option 2: Software as a service (Microsoft’s SharePoint online offering).
Of all the options open to me this would be the most straightforward. No licences to buy or software to install. Microsoft offer SharePoint online in combination with their online versions of Office and Exchange.  This combined service is currently running under the name of BPOS.   Unfortunately the SharePoint component of BPOS is SharePoint 2007, and I want SharePoint 2010.   BPOS doesn’t have SharePoint 2010 because Microsoft are replacing it with a new service, called Office 365, which does include SharePoint 2010.   Office 365 is in beta at the moment.  This should be an advantage – (because it is free of charge whilst it stays in beta). However there is a waiting list to get onto the beta, and I have no way of telling when or whether I will be provisioned with a beta site.

Option 3: Third party hosting
There are plenty of vendors that offer hosted SharePoint via the cloud. I contacted one of them, Rackspace, and asked if they would offer a SharePoint Server 2010 installation for me. It would have been OK if I had been happy with SharePoint Foundation. SharePoint Foundation is a free downloadable version of SharePoint. It has the basic collaborative features but lacks important features such as My Sites. For the demonstration environment to be any use to me I need SharePoint Server 2010. Rackspace told me that if they were to provide me with SharePoint Server 2010 they would need to kit me out with a dedicated server, and that would cost me $736 per month (which would be like taking out another mortgage!).  I told them my storage requirement would be very very light, and asked why they couldn’t host my SharePoint environment on a virtualised machine on an existing server. They said they couldn’t do that because of Microsoft’s licensing requirements.  It seems like the other vendors are under the same restrictions – look at these monthly prices from FP web

Option 4: Infrastructure as a service: installing SharePoint on Amazon EC2
The final option I have looked at is installing SharePoint Server 2010 on an Amazon EC2 instance. Tristan Watkins has a very useful blogpost about the pros and cons of hosting SharePoint on EC2. In it he explains how to go about setting up SharePoint 2010. The process involves:

  • selecting an Amazon Machine Image which has Windows Server 2008 already installed on it (with the Windows license fees included in the fee),
  • installing MS SQL Server, the rest of the Microsoft stack, and SharePoint 2010 (you would need your own licences for those products)

Here is the full process as described by Tristan:

  • Launch an instance from the default Windows Server 2008 image.
  • Install SQL and SharePoint (this should be possible at just under 30GiB).
  • Configure stuff and shut down the instance.
  • Take a snapshot.
  • Create a new volume at 50GiB based on the snapshot.
  • Detach the existing volume from the instance and attach the new volume.
  • Create an image from the instance.
  • Launch the existing instance and create additional instances from the new AMI as needed.

This looks to be a very complex process, and the pricing model looks complex too.  But it seems far more affordable than the 3rd party hosted services, even allowing for the fact that I would have to buy licences for the products in the Microsoft stack.

If it wasn’t for the fact that I am a MacBook Air user I would have installed SharePoint Server 2010 on my laptop and not looked at the cloud options.  Cloud computing is great when you either

  • want to avoid the trouble of installing and configuring software yourself
  • have a storage requirement that is hard to predict
  • want to avoid buying new hardware

Only the third of these applies to my situation.  I am happy to install the software myself because it would be a useful learning curve for me.  My storage requirement is predictable –  I will put very little stuff into the SharePoint demo environment   But I do want to avoid buying (and having to carry around) a new laptop.  And for that reason I intend to try the Amazon route.

3 thoughts on “Building a SharePoint demonstration environment

  1. Hi, interesting post. I can see why you would prefer the local installation option.

    One conclusion I would add is that cloud is also a practical option if you don’t want to be tied to a single device, for one or more users.

    Also interesting how the licensing model of the organisation (in this case MS) can have an impact on how well a technology transfers to the cloud approach to running/hosting services. Something I would expect to see change as other options become more widely adopted and suppliers see themselves being left behind, or at least a reduction in use or negative feedback from consumers.

  2. How did the Amazon implementation go? Was it as easy to set up as they claim? Alternatively you could buy your own second hand server and set it up in the garage (we have two in there and no space for a car)…That way you have the hardware to set up more virtual machines when needed at no extra cost.

    1. I didn’t have to go down the Amazon route in the end! A kind organisation that I deliver training courses for set me up with a demo SharePoint environment hosted on their servers. Good job really, we don’t have a garage. We have a shed box and it is full of wellington boots, garden tools and dog stuff. Plus the door doesn’t shut properly.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s