INTRODUCTION
SharePoint development is never straight forward due to different options you can go ahead with namely:
1. Setup SharePoint on host and do the full development on host;
2. Use virtual machine (VM) environment to do the development.
I actually want to go a little bit further: that is how to set up the development environment itself to make it as efficient as possible.
BACKGROUND
I have been developing SharePoint for several years and I now have several projects on my development farm: about 15. I rarely delete any project just in case I need to re-visit or maintain it.
As the number increases, the speed is slower. Now I even have to use Powershell to create a new web application because using the GUI will just time out.
In this article I would like to discuss the options I mentioned earlier and the advantages/disadvantages of each option. And also I would like to share with you what I’ve done to make SharePoint development more efficient and time effective.
SPECS
Machine/VM specs is crucial in SharePoint development. 16GB of RAM is minimum especially SP 2013’s search services already occupy 3-4 GB of your RAM.
SSD is definitely required. I still remembered those days when I used 7200RPM disk for SP development, comparing it with the SSD I’m running right now, it’s way way much slower on the 7200 RPM.
VM vs HOST
I prefer using the host to be my development environment. I have tried several times before using VM with different configurations eg. internal SSD disk, external SSD disk, etc and just didn’t work well for me. The performance is way too slow. Obviously using VMs you have the benefit of destroying it and re-creating it easily should you make mistake or corrupt its configuration in any way. However, it comes with so many limitations eg. Internet access, backing-up files, risk of losing the source code, etc. All of these are configurable through the VM/Hyper-V console but you just have to spend a bit more time in the beginning to get it right. Then VM will also consume your host resources so you can’t utilise 100% of your resources.
Using host I find development a lot quicker. It will also enable you to utilise 100% of your host resources. The problem with this though is when you corrupt a configuration and you wish to re-install/re-configure. Obviously it will be very cumbersome to reformat your computer. I’m very lucky though because it never occurs to me that I need to reformat my laptop simply because I didn’t install SharePoint correctly.
Using VM as your development environment will only work if your host has a lot of resources and fast processors. At this particular client they run a proper racked-server with thousands of gigs of RAM and also top-of-the-range CPU. The DEV VM they provisioned for me was way faster than my laptop. However, at any other case where I have to use my laptop, using the host still works better for me.
SHAREPOINT CONFIGURATION
I have now consolidated my SharePoint web applications into just one. Rather than having one web app per project, I just use one. If I need to switch project, I simply do database backup/restore/detach/attach. This appears to be the quickest for me. When you only have one web application running on your farm, whenever you do WSP update, you only need to wait for few seconds. But if you start having more than 5, this will be 5-7 minute wait depending on how fast your processor is.
My laptop is i7 -3632QM with 16GB of RAM and 512GB SSD. When I had 10 web app running on it, it took me about 5 minutes everytime I do WSP update. And not just that, with 10 web app you can no longer use the Central Admin GUI to create, update or delete web app. It will just timeout most of the time especially the web app creation.
NOTE: I’ve also turned on virtualisation functionality in BIOS and my laptop running full power plan. So it’s the highest top performance option I can set on the laptop.
With backup/restore/detach/attach all you need to worry about is to ensure that all dependent solutions WSP are deployed to the web app. You can also play around with the alternate access mappings (AAM) to change the URL.
CONCLUSION
I’m now pretty happy with my configuration. Updating a WSP is only taking me about 30 seconds down from 5 minutes.
I still prefer developing from host because I get all my development tools, etc all installed in the centralised place rather than having to install on various DEV VMs for different purpose/project.
Would love to hear your thoughts,
Tommy
We provides you the best Services in our themes.
Click on the link below to see a full list of clients which we have developed solutions and provided consultancy for.
We are solution-centered and not application-centered.
Being creative and having fun and yet still delivering a fantastic service is the center of our values.
TFS Consulting Services guarantees delivery that is within budget and deadline or you engage us for free.
Implementing IT solution does not have to be difficult. TFS Consulting Services has a lot of resources on planning and methodologies that will ensure successful delivery of your IT solution. TFS Consulting Services has been around in the web industry for more than 10 years and has experienced all the successes and failures of various type of IT deployment.
Do you need a technical resource? TFS Consulting Services can also provide you with technical resource for developing ASP.NET (C# and VB.NET), SharePoint (2003, 2007, 2010, 2013) and MS CRM applications. Our resource is an Microsoft Certified Personnel (MVP) and Microsoft Certified Technology Specialist (MCTS) in all ASP.NET, SharePoint and CRM.
Make sure your IT implementation is robust and scalable. TFS Consulting Services can provide consulting and advice on industry’s best practice on various web-related areas such as website security, design and usability, application-specific (such as SharePoint)’s best practice, Search Engine Optimisation (SEO), coding standards and many others.
Finally TFS Consulting Services provides you with solution development service. We mainly work with Microsoft technologies (ie. .NET and SQL Server), however we are also capable of developing with PHP and MySQL. If you ever need any business process automation, integration and solution development work, we are the trusted expert you should go to.
For more detailed service offerings please visit our Solutions page.
Tommy Segoro
tommy@tfsconsulting.com.au
+61 404 457 754
© TFS Consulting Services 2024. All rights reserved.