Thursday, August 8, 2013

SharePoint 2013 Development Environment Configuration Best Practice

Development Environment

Development in SharePoint consists of many different types of development. SharePoint Solution development, Web Part development, workflow development, .Net development, SharePoint Apps development, etc..

Therefore, each developer in the SharePoint environment should have their own development virtual server.

A powerful single server farm, i.e. App, Web & DB all on one virtual server. This will give them the ability to create or restore development environments at will, which greatly eases the development process and can speed up delivery.
  • This VM should be hosted on a development dedicated VM host server which will host the entire development environment.
  • Using a Remote Desktop Protocol (RDP) client, your developer has access to a complete environment without making any changes or installations on his local environment.
  • To support each developer and maintain a consistent, known and clean environment, the Development environment will initially consist of two virtual servers. 

Domain Controller
The Domain Controller virtual server will provide AD / DNS services and have Server 2012 installed and configured with 2 cores and 4 GB ram.

SharePoint
The SharePoint virtual server will have Server 2012, SharePoint 2013, SQL 2012 Standard, SQL Server Management Tools, Office 2013, Visual Studio 2012, Microsoft Office Developer Tools for Visual Studio 2012 and SharePoint Designer 2013. To accommodate for combining multiple server roles onto one virtual machine (SQL, .Net, SharePoint), this virtual machine will be configured with 4 cores and 24 GB ram.  

A couple of notes:
  1. Do not share a sql server between development vms. SharePoint developers will need FULL control over their environment, to include SQL server. I have talked to many .Net (no SharePoint experience) developers who can not imagine needing SQL skills... but, make no mistake, SharePoint Solution developers will absolutely require access to SQL. By turning the SQL instance over to each individual developer in their own VM, will remove management of the Dev environment from SharePoint Admins to the developers....
  2. Do add a domain controller for all developers to share.. this will assist with VM cloning (to replace or upgrade developer vms)
This design provides the most comprehensive solution for SharePoint Developers with the least amount of management.

Additionally, ensure the platform includes a farm for the developers to test code in an integrated environment. I call this environment "Integration". This is the next environment up in the life cycle. If possible, use TFS to move code between all life cycles (with exception of DR). QA environment follows, which will provide function, performance and user acceptance testing, therefore needs to be a mirror of production in terms of physical architecture/resources as well as data and features/solutions. Production environment is the next level up...then DR.

No comments:

Post a Comment