So I saw the Setting Up a Development environment for SharePoint 2010 was posted on MSDN. I nearly fell off my chair when I read this:
“In any development environment, you should use a computer with an x64-capable CPU, and at least 2 gigabytes (GB) and preferably 4 GB of RAM for SharePoint Foundation, and 6 to 8 GB of RAM for SharePoint Server.”
I think it’s great that Microsoft have been so honest and realistic with these figures, as MOSS2007 recommended RAM was 1Gb, which was a load of tripe!
To give some history on this, I currently battle daily with customers to set up SharePoint Developers with the required environments and have found that the SharePointDevWiki.com “Building a SharePoint Development Environment” page is the most hit on that site.
The current battle
The reason I battle with customers is because most organisations don’t treat Developers properly and give them a workstation the same as every Joe Bloggs who works there. This is probably plausible for running Visual Studio and firing up Cassini web server for ASP.NET development and even running SQL Server 2008 on it.
Then if you want to install MOSS2007 or WSS3.0 you’re adding a whole layer of complexity on top that requires more grunt and usually some isolation that leads to Virtual Machines. This leads to needing at least 2Gb RAM for a guest VM and some left over for the host …so you’re looking at 3-4Gb RAM in a workstation. This is a big push for some Organisations now!
Greedy beast
Step into the SP2010 arena where 64-bit is REQUIRED and now with the statement that at least 2Gb, which I’ve heard just doesn’t cut it if you are working it in every day and you’re looking at a powerful workstation for each Developer! Realistically you’re looking at either using Boot-VHD to jump into a controlled VHD environment to develop and use your whole 4Gb RAM or buying a beast of a new workstation to run it as a guest and still have your host OS available.
You can’t “go dark” to do SharePoint Development
One reason for wanting your host OS available is that you will still want to check e-mails in Outlook, surf the web, use other office apps, iTunes (whatever), Twitter client etc. You get my point, you don’t want to set up these everyday things in each Development environment and you don’t want to have to “go dark” everytime you do SharePoint Development.
Sandboxed Solutions is the answer…
Yes you can use Sandboxed Solutions to have one Development environment and isolate client work but there are limitations to this approach e.g. not being able to use SPLimitedWebPart manager or certain Event Receivers or Job Timers. So it’s not true isolation.
Adoption Issues
I honestly believe that this could become the stumbling block for Organisations moving forward if they can’t commit to purchasing adequate hardware for SharePoint Developers/Customizers. People were saying the 64-bit was going to hurt infrastructure guys, but I can see the RAM in virtualised and physical infrastructure being the big costs here. It’s already an issue where you have to fight for an extra Gb RAM on existing servers.
A Possible Solution
I can see more and more Organisations using a cloud approach for this and hosting SharePoint 2010 environments off-site and just logging into them. This way the workstations they use don’t need 8Gb RAM in them to run SPS2010 and they just pay a monthly fee and remote desktop into them.
I just priced up a new laptop (i7 Core, 8Gb RAM, 256Gb SSD) and it came to over AUD$4500! Now think about the push from Microsoft to get ASP.NET developers across to SharePoint Development. Can you really see them having to spend that much money just to get on board? Not to mention the up skilling to be able to develop on the platform.
I am going to be very interested to see whether being able to install SPF2010 (and SPS2010 ?) on Windows 7 will not require as much power. Although this will clearly have limitations too on what services are running etc.
Please check out my other post on The 12 factors to turn ASP.NET developers to SharePoint 2010 if you found this interesting.